@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-border-style:solid;--tw-leading:initial;--tw-font-weight: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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--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-duration:initial;--tw-ease:initial;--tw-content:"";--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}}}@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-black:#000;--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--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);--font-weight-medium:500;--font-weight-semibold:600;--radius-xs:.125rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--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(--background);color:var(--foreground)}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-4{top:calc(var(--spacing) * 4)}.top-\[50\%\]{top:50%}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.left-\[50\%\]{left:50%}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.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-1{margin-inline:calc(var(--spacing) * -1)}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-4{margin-top:calc(var(--spacing) * 4)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.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-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.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-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-px{height:1px}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--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-default{cursor:default}.scroll-my-1{scroll-margin-block:calc(var(--spacing) * 1)}.auto-rows-min{grid-auto-rows:min-content}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap: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-6{gap:calc(var(--spacing) * 6)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.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-border{border-color:var(--border)}.border-input{border-color:var(--input)}.border-transparent{border-color:#0000}.bg-background{background-color:var(--background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-muted,.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-6{padding:calc(var(--spacing) * 6)}.p-\[3px\]{padding:3px}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-6{padding-block:calc(var(--spacing) * 6)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pl-2{padding-left:calc(var(--spacing) * 2)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.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))}.leading-none{--tw-leading:1;line-height:1}.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)}.whitespace-nowrap{white-space:nowrap}.text-card-foreground{color:var(--card-foreground)}.text-foreground,.text-foreground\/60{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/60{color:color-mix(in oklab,var(--foreground) 60%,transparent)}}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.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-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px 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-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-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)}.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)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-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-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))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.running{animation-play-state:running}.group-data-\[orientation\=horizontal\]\/tabs\:h-9:is(:where(.group\/tabs)[data-orientation=horizontal] *){height:calc(var(--spacing) * 9)}.group-data-\[orientation\=vertical\]\/tabs\:h-fit:is(:where(.group\/tabs)[data-orientation=vertical] *){height:fit-content}.group-data-\[orientation\=vertical\]\/tabs\:w-full:is(:where(.group\/tabs)[data-orientation=vertical] *){width:100%}.group-data-\[orientation\=vertical\]\/tabs\:flex-col:is(:where(.group\/tabs)[data-orientation=vertical] *){flex-direction:column}.group-data-\[orientation\=vertical\]\/tabs\:justify-start:is(:where(.group\/tabs)[data-orientation=vertical] *){justify-content:flex-start}.group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *){background-color:#0000}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.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\: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\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.group-data-\[orientation\=horizontal\]\/tabs\:after\:inset-x-0:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);inset-inline:calc(var(--spacing) * 0)}.group-data-\[orientation\=horizontal\]\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);bottom:-5px}.group-data-\[orientation\=horizontal\]\/tabs\:after\:h-0\.5:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);height:calc(var(--spacing) * .5)}.group-data-\[orientation\=vertical\]\/tabs\:after\:inset-y-0:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.group-data-\[orientation\=vertical\]\/tabs\:after\:-right-1:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);right:calc(var(--spacing) * -1)}.group-data-\[orientation\=vertical\]\/tabs\:after\:w-0\.5:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);width:calc(var(--spacing) * .5)}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary) 80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.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-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--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\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.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-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[orientation\=horizontal\]\:flex-col[data-orientation=horizontal]{flex-direction:column}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing) * 9)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing) * 8)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing) * 2)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.group-data-\[variant\=default\]\/tabs-list\:data-\[state\=active\]\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *)[data-state=active]{--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)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{--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)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]:after{content:var(--tw-content);opacity:1}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}@media(min-width:40rem){.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}}@media(min-width:48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media(prefers-color-scheme:dark){.dark\:border-input{border-color:var(--input)}.dark\:bg-destructive\/60{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60{background-color:color-mix(in oklab,var(--destructive) 60%,transparent)}}.dark\:bg-input\/30{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30{background-color:color-mix(in oklab,var(--input) 30%,transparent)}}.dark\:text-muted-foreground{color:var(--muted-foreground)}@media(hover:hover){.dark\:hover\:bg-accent\/50:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:hover{background-color:color-mix(in oklab,var(--accent) 50%,transparent)}}.dark\:hover\:bg-input\/50:hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:hover{background-color:color-mix(in oklab,var(--input) 50%,transparent)}}.dark\:hover\:text-foreground:hover{color:var(--foreground)}}.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:data-\[state\=active\]\:border-input[data-state=active]{border-color:var(--input)}.dark\:data-\[state\=active\]\:bg-input\/30[data-state=active]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[state\=active\]\:bg-input\/30[data-state=active]{background-color:color-mix(in oklab,var(--input) 30%,transparent)}}.dark\:data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:border-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{border-color:#0000}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing) * 0)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing) * 6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing) * 6)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media(hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--secondary) 90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}a.\[a\&\]\:hover\:underline:hover{text-decoration-line:underline}}}@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}:root{--fn-bg:#080808;--fn-surface:#141416;--fn-surface-2:#1a1a1d;--fn-surface-3:#212124;--fn-border:#2a2a2e;--fn-border-light:#3a3a3e;--fn-text:#e4e4e7;--fn-text-muted:#a1a1aa;--fn-text-dim:#71717a;--fn-accent:#a5ea07;--fn-accent-hover:#b8f028;--fn-accent-dim:#a5ea0726;--fn-secondary:#ff8c00;--fn-secondary-hover:#ffa033;--fn-secondary-dim:#ff8c0026;--fn-success:#22c55e;--fn-warning:#eab308;--fn-error:#ef4444;--fn-radius:8px;--fn-radius-lg:12px;--radius:.5rem;--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(16% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(16% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(82% .2 128);--primary-foreground:oklch(14.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(82% .2 128);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(16% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(82% .2 128);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0);color:var(--fn-text);background-color:var(--fn-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3{font-family:Poppins,Inter,system-ui,sans-serif}button{cursor:pointer;font-family:inherit}input,textarea{font-family:inherit}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-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-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@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}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--fn-bg);padding:24px}.error-boundary-content{max-width:480px;text-align:center}.error-boundary-icon{font-size:48px;display:block;margin-bottom:16px}.error-boundary-title{font-size:24px;font-weight:700;color:var(--fn-text);margin:0 0 8px}.error-boundary-message{font-size:14px;color:var(--fn-text-muted);margin:0 0 24px;line-height:1.6}.error-boundary-details{text-align:left;margin-bottom:24px;background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:8px;padding:12px}.error-boundary-details summary{font-size:12px;color:var(--fn-text-muted);cursor:pointer;font-weight:600}.error-boundary-details pre{font-size:11px;color:#ff6b6b;margin:8px 0 0;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto}.error-boundary-actions{display:flex;gap:12px;justify-content:center}.toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:8px;max-width:400px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:10px;font-size:13px;font-weight:500;color:var(--fn-text);background:var(--fn-surface);border:1px solid var(--fn-border);box-shadow:0 8px 24px #0000004d;pointer-events:auto;animation:toast-in .3s ease}@keyframes toast-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.toast-icon{font-size:16px;font-weight:800;flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%}.toast-success .toast-icon{background:#a5ea0726;color:var(--fn-accent)}.toast-error .toast-icon{background:#ff6b6b26;color:#ff6b6b}.toast-info .toast-icon{background:#64a0ff26;color:#64a0ff}.toast-warn .toast-icon{background:#ffc10726;color:#ffc107}.toast-success{border-color:#a5ea074d}.toast-error{border-color:#ff6b6b4d}.toast-info{border-color:#64a0ff4d}.toast-warn{border-color:#ffc1074d}.toast-message{flex:1;line-height:1.4}.toast-dismiss{background:none;border:none;color:var(--fn-text-muted);cursor:pointer;padding:2px 4px;font-size:14px;opacity:.5;transition:opacity .2s}.toast-dismiss:hover{opacity:1}.profile-field-error input,.profile-field-error select{border-color:#ff6b6b;box-shadow:0 0 0 2px #ff6b6b26}.profile-field-error-msg{display:block;font-size:11px;color:#ff6b6b;margin-top:4px;line-height:1.3}.profile-unsaved-dot{display:inline-block;width:8px;height:8px;background:#ffc107;border-radius:50%;margin-left:8px;vertical-align:middle;animation:unsaved-pulse 1.5s ease-in-out infinite}@keyframes unsaved-pulse{0%,to{opacity:1}50%{opacity:.4}}.onboarding-overlay{position:fixed;inset:0;background:#000000b3;z-index:2000;animation:profile-fade-in .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.onboarding-wizard{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:20px;padding:40px;z-index:2100;width:460px;max-width:90vw;max-height:85vh;overflow-y:auto;box-shadow:0 24px 64px #00000080,0 0 0 1px #a5ea071a;animation:onboarding-pop .4s cubic-bezier(.34,1.56,.64,1)}@keyframes onboarding-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.onboarding-progress{display:flex;justify-content:center;gap:8px;margin-bottom:28px}.onboarding-dot{width:8px;height:8px;border-radius:50%;background:var(--fn-border);transition:all .3s ease}.onboarding-dot-active{background:var(--fn-accent)}.onboarding-dot-current{width:24px;border-radius:4px}.onboarding-step{text-align:center}.onboarding-emoji{font-size:56px;display:block;margin-bottom:16px}.onboarding-title{font-size:22px;font-weight:700;color:var(--fn-text);margin:0 0 12px}.onboarding-text{font-size:14px;color:var(--fn-text-muted);line-height:1.6;margin:0 0 28px}.onboarding-fields{text-align:left;margin-bottom:24px}.onboarding-fields .profile-field{margin-bottom:16px}.onboarding-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:4px}.onboarding-type-btn{padding:10px 8px;background:var(--fn-bg);border:1px solid var(--fn-border);border-radius:10px;color:var(--fn-text);font-size:13px;cursor:pointer;transition:all .2s}.onboarding-type-btn:hover{border-color:var(--fn-accent);background:#a5ea070d}.onboarding-type-active{border-color:var(--fn-accent);background:#a5ea071a;color:var(--fn-accent);font-weight:600}.onboarding-actions{display:flex;justify-content:center;gap:12px}.onboarding-btn{min-width:160px;padding:12px 24px;font-size:15px}.onboarding-btn-skip{font-size:13px;opacity:.7}.suppliers-page{padding:24px;max-width:1200px;margin:0 auto}.suppliers-header{display:flex;align-items:baseline;gap:16px;margin-bottom:24px}.suppliers-header h2{color:var(--fn-text)}.suppliers-count{font-size:13px;color:var(--fn-text-dim)}.suppliers-layout{display:grid;grid-template-columns:300px 1fr;gap:24px;min-height:500px}.suppliers-list{display:flex;flex-direction:column;gap:6px;overflow-y:auto;max-height:calc(100vh - 200px)}.supplier-country-filter{display:flex;flex-wrap:wrap;gap:4px;padding:4px 0 8px;border-bottom:1px solid var(--fn-border);margin-bottom:6px}.supplier-country-filter-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--fn-radius);border:1px solid var(--fn-border);background:var(--fn-surface);color:var(--fn-text-dim);font-size:12px;cursor:pointer;transition:all .15s}.supplier-country-filter-btn:hover{background:var(--fn-surface-2);border-color:var(--fn-border-light)}.supplier-country-filter-btn.active{background:var(--fn-surface-2);border-color:var(--fn-secondary);color:var(--fn-text)}.supplier-country-filter-count{font-size:10px;opacity:.6}.supplier-card-flag{font-size:14px;margin-left:4px;flex-shrink:0}.suppliers-empty{display:flex;flex-direction:column;align-items:center;padding:48px 16px;color:var(--fn-text-dim)}.supplier-card{display:block;width:100%;text-align:left;padding:12px 16px;border-radius:var(--fn-radius);border:1px solid var(--fn-border);background:var(--fn-surface);color:var(--fn-text);cursor:pointer;transition:all .15s}.supplier-card:hover{background:var(--fn-surface-2);border-color:var(--fn-border-light);box-shadow:0 2px 8px #0003}.supplier-card.active{border-color:var(--fn-secondary);background:var(--fn-surface-2)}.supplier-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.supplier-card-name{font-weight:600;font-size:14px}.supplier-badge.inactive{font-size:10px;padding:2px 6px;border-radius:4px;background:#ef444426;color:var(--fn-error)}.supplier-card-meta{display:flex;align-items:center;gap:12px;margin-top:4px;font-size:12px;color:var(--fn-text-dim)}.supplier-card-date{margin-left:auto}.supplier-detail{background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:var(--fn-radius-lg);padding:24px;overflow-y:auto;max-height:calc(100vh - 200px)}.supplier-detail-empty,.supplier-detail-loading{display:flex;align-items:center;justify-content:center;min-height:300px;color:var(--fn-text-dim)}.app{min-height:100vh;display:flex;flex-direction:column}.header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:var(--fn-surface);border-bottom:1px solid var(--fn-border);gap:16px;position:relative;z-index:2}.header-actions{display:flex;align-items:center;gap:12px}.header-divider{width:1px;height:24px;background:var(--fn-border);flex-shrink:0}.header-locale-group{display:flex;align-items:center;gap:6px}.header-user-group{display:flex;align-items:center;gap:8px}.header-user-name{font-size:13px;color:var(--fn-text-muted);white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis}.header-brand{display:flex;align-items:center;gap:12px}.header-logo{height:24px;width:auto}.header-beam-icon{font-size:24px;line-height:1;position:relative;animation:beam-hover 3s ease-in-out infinite;filter:drop-shadow(0 0 6px #a5ea07) drop-shadow(0 0 12px #a5ea0760)}.header-beam-icon:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:6px;height:10px;background:linear-gradient(180deg,#a5ea07aa 0%,transparent 100%);border-radius:0 0 3px 3px;animation:beam-light 3s ease-in-out infinite;pointer-events:none}@keyframes beam-hover{0%,to{transform:translateY(0);filter:drop-shadow(0 0 4px #a5ea0750) drop-shadow(0 0 8px #a5ea0730)}50%{transform:translateY(-3px);filter:drop-shadow(0 0 10px #a5ea07) drop-shadow(0 0 24px #a5ea07aa) drop-shadow(0 0 40px #a5ea0750)}}@keyframes beam-light{0%,to{width:4px;height:8px;opacity:.3;background:linear-gradient(180deg,#a5ea0760 0%,transparent 100%)}50%{width:14px;height:14px;opacity:1;background:linear-gradient(180deg,#a5ea07cc 0%,#a5ea0730 60%,transparent 100%)}}.header-title{display:flex;flex-direction:column;gap:0;line-height:1.2}.header-title-brand{font-size:16px;font-weight:800;color:var(--fn-accent);letter-spacing:.12em}.beam-letter{display:inline;color:var(--fn-accent)}.header-title-full{font-size:12px;font-weight:500;color:var(--fn-text-secondary);letter-spacing:.02em;margin-top:1px}.header-subtitle{font-size:10px;font-weight:400;color:var(--fn-text-dim);letter-spacing:.01em;font-style:italic}.header-badge{font-size:11px;padding:2px 8px;border-radius:99px;background:var(--fn-accent-dim);color:var(--fn-accent);font-weight:500}.header-badge-helm{background:none;padding:0;display:flex;align-items:center;color:var(--fn-accent);filter:drop-shadow(0 0 6px rgba(165,234,7,.35))}.autobot-logo{display:block;height:24px;width:22px}.lang-switcher{position:relative}.lang-switcher-btn{display:flex;align-items:center;gap:3px;padding:4px 8px;background:transparent;border:1px solid var(--fn-border);border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;color:var(--fn-text-muted);transition:all .2s;white-space:nowrap}.lang-switcher-btn:hover{border-color:var(--fn-accent);color:var(--fn-accent);background:#a5ea070f}.lang-switcher-ufo{font-size:14px;transition:transform .3s}.lang-switcher-btn:hover .lang-switcher-ufo{transform:translateY(-2px)}.lang-switcher-code{letter-spacing:.5px}.lang-switcher-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:180px;background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:10px;box-shadow:0 8px 24px #0006;z-index:200;overflow:hidden;animation:langDropIn .15s ease-out}@keyframes langDropIn{0%{opacity:0;transform:translateY(-6px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.lang-switcher-option{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:transparent;border:none;cursor:pointer;font-size:13px;color:var(--fn-text);transition:background .15s;text-align:left}.lang-switcher-option:hover{background:#a5ea0714}.lang-switcher-option.lang-active{background:#a5ea071f;color:var(--fn-accent)}.lang-option-planet{font-size:16px}.lang-option-code{font-weight:700;font-size:12px;min-width:24px;opacity:.7}.lang-option-label{flex:1}.lang-option-check{color:var(--fn-accent);font-weight:700}.country-switcher{position:relative}.country-switcher-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;background:transparent;border:1px solid var(--fn-border);border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;color:var(--fn-text-muted);transition:all .2s;white-space:nowrap}.country-switcher-btn:hover{border-color:var(--fn-accent);color:var(--fn-accent);background:#a5ea070f}.country-switcher-flag{font-size:15px;line-height:1}.country-switcher-code{letter-spacing:.5px}.country-switcher-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:200px;max-height:400px;overflow-y:auto;background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:10px;box-shadow:0 8px 24px #0006;z-index:200;animation:countryDropIn .15s ease-out}@keyframes countryDropIn{0%{opacity:0;transform:translateY(-6px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.country-switcher-header{padding:8px 14px 6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--fn-text-muted);border-bottom:1px solid var(--fn-border)}.country-switcher-option{display:flex;align-items:center;gap:8px;width:100%;padding:9px 14px;background:transparent;border:none;cursor:pointer;font-size:13px;color:var(--fn-text);transition:background .15s;text-align:left}.country-switcher-option:hover{background:#a5ea0714}.country-switcher-option.country-active{background:#a5ea071f;color:var(--fn-accent)}.country-option-flag{font-size:16px}.country-option-code{font-weight:700;font-size:12px;min-width:24px;opacity:.7}.country-option-name{flex:1}.country-option-check{color:var(--fn-accent);font-weight:700;font-size:14px}.country-switcher-divider{height:1px;background:var(--fn-border);margin:4px 0}.country-switcher-more-btn{display:flex;align-items:center;gap:8px;width:100%;padding:8px 14px;border:none;background:transparent;color:var(--fn-text-muted);font-size:12px;cursor:pointer;text-align:left}.country-switcher-more-btn:hover{background:#a5ea070f;color:var(--fn-text)}.country-switcher-more-section{border-top:1px solid var(--fn-border)}.country-switcher-option-other{opacity:.7}.country-switcher-option-other:hover{opacity:1}.step-indicator{display:flex;align-items:center;gap:6px;font-size:12px}.step{color:var(--fn-text-dim);padding:2px 8px;border-radius:4px}.step.active{color:var(--fn-accent);background:var(--fn-accent-dim);font-weight:600}.step.done{color:var(--fn-secondary)}.step-sep{color:var(--fn-text-dim);font-size:10px}.nav-more-wrap{position:relative}.nav-more-btn{border:none;background:none;cursor:pointer;font-family:inherit;letter-spacing:1px}.nav-more-dropdown{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);min-width:150px;background:var(--fn-surface-2);border:1px solid var(--fn-border);border-radius:10px;padding:4px;box-shadow:0 8px 24px #00000040;z-index:100;display:flex;flex-direction:column;gap:2px;animation:navDropFade .15s ease}@keyframes navDropFade{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.nav-more-item{display:block;padding:8px 16px;font-size:13px;font-weight:500;color:var(--fn-text-muted);text-decoration:none;border-radius:7px;transition:all .15s ease;white-space:nowrap}.nav-more-item:hover{color:var(--fn-text);background:var(--fn-surface-3)}.nav-more-item-active{color:#080808;background:var(--fn-accent);font-weight:600}.header-user-phone{font-size:13px;color:var(--fn-text-muted);white-space:nowrap}.header-logout-btn{font-size:11px;padding:4px 8px;color:var(--fn-text-dim);border:1px solid transparent;border-radius:6px;background:transparent;cursor:pointer;transition:all .2s}.header-logout-btn:hover{color:var(--fn-error);border-color:var(--fn-error);background:#ef44440f}.placeholder-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:16px;text-align:center}.placeholder-icon{font-size:56px;line-height:1;filter:grayscale(.3);animation:placeholder-float 3s ease-in-out infinite}@keyframes placeholder-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.placeholder-title{font-size:22px;font-weight:700;color:var(--fn-text)}.placeholder-text{font-size:14px;color:var(--fn-text-muted);max-width:400px;line-height:1.6}@media(max-width:900px){.header-title-full,.header-subtitle{display:none}.header{padding:10px 16px;gap:10px}.header-brand{gap:8px}.main{padding:16px}}@media(max-width:768px){.header-user-name,.header-divider,.header-logo{display:none}.header-brand{gap:4px;min-width:unset}.header-actions{gap:4px}.nav-tab{font-size:11px;padding:5px 6px}.header-beam-icon{font-size:16px}.header-title-brand{font-size:12px}.header-logout-btn{font-size:11px;padding:4px 6px;min-width:unset}.header-locale-group{margin:0}}@media(max-width:640px){.header{flex-wrap:wrap;padding:8px 12px}.header-actions{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.header-actions::-webkit-scrollbar{display:none}.header-nav{flex-wrap:nowrap;gap:2px}.nav-tab{white-space:nowrap;font-size:11px;padding:5px 8px}}.space-bg{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.star-field{position:absolute;top:0;left:0;width:1px;height:1px;border-radius:50%;background:transparent}.star-sm{animation:star-twinkle-slow 6s ease-in-out infinite alternate}.star-md{width:2px;height:2px;animation:star-twinkle-slow 8s ease-in-out infinite alternate;animation-delay:-3s}.star-accent{width:2px;height:2px;animation:star-twinkle-accent 5s ease-in-out infinite alternate;animation-delay:-1s}@keyframes star-twinkle-slow{0%{opacity:.3}to{opacity:.85}}@keyframes star-twinkle-accent{0%{opacity:.2;filter:drop-shadow(0 0 1px rgba(163,230,53,.3))}to{opacity:.7;filter:drop-shadow(0 0 4px rgba(163,230,53,.6))}}.shooting-star{position:absolute;width:80px;height:1px;background:linear-gradient(90deg,rgba(163,230,53,.9),rgba(163,230,53,.3) 40%,transparent);border-radius:1px;opacity:0;transform:rotate(-35deg);filter:drop-shadow(0 0 3px rgba(163,230,53,.5))}.ss-1{top:12%;right:-120px;width:90px;animation:shoot-star 14s ease-in infinite;animation-delay:3s}.ss-2{top:40%;right:-120px;width:60px;transform:rotate(-42deg);animation:shoot-star 20s ease-in infinite;animation-delay:9s}.ss-3{top:68%;right:-120px;width:110px;transform:rotate(-28deg);animation:shoot-star 26s ease-in infinite;animation-delay:17s}@keyframes shoot-star{0%{opacity:0;transform:rotate(-35deg) translate(0)}0.5%{opacity:.9}2.5%{opacity:0;transform:rotate(-35deg) translate(-110vw)}to{opacity:0;transform:rotate(-35deg) translate(0)}}.space-debris{position:absolute;font-size:22px;opacity:0;pointer-events:none;will-change:transform,opacity}.sd-1{top:18%;left:85%;animation:debris-drift-1 45s linear infinite}.sd-2{top:65%;left:3%;font-size:18px;animation:debris-drift-2 55s linear infinite;animation-delay:-18s}.sd-3{top:82%;left:55%;font-size:16px;animation:debris-drift-3 60s linear infinite;animation-delay:-30s}.sd-4{top:35%;left:40%;font-size:14px;animation:debris-drift-4 50s linear infinite;animation-delay:-10s}@keyframes debris-drift-1{0%{transform:translate(0) rotate(0);opacity:0}3%{opacity:.08}50%{transform:translate(-350px,180px) rotate(200deg);opacity:.1}97%{opacity:.07}to{transform:translate(-700px,360px) rotate(400deg);opacity:0}}@keyframes debris-drift-2{0%{transform:translate(0) rotate(0);opacity:0}4%{opacity:.07}50%{transform:translate(280px,-120px) rotate(-180deg);opacity:.09}96%{opacity:.06}to{transform:translate(560px,-240px) rotate(-360deg);opacity:0}}@keyframes debris-drift-3{0%{transform:translate(0) rotate(0);opacity:0}5%{opacity:.06}50%{transform:translate(-200px,-150px) rotate(160deg);opacity:.08}95%{opacity:.05}to{transform:translate(-400px,-300px) rotate(320deg);opacity:0}}@keyframes debris-drift-4{0%{transform:translate(0) rotate(0);opacity:0}6%{opacity:.05}50%{transform:translate(180px,220px) rotate(-140deg);opacity:.07}94%{opacity:.04}to{transform:translate(360px,440px) rotate(-280deg);opacity:0}}@media(prefers-reduced-motion:reduce){.star-field,.shooting-star,.space-debris,.bg-ufo{animation:none!important}.star-sm,.star-md,.star-accent{opacity:.4}}.bg-ufos{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.bg-ufos:before{content:"";position:absolute;top:30%;left:50%;width:800px;height:800px;transform:translate(-50%,-50%);background:radial-gradient(ellipse,rgba(165,234,7,.04) 0%,transparent 65%);pointer-events:none}.bg-ufo{position:absolute;opacity:0;will-change:transform,opacity}.bg-ufo-1{top:8%;left:6%;opacity:.1;animation:bg-ufo-drift-1 28s ease-in-out infinite}.bg-ufo-2{top:55%;right:4%;opacity:.07;animation:bg-ufo-drift-2 34s ease-in-out infinite}.bg-ufo-3{bottom:12%;left:15%;opacity:.08;animation:bg-ufo-drift-3 24s ease-in-out infinite}.bg-ufo-4{top:30%;right:18%;opacity:.06;animation:bg-ufo-drift-4 40s ease-in-out infinite}@keyframes bg-ufo-drift-1{0%,to{transform:translate(0) rotate(0);opacity:.1}25%{transform:translate(20px,12px) rotate(3deg);opacity:.13}50%{transform:translate(-8px,24px) rotate(-2deg);opacity:.08}75%{transform:translate(14px,-6px) rotate(2deg);opacity:.12}}@keyframes bg-ufo-drift-2{0%,to{transform:translate(0) rotate(0);opacity:.07}33%{transform:translate(-18px,-10px) rotate(-3deg);opacity:.1}66%{transform:translate(12px,16px) rotate(2deg);opacity:.06}}@keyframes bg-ufo-drift-3{0%,to{transform:translate(0) rotate(0);opacity:.08}30%{transform:translate(16px,-14px) rotate(4deg);opacity:.11}60%{transform:translate(-12px,8px) rotate(-1deg);opacity:.07}}@keyframes bg-ufo-drift-4{0%,to{transform:translate(0) rotate(0);opacity:.06}40%{transform:translate(-10px,20px) rotate(-2deg);opacity:.09}80%{transform:translate(8px,-12px) rotate(3deg);opacity:.05}}.main{flex:1;padding:24px;max-width:1400px;width:100%;margin:0 auto;position:relative;z-index:1}.page-loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:#fff6;font-size:14px}.upload-container{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:24px;position:relative;overflow:hidden}.upload-container:before{content:"";position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,#a5ea0708 0%,transparent 70%);pointer-events:none;z-index:0;animation:ambient-pulse 6s ease-in-out infinite}@keyframes ambient-pulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.15);opacity:1}}.ufo-fleet{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.ufo-agent-wrapper{position:absolute;left:0;opacity:0;will-change:transform,opacity,filter}.ufo-ship{display:block;line-height:1}.ufo-cargo{position:absolute;left:50%;top:100%;transform:translate(-50%,30px) scale(.4);opacity:0;line-height:1;filter:drop-shadow(0 0 0 transparent);will-change:transform,opacity,filter;animation:cargo-beam-up cubic-bezier(.1,0,.2,1) infinite}.ufo-dir-right{animation:ufo-fly-right ease-in-out infinite}.ufo-dir-left{animation:ufo-fly-left ease-in-out infinite}.ufo-dir-down{animation:ufo-fly-down ease-in-out infinite}.ufo-dir-up{animation:ufo-fly-up ease-in-out infinite}.ufo-dir-diag-dr{animation:ufo-fly-diag-dr ease-in-out infinite}.ufo-dir-diag-dl{animation:ufo-fly-diag-dl ease-in-out infinite}@keyframes ufo-fly-right{0%{transform:translate(0) rotate(-10deg) scaleX(.6);opacity:0;filter:drop-shadow(0 0 0 transparent)}4%{opacity:calc(var(--ufo-opacity, .12) * .5);filter:drop-shadow(10px 0 8px #a5ea0740)}10%{transform:translate(calc(calc(var(--ufo-hover, 40) * 1vw) - 60px)) rotate(-4deg) scaleX(1.3);opacity:calc(var(--ufo-opacity, .12) * .7);filter:drop-shadow(-16px 0 12px #a5ea0770)}15%{transform:translate(calc(var(--ufo-hover, 40) * 1vw)) rotate(3deg) scale(1.12);opacity:var(--ufo-opacity, .15);filter:drop-shadow(0 0 10px #a5ea07cc) drop-shadow(0 6px 14px #a5ea0770)}22%{transform:translate(calc(var(--ufo-hover, 40) * 1vw)) translateY(-6px) rotate(-1deg) scale(1);opacity:var(--ufo-opacity, .15);filter:drop-shadow(0 0 8px #a5ea0790) drop-shadow(0 10px 20px #a5ea0760)}30%{transform:translate(calc(var(--ufo-hover, 40) * 1vw)) translateY(-2px) rotate(1.5deg) scale(1);opacity:calc(var(--ufo-opacity, .15) * 1.3);filter:drop-shadow(0 0 14px #a5ea07ee) drop-shadow(0 14px 28px #a5ea0790)}38%{transform:translate(calc(var(--ufo-hover, 40) * 1vw)) translateY(-8px) rotate(-1deg) scale(1);opacity:var(--ufo-opacity, .15);filter:drop-shadow(0 0 6px #a5ea0770) drop-shadow(0 8px 16px #a5ea0740)}48%{transform:translate(calc(calc(var(--ufo-hover, 40) * 1vw) + 30px)) rotate(6deg) scaleX(1.15);opacity:calc(var(--ufo-opacity, .12) * .8);filter:drop-shadow(-8px 0 10px #a5ea0750)}60%{transform:translate(105vw) rotate(10deg) scaleX(.5);opacity:calc(var(--ufo-opacity, .12) * .3);filter:drop-shadow(-20px 0 14px #a5ea0730)}66%{opacity:0}to{transform:translate(0) rotate(-10deg) scaleX(.6);opacity:0;filter:drop-shadow(0 0 0 transparent)}}@keyframes ufo-fly-left{0%{transform:translate(0) rotate(10deg) scaleX(.6);opacity:0;filter:drop-shadow(0 0 0 transparent)}4%{opacity:calc(var(--ufo-opacity, .12) * .5);filter:drop-shadow(-10px 0 8px #a5ea0740)}10%{transform:translate(calc(-1 * (100vw - calc(var(--ufo-hover, 40) * 1vw)) + 60px)) rotate(4deg) scaleX(1.3);opacity:calc(var(--ufo-opacity, .12) * .7);filter:drop-shadow(16px 0 12px #a5ea0770)}15%{transform:translate(calc(-1 * (100vw - calc(var(--ufo-hover, 40) * 1vw)))) rotate(-3deg) scale(1.12);opacity:var(--ufo-opacity, .15);filter:drop-shadow(0 0 10px #a5ea07cc) drop-shadow(0 6px 14px #a5ea0770)}22%{transform:translate(calc(-1 * (100vw - calc(var(--ufo-hover, 40) * 1vw)))) translateY(-6px) rotate(1deg) scale(1);opacity:var(--ufo-opacity, .15);filter:drop-shadow(0 0 8px #a5ea0790) drop-shadow(0 10px 20px #a5ea0760)}30%{transform:translate(calc(-1 * (100vw - calc(var(--ufo-hover, 40) * 1vw)))) translateY(-2px) rotate(-1.5deg) scale(1);opacity:calc(var(--ufo-opacity, .15) * 1.3);filter:drop-shadow(0 0 14px #a5ea07ee) drop-shadow(0 14px 28px #a5ea0790)}38%{transform:translate(calc(-1 * (100vw - calc(var(--ufo-hover, 40) * 1vw)))) translateY(-8px) rotate(1deg) scale(1);opacity:var(--ufo-opacity, .15);filter:drop-shadow(0 0 6px #a5ea0770) drop-shadow(0 8px 16px #a5ea0740)}48%{transform:translate(calc(-1 * (100vw - calc(var(--ufo-hover, 40) * 1vw)) - 30px)) rotate(-6deg) scaleX(1.15);opacity:calc(var(--ufo-opacity, .12) * .8);filter:drop-shadow(8px 0 10px #a5ea0750)}60%{transform:translate(-105vw) rotate(-10deg) scaleX(.5);opacity:calc(var(--ufo-opacity, .12) * .3);filter:drop-shadow(20px 0 14px #a5ea0730)}66%{opacity:0}to{transform:translate(0) rotate(10deg) scaleX(.6);opacity:0;filter:drop-shadow(0 0 0 transparent)}}@keyframes ufo-fly-down{0%{transform:translateY(0) scaleY(1.3);opacity:0;filter:drop-shadow(0 0 0 transparent)}4%{opacity:calc(var(--ufo-opacity, .15) * .5)}10%{transform:translateY(calc(var(--ufo-hover, 40) * 1vh - 60px)) rotate(-3deg) scaleY(1.2);opacity:calc(var(--ufo-opacity, .15) * .7);filter:drop-shadow(0 -14px 10px #a5ea0760)}15%{transform:translateY(calc(var(--ufo-hover, 40) * 1vh)) rotate(2deg) scale(1.1);opacity:var(--ufo-opacity, .2);filter:drop-shadow(0 0 10px #a5ea07cc) drop-shadow(0 8px 14px #a5ea0770)}22%{transform:translateY(calc(var(--ufo-hover, 40) * 1vh)) translate(4px) rotate(-1deg) scale(1);opacity:var(--ufo-opacity, .2);filter:drop-shadow(0 0 8px #a5ea0790) drop-shadow(0 10px 18px #a5ea0760)}34%{transform:translateY(calc(var(--ufo-hover, 40) * 1vh)) translate(-4px) rotate(1.5deg) scale(1);opacity:calc(var(--ufo-opacity, .2) * 1.2);filter:drop-shadow(0 0 12px #a5ea07dd) drop-shadow(0 12px 24px #a5ea0790)}48%{transform:translateY(calc(var(--ufo-hover, 40) * 1vh + 30px)) rotate(-2deg) scaleY(1.15);opacity:calc(var(--ufo-opacity, .15) * .8);filter:drop-shadow(0 -8px 10px #a5ea0750)}62%{transform:translateY(105vh) scaleY(1.2);opacity:calc(var(--ufo-opacity, .15) * .3);filter:drop-shadow(0 -18px 12px #a5ea0730)}68%{opacity:0}to{transform:translateY(0) scaleY(1.3);opacity:0}}@keyframes ufo-fly-up{0%{transform:translateY(0) scaleY(1.3);opacity:0;filter:drop-shadow(0 0 0 transparent)}4%{opacity:calc(var(--ufo-opacity, .15) * .5)}10%{transform:translateY(calc(-1 * var(--ufo-hover, 40) * 1vh + 60px)) rotate(3deg) scaleY(1.2);opacity:calc(var(--ufo-opacity, .15) * .7);filter:drop-shadow(0 14px 10px #a5ea0760)}15%{transform:translateY(calc(-1 * var(--ufo-hover, 40) * 1vh)) rotate(-2deg) scale(1.1);opacity:var(--ufo-opacity, .2);filter:drop-shadow(0 0 10px #a5ea07cc) drop-shadow(0 -8px 14px #a5ea0770)}22%{transform:translateY(calc(-1 * var(--ufo-hover, 40) * 1vh)) translate(-4px) rotate(1deg) scale(1);opacity:var(--ufo-opacity, .2);filter:drop-shadow(0 0 8px #a5ea0790) drop-shadow(0 -10px 18px #a5ea0760)}34%{transform:translateY(calc(-1 * var(--ufo-hover, 40) * 1vh)) translate(4px) rotate(-1.5deg) scale(1);opacity:calc(var(--ufo-opacity, .2) * 1.2);filter:drop-shadow(0 0 12px #a5ea07dd) drop-shadow(0 -12px 24px #a5ea0790)}48%{transform:translateY(calc(-1 * var(--ufo-hover, 40) * 1vh - 30px)) rotate(2deg) scaleY(1.15);opacity:calc(var(--ufo-opacity, .15) * .8);filter:drop-shadow(0 8px 10px #a5ea0750)}62%{transform:translateY(-105vh) scaleY(1.2);opacity:calc(var(--ufo-opacity, .15) * .3);filter:drop-shadow(0 18px 12px #a5ea0730)}68%{opacity:0}to{transform:translateY(0) scaleY(1.3);opacity:0}}@keyframes ufo-fly-diag-dr{0%{transform:translate(0) scale(.6);opacity:0;filter:drop-shadow(0 0 0 transparent)}4%{opacity:calc(var(--ufo-opacity, .15) * .5)}10%{transform:translate(calc(var(--ufo-hover, 40) * 1vw - 40px),calc(var(--ufo-hover, 40) * .6vh - 30px)) rotate(-4deg) scaleX(1.15);opacity:calc(var(--ufo-opacity, .15) * .7);filter:drop-shadow(-10px -8px 10px #a5ea0760)}15%{transform:translate(calc(var(--ufo-hover, 40) * 1vw),calc(var(--ufo-hover, 40) * .6vh)) rotate(2deg) scale(1.1);opacity:var(--ufo-opacity, .2);filter:drop-shadow(0 0 10px #a5ea07cc) drop-shadow(0 8px 14px #a5ea0770)}28%{transform:translate(calc(var(--ufo-hover, 40) * 1vw),calc(var(--ufo-hover, 40) * .6vh)) translateY(-5px) rotate(-1deg) scale(1);opacity:calc(var(--ufo-opacity, .2) * 1.2);filter:drop-shadow(0 0 14px #a5ea07ee) drop-shadow(0 12px 24px #a5ea0790)}42%{transform:translate(calc(var(--ufo-hover, 40) * 1vw),calc(var(--ufo-hover, 40) * .6vh)) translateY(3px) rotate(1.5deg) scale(1);opacity:var(--ufo-opacity, .18);filter:drop-shadow(0 0 8px #a5ea0780) drop-shadow(0 8px 16px #a5ea0750)}52%{transform:translate(calc(var(--ufo-hover, 40) * 1vw + 40px),calc(var(--ufo-hover, 40) * .6vh + 20px)) rotate(-3deg) scaleX(1.1);opacity:calc(var(--ufo-opacity, .15) * .7);filter:drop-shadow(-8px -6px 10px #a5ea0750)}65%{transform:translate(105vw,105vh) scaleX(1.15);opacity:calc(var(--ufo-opacity, .15) * .2);filter:drop-shadow(-14px -10px 12px #a5ea0730)}72%{opacity:0}to{transform:translate(0) scale(.6);opacity:0}}@keyframes ufo-fly-diag-dl{0%{transform:translate(0) scale(.6);opacity:0;filter:drop-shadow(0 0 0 transparent)}4%{opacity:calc(var(--ufo-opacity, .15) * .5)}10%{transform:translate(calc(-1 * var(--ufo-hover, 40) * 1vw + 40px),calc(var(--ufo-hover, 40) * .6vh - 30px)) rotate(4deg) scaleX(1.15);opacity:calc(var(--ufo-opacity, .15) * .7);filter:drop-shadow(10px -8px 10px #a5ea0760)}15%{transform:translate(calc(-1 * var(--ufo-hover, 40) * 1vw),calc(var(--ufo-hover, 40) * .6vh)) rotate(-2deg) scale(1.1);opacity:var(--ufo-opacity, .2);filter:drop-shadow(0 0 10px #a5ea07cc) drop-shadow(0 8px 14px #a5ea0770)}28%{transform:translate(calc(-1 * var(--ufo-hover, 40) * 1vw),calc(var(--ufo-hover, 40) * .6vh)) translateY(-5px) rotate(1deg) scale(1);opacity:calc(var(--ufo-opacity, .2) * 1.2);filter:drop-shadow(0 0 14px #a5ea07ee) drop-shadow(0 12px 24px #a5ea0790)}42%{transform:translate(calc(-1 * var(--ufo-hover, 40) * 1vw),calc(var(--ufo-hover, 40) * .6vh)) translateY(3px) rotate(-1.5deg) scale(1);opacity:var(--ufo-opacity, .18);filter:drop-shadow(0 0 8px #a5ea0780) drop-shadow(0 8px 16px #a5ea0750)}52%{transform:translate(calc(-1 * var(--ufo-hover, 40) * 1vw - 40px),calc(var(--ufo-hover, 40) * .6vh + 20px)) rotate(3deg) scaleX(1.1);opacity:calc(var(--ufo-opacity, .15) * .7);filter:drop-shadow(8px -6px 10px #a5ea0750)}65%{transform:translate(-105vw,105vh) scaleX(1.15);opacity:calc(var(--ufo-opacity, .15) * .2);filter:drop-shadow(14px -10px 12px #a5ea0730)}72%{opacity:0}to{transform:translate(0) scale(.6);opacity:0}}@keyframes cargo-beam-up{0%,16%{transform:translate(-50%,90px) scale(.3);opacity:0;filter:drop-shadow(0 0 0 transparent)}19%{transform:translate(-50%,75px) scale(.8);opacity:.8;filter:drop-shadow(0 0 8px #a5ea07aa)}24%{transform:translate(-50%,50px) scale(.9);opacity:.9;filter:drop-shadow(0 0 12px #a5ea07dd) drop-shadow(0 -6px 12px #a5ea0790)}28%{transform:translate(-50%,28px) scale(1);opacity:1;filter:drop-shadow(0 0 16px #a5ea07ff) drop-shadow(0 -10px 20px #a5ea07bb)}33%{transform:translate(-50%,8px) scale(.7);opacity:.8;filter:drop-shadow(0 0 20px #a5ea07ff) drop-shadow(0 -8px 16px #a5ea07cc)}37%{transform:translate(-50%,-4px) scale(0);opacity:0;filter:drop-shadow(0 0 30px #a5ea07ff) drop-shadow(0 0 50px #a5ea07ee)}38%,to{transform:translate(-50%,90px) scale(.3);opacity:0;filter:drop-shadow(0 0 0 transparent)}}.upload-zone{width:100%;max-width:680px;border:2px dashed var(--fn-border-light);border-radius:var(--fn-radius-lg);padding:56px 40px;text-align:center;cursor:pointer;transition:all .3s;background:#0c0c0cbf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:relative;z-index:1}@media(min-height:700px){.upload-zone{padding:64px 48px}}@media(min-width:1200px){.upload-zone{max-width:720px}}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--fn-accent);background:var(--fn-accent-dim)}.upload-zone.drag-over{transform:scale(1.02);box-shadow:0 0 30px #a5ea0730,0 0 60px #a5ea0715,inset 0 0 30px #a5ea0710}.beam-platform{position:relative;width:120px;height:120px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center}.beam-ring{position:absolute;border-radius:50%;border:1px solid #a5ea0720;animation:beam-ring-pulse 4s ease-in-out infinite}.beam-ring-1{width:60px;height:60px;border-color:#a5ea0730;animation-delay:0s}.beam-ring-2{width:90px;height:90px;border-color:#a5ea0720;animation-delay:.5s}.beam-ring-3{width:120px;height:120px;border-color:#a5ea0712;animation-delay:1s}@keyframes beam-ring-pulse{0%,to{transform:scale(1);opacity:.4;border-color:#a5ea0718}50%{transform:scale(1.08);opacity:1;border-color:#a5ea0740}}.beam-platform-icon{font-size:40px;position:relative;z-index:1;filter:drop-shadow(0 0 8px #a5ea07) drop-shadow(0 0 20px #a5ea0760);animation:beam-hover 3s ease-in-out infinite}@media(min-height:700px){.beam-platform{width:140px;height:140px;margin-bottom:24px}.beam-ring-1{width:70px;height:70px}.beam-ring-2{width:105px;height:105px}.beam-ring-3{width:140px;height:140px}.beam-platform-icon{font-size:44px}}.upload-zone.drag-over .beam-ring{border-color:#a5ea0760;animation:beam-ring-active 1.5s ease-in-out infinite}.upload-zone.drag-over .beam-platform-icon{filter:drop-shadow(0 0 12px #a5ea07) drop-shadow(0 0 30px #a5ea07aa) drop-shadow(0 0 50px #a5ea0760)}@keyframes beam-ring-active{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.15);opacity:1}}.upload-zone h2{font-size:20px;font-weight:600;margin-bottom:8px}.upload-zone p{color:var(--fn-text-muted);font-size:14px;margin-bottom:6px}@media(min-height:700px){.upload-zone h2{font-size:22px;margin-bottom:10px}.upload-zone p{font-size:15px}}.upload-browse{color:var(--fn-accent);font-weight:500;text-decoration:underline;cursor:pointer}.upload-formats{font-size:12px;color:var(--fn-text-dim);margin-top:12px}@keyframes materialize-in{0%{opacity:0;filter:blur(8px) brightness(1.5);transform:translateY(-8px)}40%{opacity:.7;filter:blur(2px) brightness(1.2)}to{opacity:1;filter:blur(0) brightness(1);transform:translateY(0)}}.review-panel,.enrichment-view,.product-cards{animation:materialize-in .6s ease-out}.processing{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 200px);gap:12px;padding:24px 20px;position:relative;z-index:1}.processing h2{font-size:20px;font-weight:600;margin:0}.processing p{color:var(--fn-text-muted);font-size:14px;margin:0}.processing-filename{font-family:monospace;font-size:13px!important;color:var(--fn-text-dim)!important;background:var(--fn-surface);padding:4px 12px;border-radius:4px}.beam-starfield{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.beam-star{position:absolute;background:#fff;border-radius:50%;animation:star-twinkle var(--dur, 3s) ease-in-out infinite;opacity:0}@keyframes star-twinkle{0%,to{opacity:.05;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}.beam-scene{position:relative;display:flex;flex-direction:column;align-items:center;width:200px;height:260px;z-index:1}.beam-ufo-container{position:relative;width:110px;height:110px;display:flex;align-items:center;justify-content:center;z-index:3;animation:ufo-hover-bob 3s ease-in-out infinite}@keyframes ufo-hover-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.beam-progress-ring{position:absolute;width:110px;height:110px;transform:rotate(-90deg)}.beam-ring-track{stroke:#a5ea071a}.beam-ring-fill{stroke:var(--fn-accent);stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(165,234,7,.5));transition:stroke-dashoffset .5s ease-out}.beam-ufo-emoji{font-size:44px;filter:drop-shadow(0 0 12px rgba(165,234,7,.4));z-index:2}.beam-ufo-percent{position:absolute;bottom:2px;font-size:13px;font-weight:700;color:var(--fn-accent);font-variant-numeric:tabular-nums;text-shadow:0 0 8px rgba(165,234,7,.6)}.beam-traction{position:relative;width:100%;height:120px;margin-top:-16px;z-index:1;display:flex;align-items:stretch;justify-content:center;overflow:visible}.beam-traction-cone{position:absolute;top:0;left:50%;transform:translate(-50%);width:24px;height:100%;background:linear-gradient(180deg,#a5ea0759,#a5ea071f 40%,#a5ea070a);clip-path:polygon(30% 0%,70% 0%,100% 100%,0% 100%);animation:beam-pulse 2s ease-in-out infinite}@keyframes beam-pulse{0%,to{opacity:.7;filter:brightness(1)}50%{opacity:1;filter:brightness(1.3)}}.beam-particles{position:absolute;inset:0;pointer-events:none}.beam-particle{position:absolute;bottom:0;width:3px;height:3px;background:var(--fn-accent);border-radius:50%;animation:particle-rise 2s ease-in infinite;opacity:0}@keyframes particle-rise{0%{transform:translateY(0);opacity:0}15%{opacity:.8}80%{opacity:.4}to{transform:translateY(-120px);opacity:0}}.beam-document{position:relative;z-index:2;margin-top:-8px;transition:opacity .6s ease,transform .6s ease}.beam-document.beam-doc-gone{opacity:0;transform:translateY(-20px) scale(.8)}.beam-doc-page{width:56px;height:68px;background:#ffffff0f;border:1.5px solid rgba(165,234,7,.25);border-radius:4px;padding:10px 6px;display:flex;flex-direction:column;gap:5px;box-shadow:0 0 16px #a5ea0714}.beam-doc-line{height:3px;background:#ffffff40;border-radius:1.5px;transition:opacity .5s ease,transform .5s ease,filter .5s ease}.beam-doc-line.beam-line-dissolved{opacity:0;transform:translateY(-30px) scale(.3);filter:blur(4px) brightness(2)}.beam-food-row{display:flex;gap:8px;justify-content:center;min-height:32px;flex-wrap:wrap;max-width:320px}.beam-food-item{font-size:22px;animation:food-materialize .6s cubic-bezier(.34,1.56,.64,1) forwards;opacity:0;filter:drop-shadow(0 0 6px rgba(165,234,7,.5))}@keyframes food-materialize{0%{opacity:0;transform:scale(0) translateY(-10px);filter:drop-shadow(0 0 12px rgba(165,234,7,.9)) brightness(2)}60%{opacity:1;transform:scale(1.3) translateY(0);filter:drop-shadow(0 0 8px rgba(165,234,7,.6))}to{opacity:1;transform:scale(1) translateY(0);filter:drop-shadow(0 0 3px rgba(165,234,7,.2))}}.processing-progress-container{width:100%;max-width:420px;margin-top:8px}.processing-progress-bar{height:6px;background:var(--fn-border);border-radius:3px;overflow:hidden}.processing-progress-fill{height:100%;background:var(--fn-accent);border-radius:3px;transition:width .5s ease;position:relative}.processing-progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.processing-progress-info{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.processing-step-label{font-size:13px;color:var(--fn-text-secondary)}.processing-percent{display:none}.processing-time-info{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.processing-elapsed,.processing-remaining{font-size:12px;color:var(--fn-text-dim);font-family:monospace}.processing-steps{display:flex;align-items:flex-start;gap:4px;margin-top:8px;max-width:420px;width:100%}.processing-step{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative}.processing-step:not(:last-child):after{content:"";position:absolute;top:10px;left:calc(50% + 12px);width:calc(100% - 24px);height:2px;background:var(--fn-border)}.processing-step.step-done:not(:last-child):after{background:var(--fn-accent)}.step-dot{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;z-index:1;transition:all .3s ease}.step-pending .step-dot{background:var(--fn-surface);border:2px solid var(--fn-border);color:var(--fn-text-dim)}.step-active .step-dot{background:var(--fn-accent);border:2px solid var(--fn-accent);color:#fff;box-shadow:0 0 0 4px #a5ea0733;animation:pulse-dot 1.5s ease-in-out infinite}.step-done .step-dot{background:var(--fn-accent);border:2px solid var(--fn-accent);color:#fff}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 4px #a5ea0733}50%{box-shadow:0 0 0 8px #a5ea071a}}.processing-step .step-label{font-size:10px;color:var(--fn-text-dim);text-align:center;line-height:1.2}.step-active .step-label{color:var(--fn-accent);font-weight:600}.step-done .step-label{color:var(--fn-text-secondary)}.processing-fun{height:32px;display:flex;align-items:center;justify-content:center;margin-top:12px}.fun-msg{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--fn-text-secondary);transition:opacity .3s ease}.fun-msg-visible{opacity:1}.fun-msg-hidden{opacity:0}.fun-icon{font-size:18px}.processing-meta{font-size:11px!important;color:var(--fn-text-dim)!important;margin-top:4px}.spinner{width:48px;height:48px;border:3px solid var(--fn-border);border-top-color:var(--fn-accent);border-radius:50%;animation:spin .8s linear infinite}.review{display:flex;flex-direction:column;gap:16px;height:calc(100vh - 120px);max-width:none;width:calc(100vw - 48px);margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);padding-left:24px;padding-right:24px;box-sizing:border-box}.review-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.review-toolbar-left{display:flex;align-items:center;gap:12px}.review-toolbar-right{display:flex;align-items:center;gap:8px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--fn-radius);border:1px solid var(--fn-border);background:var(--fn-surface);color:var(--fn-text);font-size:13px;font-weight:500;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s}.btn:hover{background:var(--fn-surface-3);border-color:var(--fn-border-light);box-shadow:0 2px 8px #00000040}.btn:active{transform:scale(.97)}.btn-primary{background:var(--fn-accent);border-color:var(--fn-accent);color:#0a0a0a;font-weight:600}.btn-primary:hover{background:var(--fn-accent-hover);border-color:var(--fn-accent-hover);box-shadow:0 2px 12px #a5ea074d;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0) scale(.97)}.btn-danger{background:var(--fn-error);border-color:var(--fn-error);color:#fff;font-weight:600}.btn-danger:hover{background:#dc2626;border-color:#dc2626;box-shadow:0 2px 12px #ef444459;transform:translateY(-1px)}.btn-danger:active{transform:translateY(0) scale(.97)}.btn-danger-outline{background:transparent;border-color:var(--fn-error);color:var(--fn-error);font-weight:500}.btn-danger-outline:hover{background:#ef444414;border-color:#dc2626;color:#dc2626}.products-gebinde-badge{display:inline-block;padding:1px 6px;font-size:.72rem;font-weight:600;border-radius:var(--fn-radius-sm, 4px);background:#fbbf241f;color:#fbbf24;cursor:help;white-space:nowrap}.btn-icon-danger{background:transparent;border:none;color:var(--fn-muted);cursor:pointer;font-size:1rem;line-height:1;padding:2px 6px;border-radius:4px;opacity:.4;transition:all .15s}.btn-icon-danger:hover{opacity:1;color:var(--fn-error);background:#ef44441a}.products-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.products-modal{background:var(--fn-surface);border-radius:12px;padding:24px 28px;max-width:420px;width:90%;box-shadow:0 8px 32px #0003}.products-modal h3{margin:0 0 8px;font-size:1.1rem}.products-modal p{margin:0 0 20px;color:var(--fn-muted);font-size:.9rem;line-height:1.5}.products-modal-actions{display:flex;gap:10px;justify-content:flex-end}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover{background:var(--fn-surface-3);border-color:var(--fn-border)}.doc-type-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:99px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.doc-type-badge.invoice,.doc-type-badge.deliveryNote{background:var(--fn-secondary-dim);color:var(--fn-secondary-hover)}.doc-type-badge.creditNote{background:#ef444426;color:#f87171}.doc-type-badge.unknown{background:#a1a1aa26;color:#a1a1aa}.review-split{flex:1;display:grid;grid-template-columns:2fr 3fr;gap:16px;min-height:0}.review-panel{background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:var(--fn-radius-lg);display:flex;flex-direction:column;min-height:0;overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--fn-border);font-size:13px;font-weight:600;color:var(--fn-text-muted);flex-shrink:0}.panel-content{flex:1;overflow:auto;padding:16px}.doc-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px}.doc-preview img{max-width:100%;max-height:calc(100% - 40px);object-fit:contain;border-radius:4px}.doc-preview.loupe-active{cursor:none;position:relative}.doc-pdf-embed-content{padding:0!important;display:flex;flex-direction:column}.doc-pdf-iframe{width:100%;flex:1;min-height:500px;border:none;background:var(--fn-surface)}.doc-preview.loupe-active img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.doc-loupe{position:absolute;border-radius:50%;border:3px solid var(--fn-accent, #a78bfa);box-shadow:0 0 0 1px #0000004d,0 4px 16px #0006;pointer-events:none;z-index:10;background-repeat:no-repeat;background-color:#fff;image-rendering:auto}.panel-header-actions{display:flex;align-items:center;gap:8px}.doc-loupe-toggle{background:none;border:1px solid transparent;border-radius:6px;padding:2px 6px;cursor:pointer;font-size:16px;line-height:1;transition:all .15s;opacity:.5}.doc-loupe-toggle:hover{opacity:.8;border-color:var(--fn-border, rgba(255,255,255,.1))}.doc-loupe-toggle.active{opacity:1;background:#a78bfa26;border-color:var(--fn-accent, #a78bfa)}.doc-page-nav{display:flex;align-items:center;gap:8px;padding:4px 0}.doc-page-btn{background:var(--fn-surface-2);border:1px solid var(--fn-border);color:var(--fn-text);width:32px;height:32px;border-radius:6px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s}.doc-page-btn:hover:not(:disabled){background:var(--fn-surface-3);border-color:var(--fn-accent);color:var(--fn-accent)}.doc-page-btn:disabled{opacity:.3;cursor:not-allowed}.doc-page-info{font-size:12px;color:var(--fn-text-secondary);min-width:80px;text-align:center}.meta-grid{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin-bottom:24px}.meta-label{font-size:12px;font-weight:600;color:var(--fn-text-dim);text-transform:uppercase;letter-spacing:.5px;padding-top:6px}.meta-value{position:relative}.meta-value input{width:100%;padding:4px 8px;background:var(--fn-surface-2);border:1px solid var(--fn-border);border-radius:4px;color:var(--fn-text);font-size:13px;outline:none;transition:border-color .15s}.meta-value input:focus{border-color:var(--fn-accent)}.section-title{font-size:13px;font-weight:600;color:var(--fn-accent);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--fn-border)}.items-table-wrapper{overflow-x:auto;margin:0 -16px;padding:0 16px}.items-table{width:100%;min-width:800px;table-layout:fixed;border-collapse:collapse;font-size:13px}.items-table th{text-align:left;padding:8px;font-size:11px;font-weight:600;color:var(--fn-text-dim);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--fn-border);position:sticky;top:0;background:var(--fn-surface);z-index:1}.items-table th.right,.items-table td.right{text-align:right}.items-table td{padding:6px 8px;border-bottom:1px solid var(--fn-border);vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.items-table tr:hover td{background:var(--fn-surface-2)}.items-table tr.row-mismatch td{background:#ef444414;border-bottom-color:#ef444433}.items-table tr.row-mismatch:hover td{background:#ef444424}.row-diff-badge{font-size:10px;color:#f87171;text-align:right;margin-top:1px;font-weight:500;line-height:1}.items-table input.low-confidence{border-left:3px solid #f59e0b!important;background:#f59e0b0f}.items-table input.very-low-confidence{border-left:3px solid #ef4444!important;background:#ef44440f}.items-table input.auto-corrected,.items-table input.auto-corrected.low-confidence,.items-table input.auto-corrected.very-low-confidence{border-left:3px solid #3b82f6!important;background:#3b82f60f}.confidence-score-badge{display:inline-flex;align-items:center;gap:3px;font-size:11px;padding:2px 8px;border-radius:4px;font-weight:600;margin-left:6px}.confidence-score-badge.good{background:#10b9811f;color:#10b981}.confidence-score-badge.medium{background:#f59e0b1f;color:#f59e0b}.confidence-score-badge.low{background:#ef44441f;color:#ef4444}.e-invoice-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:2px 10px;border-radius:4px;font-weight:600;margin-left:6px;background:#6366f126;color:#818cf8;border:1px solid rgba(99,102,241,.25)}.price-anomaly-badge{font-size:9px;margin-top:1px;font-weight:600;line-height:1;cursor:help;display:flex;align-items:center;gap:3px}.price-anomaly-badge.warning{color:#f59e0b}.price-anomaly-badge.critical{color:#ef4444}.anomaly-actions{display:inline-flex;gap:2px;margin-left:2px}.anomaly-btn{background:none;border:1px solid currentColor;border-radius:3px;padding:0 3px;font-size:9px;cursor:pointer;opacity:.7;transition:opacity .2s;line-height:1.2}.anomaly-btn:hover{opacity:1}.anomaly-confirm{color:#10b981}.anomaly-dismiss{color:#ef4444}.anomaly-resolved{font-size:8px;margin-left:3px;opacity:.6;font-style:italic}.dupe-modal-overlay{position:fixed;inset:0;background:#0009;z-index:1000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dupe-modal{background:var(--fn-card, #1e1e2e);border:1px solid var(--fn-border, #333);border-radius:12px;padding:28px;max-width:440px;width:90%;text-align:center;box-shadow:0 20px 40px #0006}.dupe-modal-icon{font-size:36px;margin-bottom:12px}.dupe-modal-title{font-size:18px;font-weight:600;color:var(--fn-text, #fff);margin:0 0 8px}.dupe-modal-desc{font-size:13px;color:var(--fn-text-secondary, #aaa);margin:0 0 16px;line-height:1.4}.dupe-modal-list{background:#ffffff0d;border-radius:8px;padding:8px;margin-bottom:20px;max-height:160px;overflow-y:auto;text-align:left}.dupe-modal-item{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;border-radius:4px}.dupe-modal-item:hover{background:#ffffff0a}.dupe-modal-item-name{font-size:12px;color:var(--fn-text, #fff);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.dupe-modal-item-meta{font-size:11px;color:var(--fn-text-secondary, #888);white-space:nowrap}.dupe-modal-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.dupe-modal-actions .btn{min-width:100px}.profile-toggle-row{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.profile-toggle-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--fn-accent, #c8ff00)}.auto-save-card{text-align:center;padding:40px 20px;max-width:480px;margin:0 auto}.auto-save-card h3{font-size:20px;margin:0;color:var(--fn-text, #fff)}.item-type-badge{display:inline-block;font-size:9px;padding:1px 5px;border-radius:3px;margin-left:6px;font-weight:600;vertical-align:middle;letter-spacing:.02em}.item-type-deposit{background:#3b82f626;color:#3b82f6}.item-type-return{background:#a855f726;color:#a855f7}.item-type-discount{background:#eab30826;color:#ca8a04}.item-type-fee{background:#6b728026;color:#6b7280}.items-table tr.row-deposit td{background:#3b82f60a}.items-table tr.row-return td{background:#a855f70a}.items-table tr.row-discount td{background:#eab3080a}.items-table tr.row-fee td{background:#6b72800a}.items-table tr.row-deposit:hover td{background:#3b82f614}.items-table tr.row-return:hover td{background:#a855f714}.items-table tr.row-discount:hover td{background:#eab30814}.items-table tr.row-fee:hover td{background:#6b728014}.totals-sub{font-size:12px;color:var(--fn-text-dim)}.totals-deposit{color:#3b82f6!important}.totals-return{color:#a855f7!important}.totals-discount{color:#ca8a04!important}.totals-fee{color:#6b7280!important}.items-table input{width:100%;padding:2px 6px;background:transparent;border:1px solid transparent;border-radius:3px;color:var(--fn-text);font-size:13px;outline:none;transition:all .15s;text-overflow:ellipsis;overflow:hidden}.items-table input:hover{background:var(--fn-surface-3)}.items-table input:focus{background:var(--fn-surface-2);border-color:var(--fn-accent)}.items-table input.right{text-align:right}.items-table input.narrow{max-width:70px}.confidence{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500}.confidence-dot{width:6px;height:6px;border-radius:50%}.confidence-high{color:var(--fn-secondary)}.confidence-high .confidence-dot{background:var(--fn-secondary)}.confidence-medium{color:var(--fn-warning)}.confidence-medium .confidence-dot{background:var(--fn-warning)}.confidence-low{color:var(--fn-error)}.confidence-low .confidence-dot{background:var(--fn-error)}.totals-section{margin-top:16px;padding-top:16px;border-top:2px solid var(--fn-border)}.totals-grid{display:grid;grid-template-columns:1fr auto;gap:6px 24px;max-width:300px;margin-left:auto}.totals-label{font-size:13px;color:var(--fn-text-muted);text-align:right}.totals-value{font-size:13px;text-align:right;font-variant-numeric:tabular-nums}.totals-value input{width:120px;padding:2px 6px;background:transparent;border:1px solid transparent;border-radius:3px;color:var(--fn-text);font-size:13px;text-align:right;outline:none;font-variant-numeric:tabular-nums}.totals-value input:hover{background:var(--fn-surface-3)}.totals-value input:focus{background:var(--fn-surface-2);border-color:var(--fn-accent)}.totals-gross{font-size:16px;font-weight:700;color:var(--fn-accent);padding-top:8px;border-top:1px solid var(--fn-border);margin-top:4px}.totals-gross input{font-size:16px;font-weight:700;color:var(--fn-accent)}.validation-warnings{margin-top:16px;padding:12px;background:#f59e0b14;border:1px solid rgba(245,158,11,.3);border-radius:8px}.validation-warning-item{font-size:12px;color:var(--fn-text-muted);padding:4px 0;border-bottom:1px solid rgba(245,158,11,.1)}.validation-warning-item:last-child{border-bottom:none}.totals-comparison{margin-top:12px;padding:10px 14px;border-radius:6px;font-size:12px;text-align:right;display:flex;flex-direction:column;gap:4px}.totals-comparison.mismatch{background:#ef44441a;border:1px solid rgba(239,68,68,.3)}.totals-comparison.match{background:#4ade8014;border:1px solid rgba(74,222,128,.3)}.comparison-diff{color:#f87171;font-weight:500}.comparison-ok{color:#4ade80;font-weight:500}.comparison-info{color:var(--fn-text-secondary);font-style:italic}.totals-comparison.info{background:#a5ea070f;border:1px solid rgba(165,234,7,.15)}.error-card{max-width:520px;margin:0 auto;padding:32px;background:var(--fn-card);border:1px solid rgba(239,68,68,.3);border-radius:var(--fn-radius);text-align:center}.error-icon{font-size:48px;margin-bottom:16px}.error-title{color:#fca5a5;font-size:18px;font-weight:600;margin:0 0 12px}.error-hint{color:var(--fn-text-secondary);font-size:14px;line-height:1.6;margin:0 0 20px;text-align:left;white-space:pre-line}.error-retry-info{color:var(--fn-accent);font-size:13px;margin:-8px 0 16px;padding:8px 12px;background:var(--fn-accent-dim);border-radius:6px}.error-details{margin:0 0 20px;text-align:left}.error-details summary{color:var(--fn-text-dim);font-size:12px;cursor:pointer;margin-bottom:8px}.error-details code{display:block;padding:8px 12px;background:var(--fn-bg);border-radius:4px;font-size:11px;color:var(--fn-text-dim);word-break:break-all;max-height:100px;overflow-y:auto}.error-actions{display:flex;justify-content:center;gap:12px}.error-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--fn-radius);color:#fca5a5;font-size:14px}.error-banner button{margin-left:auto;padding:4px 12px;background:#ef444433;border:1px solid rgba(239,68,68,.4);border-radius:4px;color:#fca5a5;font-size:12px}.warning-banner{padding:10px 16px;background:#fbbf241a;border:1px solid rgba(251,191,36,.3);border-radius:var(--fn-radius);color:#fbbf24;font-size:13px;margin-bottom:12px}.token-info{font-size:11px;color:var(--fn-text-dim);display:flex;gap:12px;align-items:center}.cost-badge{font-size:11px;background:var(--fn-accent-dim);color:var(--fn-accent);padding:2px 8px;border-radius:4px;font-weight:600;white-space:nowrap}.vat-comparison-panel{background:#6366f10a;border:1px solid rgba(99,102,241,.15);border-radius:8px;padding:12px 16px;margin:12px 0}.vat-comparison-title{font-size:12px;font-weight:600;color:var(--fn-text-dim, #94a3b8);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.vat-comparison-table{width:100%;font-size:13px;border-collapse:collapse}.vat-comparison-table th{font-size:11px;font-weight:500;color:var(--fn-text-dim, #94a3b8);text-align:right;padding:4px 8px;border-bottom:1px solid rgba(255,255,255,.06)}.vat-comparison-table th:first-child{text-align:center}.vat-comparison-table td{text-align:right;padding:6px 8px}.vat-comparison-row{cursor:pointer;transition:background .15s;border-radius:4px}.vat-comparison-row:hover{background:#ffffff0a}.vat-rate-cell{font-weight:700;text-align:center!important}.vat-rate-active{background:#6366f11f!important;outline:1px solid rgba(99,102,241,.4)}.vat-diff-cell.vat-diff-match{color:#22c55e}.vat-diff-cell.vat-diff-warn{color:#eab308}.vat-diff-cell.vat-diff-error{color:#ef4444;font-weight:600}.review-issues-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:8px;padding:8px 12px;background:#0f172af2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(245,158,11,.2);border-radius:6px;margin-bottom:8px}.issues-badges{display:flex;flex-wrap:wrap;gap:6px;flex:1}.issue-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;padding:4px 10px;border-radius:12px;border:none;cursor:pointer;transition:all .15s}.issue-badge:hover{filter:brightness(1.2)}.issue-icon{font-size:13px}.issue-vat{background:#ef44441f;color:#f87171}.issue-price{background:#f59e0b1f;color:#fbbf24}.issue-anomaly{background:#6366f11f;color:#a5b4fc}.issue-confidence{background:#94a3b81f;color:#94a3b8}.issue-filter-tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px;border:1px solid rgba(99,102,241,.4);background:#6366f126;color:#a5b4fc;cursor:pointer}.filter-clear{font-size:10px;opacity:.7}.issue-filter-tag:hover .filter-clear{opacity:1}.items-table tr.row-vat-suspect td{background:#fbbf2414}.items-table tr.row-vat-suspect .vat-cell{border-left:3px solid #f59e0b;font-weight:600}.items-table tr.row-vat-dimmed td{opacity:.3}.items-table tr.row-vat-dimmed:hover td{opacity:.6}@keyframes jump-highlight{0%{background:#a5ea0740}to{background:transparent}}.items-table tr.jump-target td{animation:jump-highlight 1.5s ease-out}.confidence-legend{display:flex;flex-wrap:wrap;gap:12px;padding:6px 0;margin-bottom:4px;font-size:11px;color:var(--fn-text-dim)}.confidence-legend-item{display:inline-flex;align-items:center;gap:4px}.legend-swatch{display:inline-block;width:3px;height:14px;border-radius:1px}.legend-swatch-red{background:#ef4444}.legend-swatch-amber{background:#f59e0b}.legend-swatch-blue{background:#3b82f6}.legend-swatch-green{background:var(--fn-secondary, #22c55e)}.vat-comparison-hint{font-size:12px;color:var(--fn-text-dim);margin:0 0 8px;line-height:1.4}.vat-diff-action{display:block;font-size:10px;font-weight:400;opacity:.7;margin-top:1px}@media(max-width:900px){.review-split{grid-template-columns:1fr}.review-panel:first-child{max-height:300px}.confidence-legend{display:none}}.enrichment-view{display:flex;flex-direction:column;gap:16px;min-height:calc(100vh - 120px);max-width:none;width:calc(100vw - 48px);margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);padding-left:24px;padding-right:24px;box-sizing:border-box}.enrichment-stats{font-size:13px;color:var(--fn-text-muted)}.stat-error{color:var(--fn-error)}.enrichment-phases{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--fn-border)}.phase-step{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--fn-text-dim);opacity:.5;transition:all .3s ease}.phase-step.phase-active{color:var(--fn-accent);opacity:1;font-weight:600}.phase-step.phase-done{color:var(--fn-secondary, #ff8c00);opacity:.85}.phase-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:11px;font-weight:700;border:1.5px solid currentColor}.phase-step.phase-active .phase-icon{background:var(--fn-accent);color:#fff;border-color:var(--fn-accent)}.phase-step.phase-done .phase-icon{background:var(--fn-secondary, #ff8c00);color:#fff;border-color:var(--fn-secondary, #ff8c00);font-size:10px}.phase-arrow{color:var(--fn-text-dim);opacity:.3;font-size:12px}.enrichment-step-indicator{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;margin-bottom:16px;background:var(--fn-surface, #1a1a1a);border:1px solid var(--fn-border);border-radius:8px}.step-indicator-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--fn-text-dim);opacity:.5;cursor:pointer;padding:6px 12px;border-radius:6px;transition:all .2s ease}.step-indicator-item:hover{opacity:.7;background:#ffffff0a}.step-indicator-item.active{color:var(--fn-accent);opacity:1;font-weight:600;background:#a3e63514}.step-indicator-item.done{color:var(--fn-secondary, #ff8c00);opacity:.9}.step-indicator-item.next-step{opacity:.85;animation:step-hint-pulse 2.5s ease-in-out infinite}@keyframes step-hint-pulse{0%,to{background:#a3e6350d;box-shadow:none}50%{background:#a3e63526;box-shadow:0 0 10px #a3e63540}}.step-indicator-dot{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:11px;font-weight:700;border:2px solid currentColor}.step-indicator-item.active .step-indicator-dot{background:var(--fn-accent);color:#111;border-color:var(--fn-accent)}.step-indicator-item.done .step-indicator-dot{background:var(--fn-secondary, #ff8c00);color:#fff;border-color:var(--fn-secondary, #ff8c00);font-size:10px}.step-indicator-label{white-space:nowrap}.step-optional{font-weight:400;font-size:11px;opacity:.6}.step-indicator-arrow{color:var(--fn-text-dim);opacity:.3;font-size:14px}.step-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--fn-border)}.step-navigation.step-navigation-top{margin-top:0;margin-bottom:20px;padding-top:0;padding-bottom:16px;border-top:none;border-bottom:1px solid var(--fn-border)}.step-navigation-top .btn-next-step{animation:none}.step-navigation-right{display:flex;align-items:center;gap:16px}.btn-next-step{font-size:14px;padding:10px 24px;animation:btn-pulse-glow 2s ease-in-out infinite;position:relative}@keyframes btn-pulse-glow{0%,to{box-shadow:0 0 4px var(--fn-accent),0 0 8px #a3e6354d;transform:scale(1)}50%{box-shadow:0 0 12px var(--fn-accent),0 0 24px #a3e63580;transform:scale(1.03)}}.btn-skip-step{font-size:13px;opacity:.7}.btn-skip-step:hover{opacity:1}.enrichment-images-step{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.images-action-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;margin-bottom:16px;background:var(--fn-surface, #1a1a1a);border:1px solid var(--fn-border);border-radius:8px}.images-action-left{display:flex;align-items:center;gap:14px;flex:1}.images-action-hint{font-size:12px;color:var(--fn-text-dim);line-height:1.4}.images-assigned-count{font-size:13px;font-weight:600;color:var(--fn-accent);white-space:nowrap}.images-all-found{font-size:13px;font-weight:600;color:var(--fn-success, #22c55e);padding:8px 16px;background:#22c55e14;border-radius:6px;white-space:nowrap}.images-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-bottom:16px}.images-product-card{background:var(--fn-surface, #1a1a1a);border:1px solid var(--fn-border);border-radius:8px;padding:12px;transition:border-color .2s ease}.images-product-card.has-image{border-color:var(--fn-success, #22c55e)}.images-product-card.scanning{border-color:var(--fn-accent, #a3e635);position:relative;overflow:hidden}.images-product-card.scanning:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(163,230,53,.06) 40%,rgba(163,230,53,.12) 50%,rgba(163,230,53,.06) 60%,transparent 100%);animation:image-scan-shimmer 2s ease-in-out infinite;pointer-events:none;z-index:1}@keyframes image-scan-shimmer{0%{left:-100%}to{left:100%}}.images-product-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.images-product-emoji{font-size:24px;flex-shrink:0}.images-product-info{flex:1;min-width:0}.images-product-name{display:block;font-size:13px;font-weight:600;color:var(--fn-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.images-product-category{display:block;font-size:11px;color:var(--fn-text-dim);margin-top:2px}.images-product-check{color:var(--fn-success, #22c55e);font-size:18px;font-weight:700;flex-shrink:0}.images-product-carousel{min-height:120px}.images-summary-text{font-size:13px;color:var(--fn-text-secondary)}.enrichment-error-card{max-width:520px;margin:40px auto;padding:32px;background:var(--fn-bg-elevated);border:1px solid #ff6b3530;border-radius:12px;text-align:center}.enrichment-error-icon{font-size:48px;margin-bottom:12px}.enrichment-error-title{font-size:18px;font-weight:600;color:var(--fn-text-primary);margin:0 0 8px}.enrichment-error-message{font-size:14px;color:var(--fn-text-secondary);margin:0 0 24px;line-height:1.5}.enrichment-error-actions{display:flex;gap:12px;justify-content:center}.transmit-step{padding:16px 0}.transmit-beam-hero{position:relative;display:flex;flex-direction:column;align-items:center;gap:20px;padding:48px 32px 40px;background:linear-gradient(165deg,#a3e6350f,#161618f2,#a3e63508);border:1px solid rgba(163,230,53,.15);border-radius:16px;margin-bottom:28px;text-align:center;overflow:hidden}.beam-glow{position:absolute;top:-80px;left:50%;transform:translate(-50%);width:300px;height:300px;background:radial-gradient(circle,rgba(163,230,53,.12) 0%,transparent 70%);border-radius:50%;pointer-events:none;animation:beam-glow-pulse 3s ease-in-out infinite}.beam-glow-success{background:radial-gradient(circle,rgba(34,197,94,.15) 0%,transparent 70%)}@keyframes beam-glow-pulse{0%,to{opacity:.5;transform:translate(-50%) scale(1)}50%{opacity:1;transform:translate(-50%) scale(1.15)}}.beam-icon-wrap{position:relative;z-index:1;width:72px;height:72px;display:flex;align-items:center;justify-content:center;background:#a3e63514;border:2px solid rgba(163,230,53,.2);border-radius:50%}.beam-icon{font-size:32px;line-height:1}.beam-pulse{animation:beam-icon-pulse 2s ease-in-out infinite}.beam-spin{animation:beam-icon-spin 1.2s linear infinite}.beam-bounce{animation:beam-icon-bounce .6s ease-out}@keyframes beam-icon-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes beam-icon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes beam-icon-bounce{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.beam-hero-text{position:relative;z-index:1}.beam-hero-text h2{font-size:22px;font-weight:700;color:var(--fn-text);margin:0 0 6px;letter-spacing:.5px}.beam-hero-text p{font-size:14px;color:var(--fn-text-dim);margin:0}.beam-supplier{color:var(--fn-accent, #a3e635)!important;font-weight:500}.beam-error-msg{color:#f87171!important;font-family:monospace;font-size:13px!important}.beam-preview-stats{position:relative;z-index:1;display:flex;gap:16px;margin-top:4px}.beam-preview-pill{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--fn-surface, #1e1e20);border:1px solid var(--fn-border, #2a2a2e);border-radius:8px;font-size:13px;color:var(--fn-text-dim)}.beam-preview-pill strong{font-size:18px;font-weight:700;color:var(--fn-text);font-variant-numeric:tabular-nums}.btn-beam{position:relative;z-index:1;display:flex;align-items:center;gap:10px;padding:16px 36px!important;font-size:16px!important;font-weight:700;background:linear-gradient(135deg,#a3e635,#65a30d);color:#0a0a0a!important;border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;box-shadow:0 0 20px #a3e63533,0 4px 12px #0000004d;margin-top:8px;text-transform:none}.btn-beam:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 30px #a3e63559,0 8px 20px #0006}.btn-beam:active:not(:disabled){transform:translateY(0)}.btn-beam:disabled{opacity:.4;cursor:not-allowed}.btn-beam-icon{font-size:20px}.beam-actions{position:relative;z-index:1;display:flex;gap:12px;margin-top:8px}.beam-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden}.beam-particles span{position:absolute;width:4px;height:4px;background:var(--fn-accent, #a3e635);border-radius:50%;opacity:0;animation:beam-particle-float 1.5s ease-in-out infinite}.beam-particles span:nth-child(1){left:20%;animation-delay:0s}.beam-particles span:nth-child(2){left:40%;animation-delay:.3s}.beam-particles span:nth-child(3){left:55%;animation-delay:.6s}.beam-particles span:nth-child(4){left:70%;animation-delay:.9s}.beam-particles span:nth-child(5){left:85%;animation-delay:1.2s}@keyframes beam-particle-float{0%{bottom:-10px;opacity:0;transform:scale(.5)}30%{opacity:.8}to{bottom:100%;opacity:0;transform:scale(1.5)}}.transmit-beam-active{border-color:#a3e6354d;background:linear-gradient(165deg,#a3e6351a,#161618fa,#a3e6350f)}.transmit-error{border-color:#ef444440;background:linear-gradient(165deg,#ef44440f,#161618f2,#ef444408)}.transmit-error .beam-icon-wrap{background:#ef444414;border-color:#ef444433}.transmit-success{border-color:#22c55e40;background:linear-gradient(165deg,#22c55e14,#161618f2,#22c55e0a)}.transmit-success .beam-icon-wrap{background:#22c55e14;border-color:#22c55e33}.transmit-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:28px}.transmit-stat-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:22px 12px 18px;background:var(--fn-surface, #1e1e20);border:1px solid var(--fn-border, #2a2a2e);border-radius:12px;text-align:center;overflow:hidden}.transmit-stat-card.stat-highlight{border-color:#a3e63540;background:linear-gradient(180deg,rgba(163,230,53,.06) 0%,var(--fn-surface, #1e1e20) 100%)}.transmit-stat-card .stat-number{font-size:32px;font-weight:800;color:var(--fn-text);font-variant-numeric:tabular-nums;line-height:1}.stat-highlight .stat-number{color:var(--fn-accent, #a3e635)}.transmit-stat-card .stat-label{font-size:11px;color:var(--fn-text-dim);text-transform:uppercase;letter-spacing:.5px}.transmit-stat-card .stat-bar{position:absolute;bottom:0;left:0;height:3px;background:linear-gradient(90deg,var(--fn-accent, #a3e635) 0%,rgba(163,230,53,.3) 100%);border-radius:0 2px 0 0;transition:width .8s ease-out}.transmit-export-section{border-top:1px solid var(--fn-border, #2a2a2e);padding-top:20px}.transmit-export-heading{font-size:13px;font-weight:600;color:var(--fn-text-dim);margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.transmit-export-actions{display:flex;gap:12px;flex-wrap:wrap}@media(max-width:640px){.transmit-stats-grid{grid-template-columns:repeat(2,1fr)}.beam-preview-stats{flex-direction:column;gap:8px}.btn-beam{padding:14px 24px!important;font-size:15px!important}}.prefetch-status{font-size:12px;margin-left:8px;transition:opacity .3s ease}.prefetch-status.prefetch-fetching{color:var(--fn-text-dim);opacity:.7}.prefetch-status.prefetch-done{color:var(--fn-success, #22c55e);opacity:.9}.enrichment-progress{background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:var(--fn-radius);padding:16px}.progress-bar-bg{width:100%;height:6px;background:var(--fn-surface-3);border-radius:3px;overflow:hidden;margin-bottom:8px}.progress-bar-fill{height:100%;background:var(--fn-accent);border-radius:3px;transition:width .3s ease}.progress-text{display:flex;justify-content:space-between;font-size:12px;color:var(--fn-text-muted)}.progress-status{color:var(--fn-text-dim);font-style:italic}.enrichment-live-feed{margin-top:8px;display:flex;flex-direction:column;gap:3px;max-height:140px;overflow:hidden}.live-feed-item{display:flex;align-items:center;gap:6px;font-size:12px;padding:3px 8px;border-radius:6px;background:var(--fn-surface);border:1px solid var(--fn-border);opacity:.5;transition:all .3s}.live-feed-item.latest{opacity:1;background:var(--fn-surface-2);border-color:var(--fn-accent)}.live-feed-icon{font-size:11px;width:16px;text-align:center;flex-shrink:0}.live-feed-item.latest .live-feed-icon{color:var(--fn-accent)}.live-feed-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fn-text)}.live-feed-source{font-size:10px;color:var(--fn-text-dim);background:var(--fn-surface-3);padding:1px 6px;border-radius:4px;flex-shrink:0}.product-cards{display:flex;flex-direction:column;gap:8px}.product-card{background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:var(--fn-radius);overflow:hidden;transition:border-color .15s}.product-card:hover{border-color:var(--fn-border-light)}.product-card.product-failed{border-color:#ef44444d}.product-card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;gap:12px}.product-card-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.product-thumb{width:48px;height:48px;border-radius:6px;object-fit:cover;background:var(--fn-surface-2);flex-shrink:0}.product-thumb-placeholder{width:48px;height:48px;border-radius:6px;background:var(--fn-surface-3);display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--fn-text-dim);flex-shrink:0}.product-thumb-wrapper{position:relative;width:48px;height:48px;flex-shrink:0}.product-thumb-processing{position:absolute;inset:0;background:#00000059;border-radius:6px;display:flex;align-items:center;justify-content:center}.processing-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.product-image.image-processing{opacity:.5;filter:blur(1px);transition:opacity .3s ease,filter .3s ease}.product-image:not(.image-processing){transition:opacity .3s ease,filter .3s ease}.product-info{flex:1;min-width:0}.product-name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-meta-line{display:flex;gap:12px;font-size:12px;color:var(--fn-text-dim);margin-top:2px}.product-error{font-size:12px;color:var(--fn-error);margin-top:4px}.product-card-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.expand-arrow{color:var(--fn-text-dim);font-size:11px}.cert-badges{display:flex;gap:4px}.cert-badge{font-size:10px;padding:2px 6px;border-radius:4px;background:#22c55e26;color:#4ade80;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.price-badge{display:inline-flex;align-items:center;gap:2px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;background:#a5ea071a;color:var(--fn-text);padding:2px 8px;border-radius:4px;white-space:nowrap}.price-unit{font-size:10px;color:var(--fn-text-dim);font-weight:400}.price-trend{font-size:14px;font-weight:700;margin-left:2px;line-height:1}.price-trend-up{color:#ef4444}.price-trend-down{color:#22c55e}.price-trend-stable{color:var(--fn-text-dim)}.allergen-list{display:flex;flex-wrap:wrap;gap:4px}.allergen-badge{font-size:11px;padding:2px 8px;border-radius:4px;font-weight:500}.allergen-yes{background:#ef444426;color:#f87171}.allergen-trace{background:#eab30826;color:#facc15}.additive-list{display:flex;flex-wrap:wrap;gap:4px}.additive-badge{font-size:11px;padding:2px 8px;border-radius:4px;font-weight:500;background:#a855f726;color:#c084fc}.product-card-body{padding:0 16px 16px;border-top:1px solid var(--fn-border)}.product-images-row{display:flex;gap:12px;padding:16px 0;overflow-x:auto}.product-image-container{flex-shrink:0;text-align:center}.product-image{height:120px;max-width:180px;object-fit:contain;border-radius:6px;background:#fff;padding:4px}.product-image-label{display:block;font-size:10px;color:var(--fn-text-dim);margin-top:4px;text-transform:capitalize}.product-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:8px}.detail-section{padding:12px;background:var(--fn-surface-2);border-radius:6px}.detail-section.detail-full{grid-column:1 / -1}.detail-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--fn-accent);margin-bottom:8px}.no-data{font-size:12px;color:var(--fn-text-dim);font-style:italic}.nutrition-grid{display:grid;grid-template-columns:auto auto;gap:2px 12px;font-size:12px}.nutrition-grid span:nth-child(odd){color:var(--fn-text-muted)}.nutrition-grid span:nth-child(2n){text-align:right;font-variant-numeric:tabular-nums}.ingredients-text{font-size:12px;color:var(--fn-text-muted);line-height:1.6}.sources-list{display:flex;flex-wrap:wrap;gap:6px}.source-link{font-size:11px;padding:2px 8px;background:var(--fn-surface-3);border-radius:4px;color:var(--fn-accent);text-decoration:none;transition:background .15s}.source-link:hover{background:var(--fn-accent-dim)}.source-badge{font-size:10px;background:var(--fn-secondary-dim);color:var(--fn-secondary);padding:2px 8px;border-radius:4px;font-weight:600;white-space:nowrap;letter-spacing:.3px}.source-provider{font-size:12px;color:var(--fn-text-muted);margin-bottom:4px}.source-provider strong{color:var(--fn-text)}.source-duration{color:var(--fn-text-dim);font-size:11px}.source-confidence{font-size:12px;color:var(--fn-text-muted);display:flex;align-items:center;gap:6px;margin-bottom:8px}.confidence-pct{font-size:11px;color:var(--fn-text-dim)}.source-disclaimer{font-size:11px;color:var(--fn-text-dim);font-style:italic;margin:8px 0 0;padding-top:8px;border-top:1px solid var(--fn-border)}.enrichment-disclaimer{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;background:#eab30814;border:1px solid rgba(234,179,8,.2);border-radius:var(--fn-radius);font-size:12px;color:var(--fn-text-muted);line-height:1.5}.disclaimer-icon{font-size:16px;flex-shrink:0;margin-top:1px}.enrichment-disclaimer strong{color:var(--fn-warning)}@media(max-width:700px){.product-detail-grid{grid-template-columns:1fr}}.debug-toggle-btn{font-size:11px;padding:2px 8px;border-radius:4px;background:var(--fn-surface-3);border:1px solid var(--fn-border);color:var(--fn-text-dim);cursor:pointer;font-family:JetBrains Mono,monospace;transition:all .15s}.debug-toggle-btn:hover{background:var(--fn-surface-2);color:var(--fn-accent);border-color:var(--fn-accent)}.debug-toggle-active{background:var(--fn-accent-dim);color:var(--fn-accent);border-color:var(--fn-accent)}.debug-panel{position:fixed;bottom:0;right:0;width:480px;max-height:70vh;background:var(--fn-surface);border:1px solid var(--fn-border);border-bottom:none;border-right:none;border-radius:12px 0 0;display:flex;flex-direction:column;z-index:9999;box-shadow:-4px -4px 24px #0006;font-size:12px}.debug-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--fn-border);flex-shrink:0}.debug-panel-title{font-weight:700;font-size:13px;color:var(--fn-accent);font-family:JetBrains Mono,monospace}.debug-panel-actions{display:flex;gap:8px;align-items:center}.debug-refresh-btn{font-size:11px;padding:2px 10px;background:var(--fn-surface-3);border:1px solid var(--fn-border);border-radius:4px;color:var(--fn-text-muted);cursor:pointer;transition:all .15s}.debug-refresh-btn:hover{background:var(--fn-accent-dim);color:var(--fn-accent)}.debug-close-btn{font-size:14px;background:none;border:none;color:var(--fn-text-dim);cursor:pointer;padding:0 4px;line-height:1;font-family:JetBrains Mono,monospace}.debug-close-btn:hover{color:#ef4444}.debug-panel-body{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:10px}.debug-section{background:var(--fn-surface-2);border-radius:6px;padding:10px 12px}.debug-error-section{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5}.debug-section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--fn-text-dim);margin-bottom:6px}.debug-grid{display:grid;grid-template-columns:100px 1fr;gap:3px 12px;font-size:12px}.debug-grid>span:nth-child(odd){color:var(--fn-text-dim);font-size:11px}.debug-grid>span:nth-child(2n){color:var(--fn-text);font-family:JetBrains Mono,monospace;font-size:11px;word-break:break-all;display:flex;align-items:center}.debug-error-text{color:#ef4444!important}.debug-log{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;font-family:JetBrains Mono,monospace;font-size:11px}.debug-log-entry{display:flex;gap:6px;padding:2px 4px;border-radius:2px;align-items:baseline}.debug-log-info{background:transparent}.debug-log-error{background:#ef444414}.debug-log-time{color:var(--fn-text-dim);flex-shrink:0;min-width:65px;font-size:10px}.debug-log-type{color:var(--fn-accent);flex-shrink:0;min-width:120px;font-size:10px}.debug-log-msg{color:var(--fn-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.debug-footer{font-size:10px;color:var(--fn-text-dim);text-align:right;padding-top:4px}.image-carousel{background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px}.image-carousel-compact{width:56px;height:56px;border-radius:8px;overflow:hidden;cursor:pointer;border:1px solid var(--fn-border);transition:border-color .2s;flex-shrink:0}.image-carousel-compact:hover{border-color:var(--fn-accent)}.carousel-thumbnail{width:100%;height:100%;object-fit:cover}.carousel-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--fn-surface-2);color:var(--fn-text-dim);gap:2px}.carousel-placeholder-icon{font-size:18px;opacity:.5}.carousel-placeholder-text{font-size:9px;opacity:.5}.carousel-placeholder-emoji{font-size:24px;line-height:1;opacity:.9}.carousel-main{display:flex;align-items:center;gap:4px;min-height:120px}.carousel-arrow{background:var(--fn-surface-2);border:1px solid var(--fn-border);color:var(--fn-text);width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.carousel-arrow:hover:not(:disabled){background:var(--fn-surface-3);border-color:var(--fn-accent);color:var(--fn-accent)}.carousel-arrow:disabled{opacity:.3;cursor:not-allowed}.carousel-image-container{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;position:relative}.carousel-image{max-width:140px;max-height:120px;object-fit:contain;border-radius:6px;background:#fff}.carousel-source-badge{position:absolute;top:2px;right:2px;font-size:9px;font-weight:600;padding:1px 5px;border-radius:4px;line-height:1.4;letter-spacing:.02em;pointer-events:none}.carousel-source-openfoodfacts{background:#2d8a4e;color:#fff}.carousel-source-google{background:#4285f4;color:#fff}.carousel-source-upload{background:var(--fn-text-dim);color:#fff}.carousel-image-label{font-size:10px;color:var(--fn-text-dim);text-align:center;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.carousel-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--fn-text-dim)}.carousel-empty-icon{font-size:28px;opacity:.4}.carousel-empty-text{font-size:11px}.carousel-dots{display:flex;align-items:center;justify-content:center;gap:4px}.carousel-dot{width:6px;height:6px;border-radius:50%;border:none;background:var(--fn-text-dim);opacity:.3;cursor:pointer;padding:0;transition:all .2s}.carousel-dot.active{background:var(--fn-accent);opacity:1;transform:scale(1.3)}.carousel-counter{font-size:10px;color:var(--fn-text-dim);margin-left:6px}.carousel-actions{display:flex;gap:4px;flex-wrap:wrap}.carousel-btn{background:var(--fn-surface-2);border:1px solid var(--fn-border);color:var(--fn-text-secondary);padding:4px 8px;border-radius:6px;font-size:11px;cursor:pointer;transition:all .2s;white-space:nowrap}.carousel-btn:hover{background:var(--fn-surface-3);border-color:var(--fn-accent);color:var(--fn-text)}.carousel-btn-select{background:var(--fn-accent-dim);border-color:var(--fn-accent);color:var(--fn-accent);font-weight:500}.carousel-btn-select.selected{background:var(--fn-accent);color:#0a0a0a}.carousel-btn-close{margin-left:auto}.carousel-url-input{display:flex;gap:4px}.carousel-url-input input{flex:1;background:var(--fn-surface-2);border:1px solid var(--fn-border);color:var(--fn-text);padding:6px 8px;border-radius:6px;font-size:11px;outline:none}.carousel-url-input input:focus{border-color:var(--fn-accent)}.carousel-url-input button{background:var(--fn-accent);border:none;color:#0a0a0a;padding:6px 10px;border-radius:6px;font-size:11px;font-weight:500;cursor:pointer}.carousel-url-input button:disabled{opacity:.5;cursor:not-allowed}.btn-search-images{display:inline-flex;align-items:center;gap:6px;background:var(--fn-surface-2);border:1px dashed var(--fn-border);color:var(--fn-text-secondary);padding:8px 16px;border-radius:8px;font-size:13px;cursor:pointer;transition:all .2s}.btn-search-images:hover{border-color:var(--fn-accent);color:var(--fn-accent);background:var(--fn-accent-dim)}.btn-search-images.loading{pointer-events:none;opacity:.7}.image-search-progress{font-size:11px;color:var(--fn-text-dim);margin-left:8px}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 20%,#0a1628,#080808 60%);position:relative;overflow:hidden;opacity:0;transition:opacity .6s ease}.auth-container.auth-mounted{opacity:1}.auth-stars{position:absolute;inset:0;pointer-events:none;z-index:0}.auth-star{position:absolute;background:#fff;border-radius:50%;animation:auth-twinkle ease-in-out infinite}@keyframes auth-twinkle{0%,to{opacity:.1;transform:scale(.8)}50%{opacity:.9;transform:scale(1.2)}}.auth-card{position:relative;z-index:1;width:100%;max-width:400px;padding:40px 32px 32px;background:linear-gradient(180deg,#141416eb,#141416fa);border:1px solid var(--fn-border);border-radius:20px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 0 40px #a5ea070f,0 20px 60px #0006;display:flex;flex-direction:column;align-items:center;gap:0;animation:auth-card-float 6s ease-in-out infinite}@keyframes auth-card-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.beam-scene{position:relative;width:100px;height:100px;margin-bottom:8px}.beam-scene-ufo{position:absolute;top:0;left:50%;transform:translate(-50%);font-size:36px;line-height:1;animation:beam-ufo-hover 3s ease-in-out infinite;filter:drop-shadow(0 0 10px rgba(165,234,7,.5));z-index:2}@keyframes beam-ufo-hover{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-5px)}}.beam-scene-ray{position:absolute;top:34px;left:50%;transform:translate(-50%);width:24px;height:50px;background:linear-gradient(180deg,#a5ea0759,#a5ea071f,#a5ea0705);clip-path:polygon(25% 0%,75% 0%,100% 100%,0% 100%);animation:beam-ray-pulse 3s ease-in-out infinite;z-index:1}@keyframes beam-ray-pulse{0%,to{opacity:.5;width:24px}50%{opacity:1;width:32px}}.beam-scene-doc{position:absolute;bottom:4px;left:50%;transform:translate(-50%);font-size:22px;line-height:1;animation:beam-doc-float 3s ease-in-out infinite;z-index:2}@keyframes beam-doc-float{0%,to{transform:translate(-50%) translateY(0);opacity:.7}50%{transform:translate(-50%) translateY(-8px);opacity:1}}.beam-scene-particles{position:absolute;top:34px;left:50%;transform:translate(-50%);width:30px;height:50px;overflow:hidden;pointer-events:none;z-index:1}.beam-particle{position:absolute;bottom:0;width:2px;height:2px;background:var(--fn-accent);border-radius:50%;opacity:0;animation:beam-particle-rise 3s ease-out infinite}@keyframes beam-particle-rise{0%{transform:translateY(0);opacity:0}20%{opacity:.8}to{transform:translateY(-50px);opacity:0}}.auth-logo{height:28px;width:auto;margin-bottom:8px;opacity:.9}.auth-beam-title{font-size:28px;font-weight:800;letter-spacing:.16em;margin-bottom:4px}.auth-beam-title .beam-letter{display:inline-block;color:var(--fn-accent);animation:beam-letter-glow 2.5s ease-in-out infinite;text-shadow:0 0 8px rgba(165,234,7,.4)}@keyframes beam-letter-glow{0%,to{opacity:.7;text-shadow:0 0 4px rgba(165,234,7,.2)}50%{opacity:1;text-shadow:0 0 12px rgba(165,234,7,.6),0 0 24px rgba(165,234,7,.2)}}.auth-tagline{font-size:14px;color:var(--fn-text-muted);font-style:italic;margin-bottom:24px;letter-spacing:.03em}.auth-form{width:100%;display:flex;flex-direction:column;gap:14px}.auth-input-group{display:flex;align-items:center;gap:10px;background:var(--fn-surface-2);border:1px solid var(--fn-border);border-radius:12px;padding:4px 14px;transition:border-color .2s,box-shadow .2s}.auth-input-group:focus-within{border-color:var(--fn-accent);box-shadow:0 0 0 3px #a5ea071a,0 0 16px #a5ea070f}.auth-input-prefix{font-size:18px;line-height:1;flex-shrink:0}.auth-input{flex:1;background:transparent;border:none;outline:none;color:var(--fn-text);font-size:16px;padding:12px 0;letter-spacing:.02em}.auth-input::placeholder{color:var(--fn-text-dim)}.auth-otp-input{text-align:center;font-size:24px;letter-spacing:.4em;font-weight:600;font-family:JetBrains Mono,SF Mono,monospace}.auth-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 20px;font-size:15px;font-weight:600;border:none;border-radius:12px;cursor:pointer;background:var(--fn-accent);color:#080808;transition:all .2s ease;letter-spacing:.02em}.auth-btn:hover:not(:disabled){background:var(--fn-accent-hover);transform:translateY(-1px)}.auth-btn:active:not(:disabled){transform:translateY(0)}.auth-btn:disabled{opacity:.4;cursor:not-allowed}.auth-btn-glow{box-shadow:0 4px 16px #a5ea0740,0 0 40px #a5ea0714}.auth-btn-glow:hover:not(:disabled){box-shadow:0 6px 24px #a5ea0759,0 0 60px #a5ea071f}.auth-btn-icon{font-size:18px;line-height:1}.auth-btn-back{background:transparent;border:none;color:var(--fn-text-muted);font-size:13px;cursor:pointer;padding:8px;transition:color .2s}.auth-btn-back:hover{color:var(--fn-accent)}.auth-spinner{width:16px;height:16px;border:2px solid rgba(8,8,8,.3);border-top-color:#080808;border-radius:50%;animation:auth-spin .6s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-otp-info{text-align:center;font-size:13px;color:var(--fn-text-muted);padding:4px 0}.auth-otp-info strong{color:var(--fn-text)}.auth-dev-mode{width:100%;display:flex;flex-direction:column;align-items:center;gap:12px}.auth-dev-hint{font-size:11px;color:var(--fn-text-dim);text-transform:uppercase;letter-spacing:.1em;padding:4px 12px;border:1px dashed var(--fn-border);border-radius:6px}.auth-error{width:100%;text-align:center;font-size:13px;color:var(--fn-error);background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:8px;padding:10px 14px;margin-top:8px}.auth-footer{font-size:11px;color:var(--fn-text-dim);letter-spacing:.06em;margin-top:20px;opacity:.5}.header-nav{display:flex;align-items:center;gap:2px;background:var(--fn-surface-2);padding:3px;border-radius:10px;border:1px solid var(--fn-border)}.nav-tab{padding:6px 16px;font-size:13px;font-weight:500;color:var(--fn-text-muted);text-decoration:none;border-radius:7px;transition:all .2s ease;white-space:nowrap}.nav-tab:hover{color:var(--fn-text);background:var(--fn-surface-3)}.nav-tab-active{color:#080808;background:var(--fn-accent)!important;font-weight:600;box-shadow:0 2px 8px #a5ea0733}.nav-tab-active:hover{color:#080808;background:var(--fn-accent)!important;filter:brightness(1.1)}.nav-tab-foodnotify{display:inline-flex;align-items:center;padding:6px 10px}.nav-foodnotify-logo{height:16px;width:auto;opacity:.7;filter:brightness(0) invert(1);transition:opacity .2s ease}.nav-tab-foodnotify:hover .nav-foodnotify-logo{opacity:1}.optimus-btn{position:relative;cursor:pointer;background:none;border:2px solid transparent;border-radius:50%;padding:4px;transition:all .3s ease}.optimus-btn:hover{border-color:var(--fn-accent);box-shadow:0 0 12px #a5ea074d}.optimus-active{border-color:var(--fn-accent);box-shadow:0 0 16px #a5ea0780}.optimus-pulse{animation:optimus-pulse 2s ease-in-out infinite}@keyframes optimus-pulse{0%,to{box-shadow:0 0 #a5ea0766}50%{box-shadow:0 0 0 8px #a5ea0700}}.optimus-pulse:hover{animation:none}.optimus-badge{position:absolute;bottom:-4px;right:-4px;background:var(--fn-accent);color:#0a0a1a;font-size:9px;font-weight:800;padding:1px 4px;border-radius:8px;line-height:1.3;min-width:24px;text-align:center;box-shadow:0 1px 4px #0006}.profile-overlay{position:fixed;inset:0;background:#00000080;z-index:900;animation:profile-fade-in .2s ease}@keyframes profile-fade-in{0%{opacity:0}to{opacity:1}}.profile-panel{position:fixed;top:0;right:0;width:400px;max-width:90vw;height:100vh;background:var(--fn-surface);border-left:1px solid var(--fn-border);z-index:950;display:flex;flex-direction:column;animation:profile-slide-in .3s ease;box-shadow:-8px 0 24px #0000004d}@keyframes profile-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.profile-panel-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 12px;border-bottom:1px solid var(--fn-border)}.profile-panel-title{font-size:20px;font-weight:700;color:var(--fn-text);margin:0}.profile-panel-close{background:none;border:none;color:var(--fn-text-muted);font-size:20px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s}.profile-panel-close:hover{background:var(--fn-border);color:var(--fn-text)}.profile-completion{padding:12px 24px 16px;display:flex;align-items:center;gap:12px}.profile-completion-bar{flex:1;height:8px;background:var(--fn-border);border-radius:4px;overflow:hidden}.profile-completion-fill{height:100%;background:linear-gradient(90deg,#a5ea07,#7bc400);border-radius:4px;transition:width .5s ease}.profile-completion-text{font-size:13px;font-weight:600;color:var(--fn-accent);white-space:nowrap}.profile-panel-body{flex:1;overflow-y:auto;padding:16px 24px 32px}.profile-section{margin-bottom:24px}.profile-section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--fn-text-muted);margin:0 0 12px;padding-bottom:6px;border-bottom:1px solid var(--fn-border)}.profile-field{margin-bottom:12px}.profile-field label{display:block;font-size:12px;font-weight:600;color:var(--fn-text-muted);margin-bottom:4px}.profile-field input,.profile-field select{width:100%;padding:8px 12px;background:var(--fn-bg);border:1px solid var(--fn-border);border-radius:8px;color:var(--fn-text);font-size:14px;transition:border-color .2s}.profile-field input:focus,.profile-field select:focus{outline:none;border-color:var(--fn-accent);box-shadow:0 0 0 2px #a5ea0726}.profile-input-disabled{opacity:.6;cursor:not-allowed}.profile-field-hint{font-size:11px;color:var(--fn-text-muted);margin-top:2px}.profile-field-row{display:flex;gap:12px}.profile-save-btn{width:100%;padding:12px;background:var(--fn-accent);color:#0a0a1a;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px}.profile-save-btn:hover{background:#b8f520;box-shadow:0 4px 12px #a5ea074d}.profile-save-btn:disabled{opacity:.6;cursor:not-allowed}.profile-save-msg{text-align:center;font-size:13px;margin-top:8px;padding:6px;border-radius:6px}.profile-save-msg-success{color:#a5ea07;background:#a5ea0714}.profile-save-msg-error{color:#ff6b6b;background:#ff6b6b14}.profile-footer-hint{text-align:center;font-size:11px;color:var(--fn-text-muted);margin-top:12px}.profile-payment-verified{display:flex;align-items:center;gap:12px;padding:16px;background:#a5ea070f;border:1px solid rgba(165,234,7,.2);border-radius:10px}.profile-payment-icon{font-size:28px}.profile-payment-verified strong{color:var(--fn-accent);font-size:14px}.profile-payment-hint{font-size:12px;color:var(--fn-text-muted);margin:2px 0 0}.profile-plan-current{display:flex;align-items:center;gap:10px;margin-bottom:12px}.profile-plan-badge{display:inline-block;padding:4px 12px;border-radius:6px;font-size:13px;font-weight:700;letter-spacing:.5px}.profile-plan-cancelling{font-size:12px;color:#f59e0b}.profile-plan-renews{font-size:12px;color:var(--fn-text-muted)}.profile-plan-options{margin-top:8px}.profile-plan-card{background:#a5ea070a;border:1px solid rgba(165,234,7,.2);border-radius:10px;padding:16px}.profile-plan-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.profile-plan-card-header strong{color:var(--fn-accent);font-size:16px}.profile-plan-price{color:var(--fn-accent);font-size:20px;font-weight:700}.profile-plan-price small{font-size:12px;font-weight:400;color:var(--fn-text-muted)}.profile-plan-features{list-style:none;padding:0;margin:0 0 14px;font-size:13px;color:var(--fn-text-secondary)}.profile-plan-features li{padding:3px 0}.profile-plan-upgrade-btn{width:100%}.profile-plan-manage{display:flex;gap:8px;flex-wrap:wrap}.profile-plan-cancel-btn{color:#888!important;font-size:12px!important}.profile-plan-usage{margin:12px 0;display:flex;flex-direction:column;gap:6px}.profile-plan-usage-row{display:flex;justify-content:space-between;font-size:13px;color:var(--fn-text-muted)}.profile-plan-usage-value{font-weight:600;color:var(--fn-text)}.profile-plan-usage-bar{height:6px;background:var(--fn-bg);border-radius:3px;overflow:hidden}.profile-plan-usage-fill{height:100%;border-radius:3px;transition:width .3s ease}.profile-plan-card-enterprise{border-color:gold}.profile-plan-card-enterprise .profile-plan-card-header strong{color:gold}.upgrade-banner{margin-bottom:16px;border:1px solid var(--fn-accent);border-radius:12px;background:linear-gradient(135deg,#a5ea070f,#a5ea0705);overflow:hidden;animation:upgrade-fade-in .3s ease}@keyframes upgrade-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.upgrade-banner-content{display:flex;align-items:flex-start;gap:14px;padding:16px 20px}.upgrade-banner-icon{font-size:24px;flex-shrink:0;margin-top:2px}.upgrade-banner-text{flex:1;display:flex;flex-direction:column;gap:4px}.upgrade-banner-text strong{font-size:14px;color:var(--fn-text)}.upgrade-banner-subtitle{font-size:12px;color:var(--fn-text-muted)}.upgrade-banner-features{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--fn-text-muted)}.upgrade-banner-features li{white-space:nowrap}.upgrade-banner-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}.upgrade-banner-cta{white-space:nowrap;font-size:13px!important;padding:8px 16px!important}.upgrade-banner-dismiss{background:none;border:none;color:var(--fn-text-muted);cursor:pointer;font-size:14px;padding:2px 6px;opacity:.6}.upgrade-banner-dismiss:hover{opacity:1;color:var(--fn-text)}@media(max-width:600px){.upgrade-banner-content{flex-direction:column;gap:10px}.upgrade-banner-actions{flex-direction:row;width:100%;justify-content:space-between}}.stripe-form{display:flex;flex-direction:column;gap:12px}.stripe-element-container{padding:12px;background:var(--fn-bg);border:1px solid var(--fn-border);border-radius:10px;min-height:50px}.stripe-consent{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--fn-text-muted);cursor:pointer}.stripe-consent input[type=checkbox]{margin-top:2px;accent-color:var(--fn-accent)}.stripe-submit-btn{width:100%;padding:10px;background:var(--fn-accent);color:#0a0a1a;border:none;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.stripe-submit-btn:hover{background:#b8f520}.stripe-submit-btn:disabled{opacity:.5;cursor:not-allowed}.stripe-hint{font-size:11px;color:var(--fn-text-muted);text-align:center}.stripe-error-msg{color:#ff6b6b;font-size:13px;padding:8px;background:#ff6b6b14;border-radius:6px}.stripe-loading{display:flex;align-items:center;gap:8px;padding:16px;color:var(--fn-text-muted);font-size:13px}.stripe-error{display:flex;align-items:center;gap:8px;padding:12px;color:#ff6b6b;font-size:13px;background:#ff6b6b0f;border-radius:8px}.stripe-not-configured{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px;text-align:center;color:var(--fn-text-muted);font-size:13px}.stripe-icon{font-size:32px}.suggestion-banner{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(100px);background:var(--fn-surface);border:1px solid var(--fn-accent);border-radius:14px;padding:14px 20px;display:flex;align-items:center;gap:14px;z-index:800;box-shadow:0 8px 32px #0000004d,0 0 0 1px #a5ea0733;max-width:600px;width:90vw;opacity:0;transition:all .4s ease}.suggestion-banner-visible{transform:translate(-50%) translateY(0);opacity:1}.suggestion-banner-icon{font-size:28px;flex-shrink:0}.suggestion-banner-content{flex:1;min-width:0}.suggestion-banner-title{font-size:14px;font-weight:600;color:var(--fn-text);margin:0}.suggestion-banner-title strong{color:var(--fn-accent)}.suggestion-banner-subtitle{font-size:12px;color:var(--fn-text-muted);margin:2px 0 0}.suggestion-banner-actions{display:flex;gap:8px;flex-shrink:0}.suggestion-btn{padding:6px 14px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.suggestion-btn-accept{background:var(--fn-accent);color:#0a0a1a}.suggestion-btn-accept:hover{background:#b8f520}.suggestion-btn-dismiss{background:var(--fn-border);color:var(--fn-text-muted)}.suggestion-btn-dismiss:hover{background:var(--fn-text-muted);color:var(--fn-bg)}.supplier-dashboard{padding:24px;overflow-y:auto;max-height:100%}.supplier-dash-title{font-size:16px;font-weight:700;color:var(--fn-text);margin:0 0 20px;text-transform:uppercase;letter-spacing:.5px}.supplier-dash-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.supplier-dash-stat{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 8px;background:var(--fn-surface-2);border-radius:var(--fn-radius);border:1px solid var(--fn-border);transition:border-color .15s}.supplier-dash-stat:hover{border-color:var(--fn-border-light)}.supplier-dash-stat-icon{font-size:20px}.supplier-dash-stat-value{font-size:22px;font-weight:700;color:var(--fn-text);font-family:JetBrains Mono,Fira Code,monospace}.supplier-dash-stat-label{font-size:10px;color:var(--fn-text-dim);text-transform:uppercase;letter-spacing:.3px}.supplier-dash-section{margin-bottom:20px}.supplier-dash-section-title{font-size:11px;font-weight:600;color:var(--fn-text-dim);text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px}.supplier-dash-countries{display:flex;flex-wrap:wrap;gap:8px}.supplier-dash-country-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;font-size:12px;background:var(--fn-surface-2);border-radius:20px;color:var(--fn-text-muted);border:1px solid var(--fn-border)}.supplier-dash-country-pill strong{color:var(--fn-text);font-weight:700}.supplier-dash-country-pill.is-unknown{opacity:.6}.supplier-dash-top-list{display:flex;flex-direction:column;gap:6px}.supplier-dash-top-row{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--fn-surface-2);border:1px solid var(--fn-border);border-radius:var(--fn-radius);color:var(--fn-text);cursor:pointer;font-size:12px;text-align:left;transition:border-color .15s,background .15s;width:100%}.supplier-dash-top-row:hover{border-color:var(--fn-accent);background:var(--fn-surface-3)}.supplier-dash-top-rank{color:var(--fn-text-dim);font-weight:600;min-width:20px}.supplier-dash-top-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.supplier-dash-top-flag{font-size:14px}.supplier-dash-top-bar-bg{width:80px;height:6px;background:var(--fn-border);border-radius:3px;overflow:hidden}.supplier-dash-top-bar-fill{height:100%;background:var(--fn-accent);border-radius:3px;transition:width .3s ease}.supplier-dash-top-count{font-family:JetBrains Mono,Fira Code,monospace;font-weight:600;min-width:28px;text-align:right;color:var(--fn-text-muted)}.supplier-dash-recent-list{display:flex;flex-direction:column;gap:4px}.supplier-dash-recent-row{display:flex;align-items:center;gap:8px;padding:5px 10px;background:transparent;border:none;border-radius:var(--fn-radius);color:var(--fn-text);cursor:pointer;font-size:12px;text-align:left;width:100%;transition:background .15s}.supplier-dash-recent-row:hover{background:var(--fn-surface-2)}.supplier-dash-recent-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.supplier-dash-recent-date{color:var(--fn-text-dim);font-size:11px;white-space:nowrap}@media(max-width:600px){.supplier-dash-stats{grid-template-columns:repeat(2,1fr)}}.supplier-detail-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--fn-border)}.supplier-detail-header h3{color:var(--fn-text);margin:0}.supplier-detail-actions{display:flex;gap:8px;align-items:center}.supplier-save-ok{font-size:12px;color:var(--fn-accent);font-weight:500;animation:toastIn .3s ease}.supplier-detail-fields{display:flex;flex-direction:column;gap:12px}.field-view{display:flex;align-items:baseline;gap:12px}.field-label{font-size:12px;font-weight:600;color:var(--fn-text-muted);min-width:120px;text-transform:uppercase;letter-spacing:.3px}.field-value{font-size:14px;color:var(--fn-text)}.field-edit{display:flex;flex-direction:column;gap:4px}.field-input{padding:8px 12px;border:1px solid var(--fn-border);border-radius:var(--fn-radius);background:var(--fn-bg);color:var(--fn-text);font-size:14px}.field-input:focus{outline:none;border-color:var(--fn-secondary)}.supplier-knowledge,.supplier-corrections{margin-top:24px;padding-top:16px;border-top:1px solid var(--fn-border)}.supplier-knowledge h4,.supplier-corrections h4{color:var(--fn-secondary);font-size:14px;margin-bottom:12px}.knowledge-stats{display:flex;gap:24px}.stat-item{display:flex;flex-direction:column;align-items:center;gap:2px}.stat-value{font-size:24px;font-weight:700;color:var(--fn-text)}.stat-label{font-size:11px;color:var(--fn-text-dim);text-transform:uppercase;letter-spacing:.3px}.knowledge-aliases{margin-top:16px}.knowledge-aliases h5{font-size:12px;color:var(--fn-text-muted);margin-bottom:8px}.alias-list{display:flex;flex-direction:column;gap:4px}.alias-item{display:flex;align-items:center;gap:8px;font-size:13px}.alias-from{color:var(--fn-text-dim);text-decoration:line-through}.alias-arrow{color:var(--fn-secondary)}.alias-to{color:var(--fn-text);font-weight:500}.correction-frequent{display:flex;flex-direction:column;gap:6px}.correction-field{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--fn-surface-2);border-radius:var(--fn-radius);font-size:13px}.correction-field-name{color:var(--fn-text-muted);font-family:monospace;font-size:12px}.correction-field-count{color:var(--fn-secondary);font-weight:600;min-width:32px;text-align:right}.correction-field-bar{flex:1;height:4px;background:var(--fn-surface);border-radius:2px;margin:0 8px;overflow:hidden}.correction-field-fill{height:100%;background:var(--fn-secondary);border-radius:2px;transition:width .3s}.suppliers-empty-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--fn-text-dim)}.suppliers-empty-text{font-size:14px;max-width:400px;text-align:center}.supplier-card-category{margin-top:4px;font-size:11px;color:var(--fn-text-muted);background:var(--fn-surface-2);padding:1px 6px;border-radius:3px;display:inline-block}.supplier-tabs{display:flex;gap:0;border-bottom:1px solid var(--fn-border);margin-bottom:20px}.supplier-tab{padding:10px 18px;font-size:13px;font-weight:500;color:var(--fn-text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .15s}.supplier-tab:hover{color:var(--fn-text)}.supplier-tab.active{color:var(--fn-secondary);border-bottom-color:var(--fn-secondary)}.supplier-tab-content{padding-top:4px}.supplier-quick-stats{display:flex;gap:16px;margin-top:24px;padding-top:16px;border-top:1px solid var(--fn-border)}.quick-stat{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 20px;background:var(--fn-surface-2);border-radius:var(--fn-radius);flex:1}.quick-stat-icon{font-size:18px}.quick-stat-value{font-size:20px;font-weight:700;color:var(--fn-text)}.quick-stat-label{font-size:10px;color:var(--fn-text-dim);text-transform:uppercase;letter-spacing:.3px}.supplier-docs-loading,.supplier-docs-empty{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--fn-text-dim);font-size:13px}.supplier-docs-list{display:flex;flex-direction:column;gap:4px}.supplier-doc-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--fn-surface-2);border-radius:var(--fn-radius);transition:background .1s}.supplier-doc-row:hover{background:var(--fn-surface-3)}.supplier-doc-icon{font-size:20px;flex-shrink:0}.supplier-doc-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.supplier-doc-name{font-size:13px;font-weight:500;color:var(--fn-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.supplier-doc-meta{font-size:11px;color:var(--fn-text-dim)}.supplier-doc-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.supplier-doc-status{display:inline-flex;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600}.supplier-doc-date{font-size:11px;color:var(--fn-text-dim)}.supplier-doc-download{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;font-size:16px;text-decoration:none;background:var(--fn-surface-2);transition:background .15s}.supplier-doc-download:hover{background:var(--fn-accent)}.supplier-doc-complaint-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;font-size:14px;border:none;cursor:pointer;background:var(--fn-surface-2);transition:background .15s}.supplier-doc-complaint-btn:hover{background:#ef444426}.supplier-doc-preview-modal{background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:var(--fn-radius-lg);width:min(90vw,800px);height:min(90vh,900px);display:flex;flex-direction:column;overflow:hidden}.supplier-doc-preview-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--fn-border);gap:12px}.supplier-doc-preview-title{display:flex;flex-direction:column;gap:2px;min-width:0}.supplier-doc-preview-title>span:first-child{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.supplier-doc-preview-actions{display:flex;gap:8px;flex-shrink:0}.supplier-doc-preview-body{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:16px}.supplier-doc-preview-body .doc-preview{width:100%;height:100%}.supplier-doc-preview-body .doc-preview img{max-width:100%;max-height:calc(100% - 50px);object-fit:contain;border-radius:4px;box-shadow:0 2px 8px #0000001a}.supplier-doc-download{border:none;cursor:pointer}.supplier-badge.complaint{font-size:10px;padding:2px 6px;border-radius:4px;background:#ef444426;color:var(--fn-error);font-weight:600}.supplier-complaint-modal{background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:var(--fn-radius-lg);padding:24px;max-width:480px;width:90%;max-height:80vh;overflow-y:auto}.supplier-complaint-modal h3{color:var(--fn-text);margin:0 0 8px}.supplier-complaint-meta{font-size:12px;color:var(--fn-text-dim);margin-bottom:16px}.supplier-complaint-label{display:block;font-size:12px;font-weight:600;color:var(--fn-text);margin-bottom:6px;margin-top:12px}.supplier-complaint-types{display:flex;flex-wrap:wrap;gap:6px}.supplier-complaint-type-btn{padding:6px 12px;border-radius:6px;border:1px solid var(--fn-border);background:var(--fn-surface-2);color:var(--fn-text);font-size:12px;cursor:pointer;transition:all .15s}.supplier-complaint-type-btn:hover{border-color:var(--fn-accent);background:#a5ea071a;color:var(--fn-accent)}.supplier-complaint-type-btn.active{background:var(--fn-accent);color:#080808;border-color:var(--fn-accent);font-weight:600}.supplier-complaint-type-btn.active:hover{filter:brightness(1.1);color:#080808}.supplier-complaint-severities{display:flex;gap:8px}.supplier-complaint-sev-btn{flex:1;padding:6px 12px;border-radius:6px;border:1px solid var(--fn-border);background:var(--fn-surface-2);color:var(--fn-text);font-size:12px;cursor:pointer;font-weight:600;transition:all .15s}.supplier-complaint-sev-btn:hover{border-color:var(--fn-text-muted);background:var(--fn-surface-3)}.supplier-complaint-sev-btn.active.sev-low{background:#dcfce7;color:#166534;border-color:#22c55e}.supplier-complaint-sev-btn.active.sev-medium{background:#fef9c3;color:#854d0e;border-color:#eab308}.supplier-complaint-sev-btn.active.sev-high{background:#fee2e2;color:#991b1b;border-color:#ef4444}.supplier-complaint-sev-btn.active:hover{filter:brightness(1.05)}.supplier-complaint-note{width:100%;padding:8px 12px;border:1px solid var(--fn-border);border-radius:6px;background:var(--fn-surface-2);color:var(--fn-text);font-size:13px;font-family:inherit;resize:vertical}.supplier-complaint-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.supplier-complaint-photo-count{font-weight:400;color:var(--fn-text-muted);margin-left:4px}.supplier-complaint-photo-grid{display:flex;gap:8px;margin-bottom:8px}.supplier-complaint-photo-thumb{position:relative;width:80px;height:80px;border-radius:6px;overflow:hidden;border:1px solid var(--fn-border)}.supplier-complaint-photo-thumb img{width:100%;height:100%;object-fit:cover}.supplier-complaint-photo-remove{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;border:none;background:#000000a6;color:#fff;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.supplier-complaint-photo-remove:hover{background:#ef4444}.supplier-complaint-add-photo{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border:1px dashed var(--fn-border);border-radius:6px;background:transparent;color:var(--fn-text-muted);font-size:12px;cursor:pointer;transition:all .15s;margin-bottom:4px}.supplier-complaint-add-photo:hover{border-color:var(--fn-accent);color:var(--fn-accent);background:#a5ea070d}.price-review-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.price-review-modal{background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:var(--fn-radius-lg);padding:24px;max-width:680px;width:95%;max-height:80vh;overflow-y:auto}.price-review-header h3{color:var(--fn-text);margin:0 0 4px;font-size:16px}.price-review-subtitle{font-size:13px;color:var(--fn-text-dim);margin-bottom:16px}.price-review-table-wrap{overflow-x:auto}.price-review-table{width:100%;border-collapse:collapse;font-size:13px}.price-review-table th{text-align:left;padding:8px 10px;font-weight:600;color:var(--fn-text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--fn-border)}.price-review-table td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.05)}.price-review-num{text-align:right;font-variant-numeric:tabular-nums}.price-review-desc-text{display:block;font-weight:500;color:var(--fn-text)}.price-review-ean{font-size:11px;color:var(--fn-text-muted)}.price-review-row.severity-critical{background:#ef444414}.price-review-row.severity-warning{background:#eab3080f}.price-review-deviation.severity-critical{color:#ef4444;font-weight:700}.price-review-deviation.severity-warning{color:#eab308;font-weight:600}.price-review-input{width:80px;padding:4px 8px;border:1px solid var(--fn-border);border-radius:4px;background:var(--fn-surface-2);color:var(--fn-text);font-size:13px;text-align:right;font-variant-numeric:tabular-nums}.price-review-input:focus{border-color:var(--fn-accent);outline:none}.price-review-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.supplier-learning-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;color:var(--fn-text-dim);text-align:center}.supplier-learning-empty-hint{font-size:12px;color:var(--fn-text-muted);max-width:320px;margin-top:4px}.knowledge-fewshot{margin-top:16px}.knowledge-fewshot h5{font-size:12px;color:var(--fn-text-muted);margin-bottom:8px}.fewshot-list{display:flex;flex-direction:column;gap:6px}.fewshot-item{display:flex;align-items:center;gap:10px;padding:6px 10px;background:var(--fn-surface-2);border-radius:var(--fn-radius);font-size:12px}.fewshot-field{font-family:monospace;font-size:11px;color:var(--fn-text-muted);min-width:140px}.fewshot-change{display:flex;align-items:center;gap:6px}.fewshot-old{color:var(--fn-error);text-decoration:line-through;opacity:.7}.fewshot-arrow{color:var(--fn-secondary);font-weight:600}.fewshot-new{color:var(--fn-accent);font-weight:500}.supplier-logo{width:28px;height:28px;border-radius:6px;object-fit:contain;background:var(--fn-surface-2);flex-shrink:0}.supplier-logo-lg{width:48px;height:48px;border-radius:8px;object-fit:contain;background:var(--fn-surface-2);flex-shrink:0}.supplier-logo-fallback{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}.supplier-logo-fallback-lg{width:48px;height:48px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#fff;flex-shrink:0}.supplier-logo-upload-wrapper{position:relative;cursor:pointer;flex-shrink:0;border-radius:8px;transition:transform .15s,box-shadow .15s}.supplier-logo-upload-wrapper:hover{transform:scale(1.05);box-shadow:0 0 0 2px var(--fn-accent)}.supplier-logo-upload-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0000008c;border-radius:8px;font-size:18px;opacity:0;transition:opacity .15s;pointer-events:none}.supplier-logo-upload-wrapper:hover .supplier-logo-upload-overlay{opacity:1}.supplier-delete-btn{padding:6px 12px;font-size:12px;font-weight:500;color:var(--fn-error);background:none;border:1px solid rgba(239,68,68,.3);border-radius:var(--fn-radius);cursor:pointer;transition:all .15s}.supplier-delete-btn:hover{background:#ef44441a;border-color:var(--fn-error)}.supplier-delete-confirm{padding:16px;background:#ef44440d;border:1px solid rgba(239,68,68,.2);border-radius:var(--fn-radius);margin-bottom:16px}.supplier-delete-confirm p{font-size:14px;color:var(--fn-text);margin-bottom:8px}.supplier-delete-confirm .warning{font-size:12px;color:var(--fn-text-dim);margin-bottom:12px}.supplier-delete-confirm-actions{display:flex;gap:8px}.supplier-merge-banner{display:flex;align-items:center;gap:10px;padding:10px 16px;margin-bottom:12px;background:#eab30814;border:1px solid rgba(234,179,8,.25);border-radius:var(--fn-radius);font-size:13px;color:var(--fn-text);cursor:pointer;transition:all .15s}.supplier-merge-banner:hover{background:#eab3081f}.supplier-merge-banner-icon{font-size:16px}.supplier-merge-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.supplier-merge-modal{background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:var(--fn-radius-lg);padding:24px;max-width:500px;width:90%;max-height:70vh;overflow-y:auto}.supplier-merge-modal h3{color:var(--fn-text);margin-bottom:16px}.supplier-merge-pair{display:flex;align-items:center;gap:12px;padding:12px;background:var(--fn-surface-2);border-radius:var(--fn-radius);margin-bottom:8px}.supplier-merge-pair-names{flex:1;display:flex;flex-direction:column;gap:2px;font-size:13px}.supplier-merge-pair-arrow{color:var(--fn-secondary);font-weight:600}.switch-gauge{position:relative;margin-bottom:24px;padding:20px;background:var(--fn-surface-2);border-radius:var(--fn-radius-lg)}.switch-gauge-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.switch-gauge-title{font-size:14px;font-weight:600;color:var(--fn-text)}.switch-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600}.switch-badge.keep{background:#22c55e26;color:#22c55e}.switch-badge.monitor{background:#eab30826;color:#eab308}.switch-badge.consider_switch{background:#f9731626;color:#f97316}.switch-badge.switch{background:#ef444426;color:#ef4444}.switch-gauge-bar{height:8px;background:var(--fn-surface);border-radius:4px;overflow:hidden;margin-bottom:12px}.switch-gauge-fill{height:100%;border-radius:4px;transition:width .6s ease,background .3s}.switch-gauge-fill.low{background:#22c55e}.switch-gauge-fill.medium{background:#eab308}.switch-gauge-fill.high{background:#f97316}.switch-gauge-fill.critical{background:#ef4444}.switch-gauge-value{font-size:28px;font-weight:700;margin-bottom:4px}.switch-gauge-value.low{color:#22c55e}.switch-gauge-value.medium{color:#eab308}.switch-gauge-value.high{color:#f97316}.switch-gauge-value.critical{color:#ef4444}.switch-factors{margin-top:12px}.switch-factors-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--fn-text-muted);margin-bottom:6px}.switch-factor-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--fn-text-dim);padding:3px 0}.switch-factor-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.switch-factor-dot.low{background:#22c55e}.switch-factor-dot.medium{background:#eab308}.switch-factor-dot.high{background:#f97316}.switch-factor-dot.neutral{background:var(--fn-text-muted)}.score-bar-wrapper{position:relative}.score-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);padding:6px 10px;background:var(--fn-bg);border:1px solid var(--fn-border);border-radius:var(--fn-radius);font-size:11px;color:var(--fn-text-dim);white-space:nowrap;z-index:10;pointer-events:none}.score-bar-wrapper:hover .score-tooltip{display:block}@keyframes scoreBarPulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.score-bar-animating .score-bar-fill{animation:scoreBarPulse .6s ease}.scanner-steps{display:flex;align-items:center;justify-content:center;gap:0;padding:12px 24px;background:var(--fn-surface);border-bottom:1px solid var(--fn-border)}.scanner-step{display:flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:12px;color:var(--fn-text-dim);transition:all .2s}.scanner-step.active{background:var(--fn-secondary-dim);color:var(--fn-secondary);font-weight:600}.scanner-step.done{color:var(--fn-accent)}.scanner-step-num{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1.5px solid currentColor;font-size:11px;font-weight:600}.scanner-step.active .scanner-step-num{background:var(--fn-secondary);color:var(--fn-bg);border-color:var(--fn-secondary)}.scanner-step.done .scanner-step-num{border-color:var(--fn-accent)}.scanner-step-line{width:40px;height:1px;background:var(--fn-border);margin:0 4px}.scanner-upload-section{display:flex;flex-direction:column;align-items:center;min-height:calc(100vh - 160px);padding:0}.scanner-top-bar{display:flex;align-items:center;justify-content:center;gap:20px;padding:12px 24px;flex-wrap:wrap}.scanner-top-bar .scanner-country-bar{flex-direction:row;align-items:center;gap:8px;margin-bottom:0;border-left:1px solid var(--fn-border);padding-left:20px}.scanner-top-bar .scanner-country-label,.scanner-top-bar .scanner-country-wish-link{display:none}.scanner-top-bar .scanner-mode-switch{margin-bottom:0}.scanner-mode-switch{display:flex;gap:8px;justify-content:center;margin-bottom:12px}.scanner-mode-btn{display:flex;align-items:center;gap:6px;padding:8px 18px;border-radius:20px;border:1px solid var(--fn-border);background:transparent;color:var(--fn-text-muted);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.scanner-mode-btn:hover{border-color:var(--fn-accent);color:var(--fn-text)}.scanner-mode-btn.active{background:#a5ea071f;border-color:var(--fn-accent);color:var(--fn-accent)}.scanner-mode-icon{font-size:1rem}.scanner-mode-hint{text-align:center;color:var(--fn-text-muted);font-size:.8rem;margin:0 0 8px}.scanner-country-bar{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:16px}.scanner-country-label{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--fn-text-dim);font-weight:600}.scanner-country-pills{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.scanner-country-pill{display:flex;align-items:center;gap:5px;padding:7px 14px;border-radius:20px;border:1px solid var(--fn-border);background:transparent;color:var(--fn-text-muted);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit}.scanner-country-pill:hover{border-color:var(--fn-accent);color:var(--fn-text)}.scanner-country-pill.active{background:#a5ea071f;border-color:var(--fn-accent);color:var(--fn-accent)}.scanner-country-flag{font-size:1rem;line-height:1}.scanner-country-code{font-size:.8rem}.scanner-country-more{padding:7px 12px;border:none;background:transparent;color:var(--fn-text-dim);font-size:.8rem;cursor:pointer;font-family:inherit;transition:color .2s}.scanner-country-more:hover{color:var(--fn-text-muted)}.scanner-country-others{opacity:.7}.scanner-country-wish-link{border:none;background:transparent;color:var(--fn-text-dim);font-size:.75rem;cursor:pointer;text-decoration:underline;text-underline-offset:2px;margin-top:2px;font-family:inherit;transition:color .2s}.scanner-country-wish-link:hover{color:var(--fn-accent)}.wunschland-card{background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:12px;padding:20px 24px;max-width:400px;width:100%;text-align:center;margin:0 auto 12px}.wunschland-title{color:var(--fn-text);font-size:.9rem;font-weight:500;margin:0 0 10px}.wunschland-input{width:100%;padding:8px 12px;border:1px solid var(--fn-border);border-radius:8px;background:var(--fn-surface-2);color:var(--fn-text);font-size:.85rem;font-family:inherit;outline:none;transition:border-color .2s;box-sizing:border-box}.wunschland-input:focus{border-color:var(--fn-accent)}.wunschland-input::placeholder{color:var(--fn-text-dim)}.wunschland-actions{display:flex;gap:8px;justify-content:center;margin-top:12px}.wunschland-btn{padding:7px 16px;border-radius:8px;font-size:.8rem;font-weight:500;cursor:pointer;font-family:inherit;transition:all .2s}.wunschland-btn-primary{background:var(--fn-accent);color:#080808;border:none}.wunschland-btn-primary:hover{opacity:.9}.wunschland-btn-primary:disabled{opacity:.4;cursor:not-allowed}.wunschland-btn-ghost{background:transparent;color:var(--fn-text-muted);border:1px solid var(--fn-border)}.wunschland-btn-ghost:hover{color:var(--fn-text);border-color:var(--fn-text-muted)}.wunschland-success{color:var(--fn-accent);font-weight:500;margin-bottom:12px}.contract-done-card{background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:12px;padding:40px 32px;text-align:center;max-width:480px;margin:0 auto}.contract-done-icon{font-size:3rem;margin-bottom:12px}.contract-done-title{font-size:1.3rem;font-weight:600;color:var(--fn-text);margin:0 0 8px}.contract-done-subtitle{color:var(--fn-text-muted);font-size:.9rem;margin:0 0 20px}.contract-done-meta{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:24px}.contract-done-badge{display:inline-flex;padding:4px 12px;border-radius:12px;background:#a5ea071f;color:var(--fn-accent);font-size:.78rem;font-weight:500}.contract-done-info{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:12px;background:#3b82f61a;color:#60a5fa;font-size:.78rem}.contract-done-loan{background:#f59e0b1a;color:#fbbf24}.contract-done-actions{display:flex;gap:10px;justify-content:center}.save-toast{position:fixed;bottom:24px;right:24px;padding:10px 18px;background:var(--fn-surface);border:1px solid var(--fn-accent);border-radius:var(--fn-radius);color:var(--fn-accent);font-size:13px;font-weight:500;z-index:1000;animation:toastIn .3s ease}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.save-toast-error{border-color:#ef444480;color:#fca5a5;background:#1e0a0af2}.save-toast-products{border-color:#4ade8080;color:#4ade80;background:#0a1e0af2;font-weight:600}.scanner-pricecheck-hint{position:fixed;bottom:70px;right:24px;padding:10px 18px;background:#0a1428f2;border:1px solid rgba(59,130,246,.4);border-radius:8px;color:#93c5fd;font-size:13px;cursor:pointer;z-index:800;animation:toastIn .3s ease;display:flex;align-items:center;gap:8px;transition:border-color .15s}.scanner-pricecheck-hint:hover{border-color:#3b82f6cc}.scanner-pricecheck-hint-link{font-weight:600;color:#60a5fa}.upload-zone.rejected{border-color:#ef444480;animation:shake .4s ease}.upload-reject-msg{color:#fca5a5;font-size:13px;margin-top:8px;text-align:center;animation:toastIn .3s ease}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@media(max-width:600px){.save-toast{left:16px;right:16px;bottom:16px;text-align:center}.upload-zone{padding:32px 20px;max-width:100%;margin:0 12px}.upload-zone h2{font-size:17px}.upload-zone p{font-size:13px}.beam-platform{width:90px;height:90px;margin-bottom:16px}.beam-ring-1{width:45px;height:45px}.beam-ring-2{width:68px;height:68px}.beam-ring-3{width:90px;height:90px}.beam-platform-icon{font-size:30px}.scanner-top-bar{flex-direction:column;gap:10px;padding:10px 16px}.scanner-top-bar .scanner-country-bar{border-left:none;padding-left:0}.scanner-mode-switch{gap:6px}.scanner-mode-btn{padding:6px 12px;font-size:12px}.error-card{max-width:100%;margin:0 12px;padding:24px 16px}.processing-progress-container{max-width:100%}.processing-steps{gap:2px}.processing-step span{font-size:10px}.beam-scene{transform:scale(.75);margin:-20px 0}.contract-done-card{margin:0 12px;padding:24px 16px}.contract-done-meta{flex-direction:column}}@media(prefers-reduced-motion:reduce){.ufo-agent-wrapper,.ufo-cargo,.beam-star,.beam-traction-cone,.beam-particles .beam-particle,.bg-ufo{animation:none!important}.upload-zone.drag-over{transform:none}}.history-page{padding:24px;max-width:1200px;margin:0 auto}.history-header{display:flex;align-items:baseline;gap:16px;margin-bottom:24px}.history-header h2{color:var(--fn-text)}.history-count{font-size:13px;color:var(--fn-text-dim)}.history-loading,.history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;color:var(--fn-text-dim)}.history-table-wrap{overflow-x:auto;border:1px solid var(--fn-border);border-radius:var(--fn-radius-lg)}.history-table{width:100%;border-collapse:collapse;font-size:13px}.history-table th{background:var(--fn-surface);padding:10px 14px;text-align:left;font-size:11px;font-weight:600;color:var(--fn-text-muted);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--fn-border)}.history-table td{padding:10px 14px;border-bottom:1px solid var(--fn-border);color:var(--fn-text)}.history-row{cursor:pointer;transition:background .1s}.history-row:hover{background:var(--fn-surface-2)}.history-row.active{background:var(--fn-surface-3)}.history-name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-items,.history-total{text-align:right}.history-status{display:inline-flex;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.status-extracted{background:#a1a1aa26;color:var(--fn-text-muted)}.status-reviewed{background:var(--fn-secondary-dim);color:var(--fn-secondary)}.status-enriched{background:var(--fn-accent-dim);color:var(--fn-accent)}.history-provider{font-size:11px;color:var(--fn-text-dim)}.history-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px}.pagination-info{font-size:13px;color:var(--fn-text-muted)}.history-detail{margin-top:24px;padding:24px;background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:var(--fn-radius-lg)}.history-detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.history-detail-header h3{color:var(--fn-text);margin:0}.history-detail-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--fn-text-muted);margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--fn-border)}.history-detail-items h4{font-size:14px;color:var(--fn-secondary);margin-bottom:12px}.history-items-table{width:100%;border-collapse:collapse;font-size:13px}.history-items-table th{padding:8px 12px;text-align:left;font-size:11px;font-weight:600;color:var(--fn-text-muted);text-transform:uppercase;border-bottom:1px solid var(--fn-border)}.history-items-table td{padding:8px 12px;border-bottom:1px solid var(--fn-border);color:var(--fn-text)}.doc-type-badge{display:inline-flex;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.doc-type-badge.invoice{background:#3b82f61f;color:#3b82f6}.doc-type-badge.deliveryNote{background:#10b9811f;color:#10b981}.doc-type-badge.creditNote{background:#ef44441f;color:#ef4444}.history-detail-meta-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--fn-border)}.history-meta-item{display:flex;flex-direction:column;gap:2px}.history-meta-label{font-size:11px;font-weight:600;color:var(--fn-text-muted);text-transform:uppercase;letter-spacing:.3px}.history-meta-value{font-size:13px;color:var(--fn-text)}.history-totals-bar{display:flex;flex-wrap:wrap;gap:20px;padding:12px 16px;margin-bottom:16px;background:var(--fn-surface-2, rgba(0,0,0,.03));border-radius:var(--fn-radius);border:1px solid var(--fn-border)}.history-total-item{display:flex;flex-direction:column;gap:2px}.history-total-item.is-gross{font-weight:600}.history-total-item.is-vat-breakdown{flex:1;min-width:200px}.history-total-label{font-size:11px;color:var(--fn-text-muted);text-transform:uppercase;font-weight:600;letter-spacing:.3px}.history-total-value{font-size:14px;color:var(--fn-text)}.history-item-type-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;font-size:13px}.history-item-type-badge.type-product{background:#3b82f61a}.history-item-type-badge.type-deposit{background:#eab30826}.history-item-type-badge.type-return{background:#ef44441a}.history-item-type-badge.type-discount{background:#10b9811a}.history-item-type-badge.type-fee{background:#a162071f}.history-item-deposit{background:#eab3080a}.history-item-return{background:#ef44440a}.history-item-discount{background:#10b9810a}.history-item-fee{background:#a162070a}.history-item-artnr{font-size:11px;color:var(--fn-text-dim);margin-left:4px}.history-items-summary{display:flex;flex-wrap:wrap;gap:12px;padding:10px 12px;font-size:12px;color:var(--fn-text-muted);border-top:1px solid var(--fn-border);margin-top:4px}.history-items-summary .type-deposit{color:#ca8a04}.history-items-summary .type-return{color:#ef4444}.history-items-summary .type-discount{color:#10b981}.history-items-summary .type-fee{color:#92400e}.history-detail-actions{display:flex;align-items:center;gap:8px}.btn-sm{padding:4px 10px;font-size:12px}.btn-ghost{background:transparent;border:none;cursor:pointer;color:var(--fn-text-muted);font-size:16px;padding:4px 8px;border-radius:var(--fn-radius);transition:background .15s,color .15s}.btn-ghost:hover{background:var(--fn-surface-3, rgba(255,255,255,.06));color:var(--fn-text)}@media(max-width:768px){.suppliers-layout{grid-template-columns:1fr}.suppliers-list{max-height:250px}}.learning-hints-banner{background:#ff8c0014;border:1px solid rgba(255,140,0,.25);border-radius:8px;margin-bottom:16px;overflow:hidden}.learning-hints-header{display:flex;align-items:center;gap:8px;padding:10px 14px;cursor:pointer;-webkit-user-select:none;user-select:none}.learning-hints-header:hover{background:#ff8c000d}.learning-hints-icon{font-size:16px}.learning-hints-title{flex:1;font-size:13px;font-weight:600;color:var(--fn-secondary, #ff8c00)}.learning-hints-count{font-size:11px;background:var(--fn-secondary-dim, rgba(255, 140, 0, .15));color:var(--fn-secondary, #ff8c00);padding:2px 7px;border-radius:10px;font-weight:600}.learning-hints-toggle{font-size:10px;color:var(--fn-text-dim)}.learning-hints-list{list-style:none;padding:0 14px 12px;margin:0;display:flex;flex-direction:column;gap:6px}.learning-hint-item{font-size:12px;color:var(--fn-text);display:flex;align-items:flex-start;gap:8px;padding:6px 0;border-top:1px solid rgba(255,140,0,.1)}.learning-hint-icon{flex-shrink:0;font-size:13px}.learning-hints-banner.collapsed .learning-hints-list{display:none}.score-tab{padding:8px 0}.score-tab-loading{text-align:center;padding:40px;font-size:24px}.score-overall{text-align:center;padding:16px;margin-bottom:20px;background:#ffffff08;border-radius:8px}.score-overall-label{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#9ca3af;margin-bottom:4px}.score-overall-value{font-size:42px;font-weight:700;line-height:1.1}.score-overall-max{font-size:16px;font-weight:400;color:#6b7280}.score-overall-bar{height:6px;background:#1f2937;border-radius:3px;margin-top:8px;overflow:hidden}.score-overall-fill{height:100%;border-radius:3px;transition:width .6s ease}.score-section{margin-bottom:20px}.score-section-title{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#6b7280;margin:0 0 10px;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.06)}.score-bar-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.score-bar-label{flex:0 0 160px;font-size:12px;color:#d1d5db}.score-bar-track{flex:1;height:8px;background:#1f2937;border-radius:4px;overflow:hidden}.score-bar-fill{height:100%;border-radius:4px;transition:width .6s ease;min-width:2px}.score-bar-value{flex:0 0 32px;font-size:12px;font-weight:600;text-align:right}.rating-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.rating-label{font-size:12px;color:#d1d5db}.star-rating{display:flex;gap:2px}.star-btn{background:none;border:none;font-size:20px;cursor:pointer;padding:0 1px;transition:transform .1s;line-height:1}.star-btn:hover{transform:scale(1.2)}.star-filled{color:#eab308}.star-empty{color:#374151}.rating-notes{margin-top:10px}.rating-notes-input{width:100%;background:#1a1a1e;border:1px solid #374151;border-radius:6px;color:#e5e7eb;padding:8px 10px;font-size:12px;resize:vertical;margin-top:4px}.rating-notes-input:focus{border-color:#a5ea07;outline:none}.rating-notes-input::placeholder{color:#6b7280}.score-actions{display:flex;gap:8px;margin-top:16px}.score-meta{display:flex;flex-direction:column;gap:2px;font-size:10px;color:#6b7280;margin-bottom:16px;padding:6px 8px;background:#ffffff05;border-radius:4px}.score-empty{text-align:center;padding:40px 20px;color:#6b7280}.score-message{margin-top:8px;font-size:12px;color:#a5ea07;text-align:center}.supplier-card-badges{display:flex;align-items:center;gap:4px}.supplier-score-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:20px;border-radius:4px;font-size:10px;font-weight:700;color:#fff}.admin-page{padding:24px;max-width:1200px;margin:0 auto}.admin-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px}.admin-header h2{color:var(--fn-text);font-size:22px;font-weight:600}.admin-refresh-btn{background:var(--fn-surface-2);border:1px solid var(--fn-border);border-radius:var(--fn-radius);color:var(--fn-text-muted);padding:6px 14px;font-size:13px;cursor:pointer;transition:all .15s}.admin-refresh-btn:hover{background:var(--fn-surface-3);color:var(--fn-text)}.admin-section{margin-bottom:32px}.admin-section h3{color:var(--fn-text);font-size:15px;font-weight:600;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--fn-border)}.admin-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-bottom:16px}.admin-stat-card{background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:var(--fn-radius-lg);padding:16px}.admin-stat-value{font-size:24px;font-weight:600;color:var(--fn-accent);font-family:JetBrains Mono,Fira Code,monospace}.admin-stat-label{font-size:11px;color:var(--fn-text-muted);margin-top:4px;text-transform:uppercase;letter-spacing:.5px}.admin-stat-sub{font-size:11px;color:var(--fn-text-dim);margin-top:4px}.admin-table{width:100%;border-collapse:collapse;font-size:13px;background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:var(--fn-radius-lg);overflow:hidden}.admin-table th{padding:10px 14px;text-align:left;font-size:10px;font-weight:600;text-transform:uppercase;color:var(--fn-text-dim);letter-spacing:.5px;background:var(--fn-surface-2);border-bottom:1px solid var(--fn-border)}.admin-table td{padding:8px 14px;border-bottom:1px solid var(--fn-border);color:var(--fn-text)}.admin-table tr:last-child td{border-bottom:none}.admin-table-compact td,.admin-table-compact th{padding:6px 12px}.admin-mono{font-family:JetBrains Mono,Fira Code,monospace;font-size:12px}.admin-filename{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-provider-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.admin-provider-groq{background:#ff8c0026;color:var(--fn-secondary)}.admin-provider-gemini{background:#4285f426;color:#4285f4}.admin-provider-claude{background:#a5ea0726;color:var(--fn-accent)}.admin-providers{display:flex;align-items:center;gap:16px;margin:12px 0;font-size:13px}.admin-providers-label{color:var(--fn-text-muted)}.admin-provider-status{display:inline-flex;align-items:center;gap:6px;color:var(--fn-text)}.admin-provider-dot{width:8px;height:8px;border-radius:50%}.admin-provider-dot.available{background:var(--fn-success);box-shadow:0 0 6px #22c55e66}.admin-provider-dot.unavailable{background:var(--fn-error)}.admin-status-row{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.admin-status-badge{padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600}.admin-status-extracted{background:#eab30826;color:var(--fn-warning)}.admin-status-reviewed{background:#4285f426;color:#4285f4}.admin-status-enriched{background:#22c55e26;color:var(--fn-success)}.admin-bar{height:6px;background:var(--fn-accent);border-radius:3px;min-width:4px;opacity:.7}.admin-debug-details,.admin-activity-details{margin-top:12px}.admin-debug-details summary,.admin-activity-details summary{cursor:pointer;color:var(--fn-text-muted);font-size:13px;font-weight:500;margin-bottom:8px;-webkit-user-select:none;user-select:none}.admin-debug-details summary:hover,.admin-activity-details summary:hover{color:var(--fn-text)}.admin-debug-log{max-height:300px;overflow-y:auto;font-family:JetBrains Mono,Fira Code,monospace;font-size:11px;background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:var(--fn-radius);padding:10px}.admin-debug-entry{padding:4px 0;border-bottom:1px solid var(--fn-border);display:flex;gap:10px;align-items:center}.admin-debug-entry:last-child{border-bottom:none}.admin-debug-time{color:var(--fn-text-dim);min-width:70px}.admin-debug-type{color:var(--fn-text);font-weight:500}.admin-debug-tag{color:var(--fn-text-muted);font-size:10px;padding:1px 6px;background:var(--fn-surface-2);border-radius:3px}.nav-tab-admin{opacity:.6;font-size:12px}.nav-tab-admin.nav-tab-active{opacity:1}.admin-footer{text-align:center;font-size:11px;color:var(--fn-text-dim);padding:16px 0;border-top:1px solid var(--fn-border);margin-top:16px}.admin-danger-zone{border:2px solid var(--fn-error)!important;border-radius:8px;margin-top:32px;background:#ef44440d}.admin-danger-title{color:var(--fn-error)!important;display:flex;align-items:center;gap:8px;border-bottom-color:#ef444433!important}.admin-danger-title span{font-size:20px}.admin-danger-desc{color:var(--fn-text-dim);font-size:14px;margin:8px 0 16px}.admin-danger-btn{background:var(--fn-error);color:#fff;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:opacity .15s}.admin-danger-btn:hover{opacity:.9}.admin-danger-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999}.admin-danger-modal{background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:12px;padding:24px;max-width:480px;width:90%;box-shadow:0 20px 60px #0006}.admin-danger-modal-title{margin:0 0 8px;font-size:20px;color:var(--fn-text)}.admin-danger-warning{background:#ef44441a;border:1px solid rgba(239,68,68,.25);border-radius:8px;padding:12px;margin:12px 0;font-size:14px;color:#f87171;line-height:1.5}.admin-danger-label{display:block;font-size:14px;color:var(--fn-text-dim);margin-bottom:6px}.admin-danger-input{width:100%;padding:8px 12px;border:2px solid var(--fn-border);border-radius:6px;font-size:16px;font-family:monospace;box-sizing:border-box;outline:none;color:var(--fn-text);background:var(--fn-surface-2)}.admin-danger-input.confirmed{border-color:var(--fn-error)}.admin-danger-input:focus{border-color:var(--fn-text-dim)}.admin-danger-input::placeholder{color:var(--fn-text-dim);opacity:.5}.admin-danger-result{margin-top:12px;padding:10px;border-radius:6px;font-size:14px}.admin-danger-result.success{background:#22c55e1a;color:#4ade80;border:1px solid rgba(34,197,94,.25)}.admin-danger-result.error{background:#ef44441a;color:#f87171;border:1px solid rgba(239,68,68,.25)}.admin-danger-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.admin-danger-confirm-btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;background:var(--fn-error);color:#fff}.admin-danger-confirm-btn:disabled{background:var(--fn-surface-3);color:var(--fn-text-dim);cursor:not-allowed}.admin-services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.admin-service-card{background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:var(--fn-radius-lg);padding:16px;transition:border-color .15s}.admin-service-card:hover{border-color:var(--fn-text-dim)}.admin-service-disabled{opacity:.45}.admin-service-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.admin-service-name{font-weight:600;font-size:14px;color:var(--fn-text)}.admin-service-type{font-size:11px;color:var(--fn-text-dim);margin-bottom:8px}.admin-service-pricing{font-size:11px;color:var(--fn-text-muted);padding:4px 8px;background:var(--fn-surface-2);border-radius:4px;margin-bottom:8px;line-height:1.4}.admin-service-cost{font-size:13px;color:var(--fn-accent);font-weight:600;margin-bottom:6px}.admin-service-usage{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;color:var(--fn-text-muted)}.admin-service-usage span{padding:2px 8px;background:var(--fn-surface-2);border-radius:4px}.admin-loading,.admin-error{text-align:center;padding:80px 20px;color:var(--fn-text-muted);font-size:14px}.admin-error{color:var(--fn-error)}@media(max-width:768px){.admin-page{padding:16px}.admin-cards{grid-template-columns:repeat(2,1fr)}.admin-stat-value{font-size:20px}.admin-table{font-size:12px}}.admin-tabs{display:flex;gap:4px}.admin-tab{padding:8px 20px;border:1px solid var(--fn-border);border-radius:var(--fn-radius) var(--fn-radius) 0 0;background:var(--fn-surface-2);color:var(--fn-text-muted);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;border-bottom:2px solid transparent}.admin-tab:hover{background:var(--fn-surface-3);color:var(--fn-text)}.admin-tab.active{background:var(--fn-surface);color:var(--fn-accent);border-bottom-color:var(--fn-accent);font-weight:600}.admin-users{margin-top:8px}.admin-users-toolbar{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.admin-users-search{flex:1;min-width:200px;padding:8px 12px;border:1px solid var(--fn-border);border-radius:var(--fn-radius);background:var(--fn-surface-2);color:var(--fn-text);font-size:13px;outline:none}.admin-users-search:focus{border-color:var(--fn-accent)}.admin-users-search::placeholder{color:var(--fn-text-dim)}.admin-users-filter{padding:8px 10px;border:1px solid var(--fn-border);border-radius:var(--fn-radius);background:var(--fn-surface-2);color:var(--fn-text);font-size:13px;cursor:pointer;outline:none}.admin-users-count{font-size:12px;color:var(--fn-text-dim);margin-bottom:8px}.admin-users-table{table-layout:fixed}.admin-user-row{cursor:pointer;transition:background .1s}.admin-user-row:hover{background:var(--fn-surface-2)}.admin-user-row.is-selected{background:var(--fn-surface-2);border-left:3px solid var(--fn-accent)}.admin-user-row.is-suspended{opacity:.6}.admin-user-name{font-weight:500;color:var(--fn-text);font-size:13px}.admin-user-company{font-size:11px;color:var(--fn-text-dim);margin-top:2px}.admin-user-email{font-size:12px;color:var(--fn-text-muted);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-date{font-size:11px}.admin-plan-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.admin-plan-badge-free{background:var(--fn-surface-3);color:var(--fn-text-dim)}.admin-plan-badge-pro{background:#a5ea0726;color:var(--fn-accent)}.admin-plan-badge-enterprise{background:#ffc80026;color:#ffc800}.admin-role-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase}.admin-role-badge-user{background:var(--fn-surface-3);color:var(--fn-text-muted)}.admin-role-badge-admin{background:#8b5cf626;color:#a78bfa}.admin-role-badge-support{background:#4285f426;color:#4285f4}.admin-status-chip{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600}.admin-status-active{background:#22c55e26;color:var(--fn-success)}.admin-status-suspended{background:#ef444426;color:var(--fn-error)}.admin-users-empty{text-align:center;padding:40px 20px!important;color:var(--fn-text-dim);font-size:14px}.admin-users-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px}.admin-users-page-info{font-size:13px;color:var(--fn-text-muted)}.admin-user-detail-row td{padding:0!important;border-bottom:2px solid var(--fn-accent)!important}.admin-user-detail{padding:20px;background:var(--fn-surface);position:relative}.admin-user-feedback{position:absolute;top:8px;right:16px;padding:6px 14px;background:#a5ea0726;color:var(--fn-accent);border-radius:var(--fn-radius);font-size:12px;font-weight:600;animation:feedbackFadeIn .2s ease}@keyframes feedbackFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.admin-user-detail-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}.admin-user-detail-col h4{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--fn-text-dim);margin:0 0 12px;padding-bottom:6px;border-bottom:1px solid var(--fn-border)}.admin-dl{display:grid;grid-template-columns:90px 1fr;gap:4px 8px;font-size:12px}.admin-dl dt{color:var(--fn-text-dim);font-weight:500}.admin-dl dd{color:var(--fn-text);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-action-row{display:flex;align-items:center;gap:8px;margin-bottom:12px}.admin-user-action-row label{font-size:12px;color:var(--fn-text-muted);min-width:50px}.admin-user-usage{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.admin-user-usage-item{display:flex;flex-direction:column;align-items:center;padding:8px 12px;background:var(--fn-surface-2);border-radius:var(--fn-radius);min-width:60px}.admin-user-usage-value{font-size:18px;font-weight:600;color:var(--fn-accent);font-family:JetBrains Mono,monospace}.admin-user-usage-label{font-size:10px;color:var(--fn-text-dim);text-transform:uppercase;margin-top:2px}.admin-user-features{display:flex;flex-wrap:wrap;gap:4px}.admin-feature-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .15s}.admin-feature-chip:hover{border-color:var(--fn-text-dim)}.admin-feature-chip.is-active{background:#22c55e1f;color:var(--fn-success)}.admin-feature-chip.is-blocked{background:#ef444414;color:var(--fn-text-dim)}.admin-feature-chip.is-override{border-color:var(--fn-accent)}.admin-feature-dot{width:6px;height:6px;border-radius:50%}.admin-feature-chip.is-active .admin-feature-dot{background:var(--fn-success)}.admin-feature-chip.is-blocked .admin-feature-dot{background:var(--fn-error);opacity:.5}.admin-feature-override-marker{font-size:8px;color:var(--fn-accent);margin-left:2px}.admin-user-feature-hint{font-size:10px;color:var(--fn-text-dim);margin-top:6px}.admin-user-suspend-section{margin-top:16px}.admin-suspend-btn{background:var(--fn-error);color:#fff;border:none;border-radius:var(--fn-radius);padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;width:100%;transition:opacity .15s}.admin-suspend-btn:hover{opacity:.9}.admin-suspend-btn:disabled{opacity:.5;cursor:not-allowed}.admin-unsuspend-btn{background:var(--fn-success);color:#fff;border:none;border-radius:var(--fn-radius);padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;width:100%;margin-top:8px;transition:opacity .15s}.admin-unsuspend-btn:hover{opacity:.9}.admin-user-suspended-info{background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:var(--fn-radius);padding:12px}.admin-user-suspended-badge{font-size:12px;color:var(--fn-error);font-weight:600}.admin-user-suspended-reason{font-size:11px;color:var(--fn-text-dim);margin-top:4px}.admin-user-recent-docs{margin-top:16px}.admin-user-doc-item{display:flex;justify-content:space-between;align-items:baseline;padding:4px 0;border-bottom:1px solid var(--fn-border);font-size:12px}.admin-user-doc-item:last-child{border-bottom:none}.admin-user-doc-name{color:var(--fn-text);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-doc-meta{color:var(--fn-text-dim);font-size:11px;white-space:nowrap}@media(max-width:900px){.admin-user-detail-grid{grid-template-columns:1fr;gap:16px}}.bulk-page{padding:24px 32px;max-width:1200px;margin:0 auto}.bulk-title{font-size:20px;font-weight:700;margin-bottom:24px;color:var(--fn-text)}.bulk-section-title{font-size:16px;font-weight:600;margin-bottom:16px;color:var(--fn-text)}.bulk-error{display:flex;align-items:center;justify-content:space-between;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--fn-radius);padding:12px 16px;margin-bottom:16px;color:#fca5a5;font-size:13px}.bulk-upload{display:flex;flex-direction:column;align-items:center;gap:16px}.bulk-upload .upload-zone{max-width:640px}.bulk-upload .upload-zone.has-files{border-color:var(--fn-accent);background:var(--fn-accent-dim)}.bulk-upload-actions{display:flex;gap:12px}.bulk-file-list-section{width:100%;max-width:640px}.bulk-file-list{max-height:200px;overflow:auto;border:1px solid var(--fn-border);border-radius:var(--fn-radius);background:var(--fn-surface);padding:8px;margin-bottom:12px}.bulk-file-item{display:flex;justify-content:space-between;padding:5px 8px;font-size:13px}.bulk-file-name{color:var(--fn-text)}.bulk-file-size{color:var(--fn-text-dim);font-variant-numeric:tabular-nums}.bulk-start-btn{width:100%;justify-content:center;font-size:14px;padding:10px 24px}.bulk-processing{max-width:800px}.bulk-progress-section{margin-bottom:24px}.bulk-failed-count{color:var(--fn-error)}.bulk-file-status-list{display:flex;flex-direction:column;gap:6px}.bulk-file-status-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:var(--fn-radius);transition:all .2s}.bulk-file-status-item.is-done{border-color:#22c55e4d;background:#22c55e0d}.bulk-file-status-item.is-failed{border-color:#ef44444d;background:#ef44440d}.bulk-file-status-icon{font-size:18px;flex-shrink:0}.bulk-file-status-info{flex:1;min-width:0}.bulk-file-status-name{font-weight:500;font-size:13px;color:var(--fn-text)}.bulk-file-status-step{font-size:12px;color:var(--fn-text-dim)}.bulk-file-status-count{font-size:12px;color:var(--fn-text-muted)}.bulk-file-status-error{font-size:12px;color:var(--fn-error)}.bulk-stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:24px}.bulk-stat-card{background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:var(--fn-radius-lg);padding:16px;text-align:center;transition:border-color .2s}.bulk-stat-card.is-accent{border-color:var(--fn-accent);background:var(--fn-accent-dim)}.bulk-stat-card.is-warn{border-color:var(--fn-secondary);background:var(--fn-secondary-dim)}.bulk-stat-card.is-warn .bulk-stat-value{color:var(--fn-secondary)}.bulk-stat-value{font-size:24px;font-weight:700;color:var(--fn-text);font-variant-numeric:tabular-nums;font-family:JetBrains Mono,Fira Code,monospace}.bulk-stat-card.is-accent .bulk-stat-value{color:var(--fn-accent)}.bulk-stat-label{font-size:11px;color:var(--fn-text-dim);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.bulk-merge-section{margin-bottom:24px}.bulk-merge-title{color:var(--fn-warning)}.bulk-merge-item{display:flex;align-items:center;gap:16px;padding:14px 16px;background:#eab3080f;border:1px solid rgba(234,179,8,.25);border-radius:var(--fn-radius);margin-bottom:8px}.bulk-merge-info{flex:1;min-width:0}.bulk-merge-candidate{font-weight:500;font-size:14px;color:var(--fn-text)}.bulk-merge-match{font-size:13px;color:var(--fn-text-muted);margin-top:4px}.bulk-merge-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--fn-text-dim);margin-right:4px}.bulk-merge-confidence{color:var(--fn-text-dim);margin-left:4px}.bulk-merge-hint{font-size:11px;color:var(--fn-text-dim);margin-top:6px;font-style:italic}.bulk-merge-actions{display:flex;gap:8px;flex-shrink:0}.bulk-action-bar{display:flex;gap:10px;margin-bottom:24px;flex-wrap:wrap}.bulk-product-section{margin-top:8px}.admin-table-wrap{border:1px solid var(--fn-border);border-radius:var(--fn-radius-lg);overflow:hidden}.admin-table-wrap .admin-table{border:none;border-radius:0}.bulk-enriching{display:flex;flex-direction:column;align-items:center;padding:48px 0;text-align:center}.bulk-enriching .bulk-section-title{margin-top:16px}.bulk-enrich-progress{width:100%;max-width:420px;margin-top:16px}.bulk-enrich-current{font-size:12px;color:var(--fn-text-dim);margin-top:6px;font-style:italic}@media(max-width:768px){.bulk-page{padding:16px}.bulk-stats-grid{grid-template-columns:repeat(2,1fr)}.bulk-merge-item{flex-direction:column;align-items:flex-start}.bulk-action-bar{flex-direction:column}.bulk-action-bar .btn{width:100%;justify-content:center}}.products-page{padding:24px 32px;max-width:1200px;margin:0 auto}.products-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.products-title{font-size:20px;font-weight:700;color:var(--fn-text);margin:0}.products-count{font-size:14px;color:var(--fn-text-dim);font-weight:400}.products-header-actions{display:flex;gap:8px}.export-dropdown-wrapper{position:relative}.export-dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:20;min-width:160px;background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:var(--fn-radius);box-shadow:0 8px 24px #0006;overflow:hidden}.export-dropdown-item{display:block;width:100%;padding:10px 16px;text-align:left;background:none;border:none;color:var(--fn-text);font-size:13px;cursor:pointer;transition:background .15s}.export-dropdown-item:hover{background:var(--fn-surface-2)}.products-filters{display:flex;gap:12px;margin-bottom:20px}.products-search-input{flex:1;padding:8px 14px;border-radius:var(--fn-radius);border:1px solid var(--fn-border);background:var(--fn-surface);color:var(--fn-text);font-size:13px;outline:none;transition:border-color .15s}.products-search-input:focus{border-color:var(--fn-accent)}.products-search-input::placeholder{color:var(--fn-text-dim)}.supplier-multi-select{position:relative;min-width:200px}.supplier-multi-select-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 14px;border-radius:var(--fn-radius);border:1px solid var(--fn-border);background:var(--fn-surface);color:var(--fn-text);font-size:13px;cursor:pointer;outline:none;transition:border-color .15s}.supplier-multi-select-btn:hover,.supplier-multi-select-btn:focus{border-color:var(--fn-accent)}.supplier-multi-select-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.supplier-multi-select-chevron{font-size:10px;color:var(--fn-text-dim);flex-shrink:0}.supplier-multi-select-dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:100%;max-height:300px;overflow-y:auto;background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:var(--fn-radius);box-shadow:0 8px 32px #0006;z-index:100;padding:4px 0}.supplier-multi-select-option{display:flex;align-items:center;gap:10px;width:100%;padding:9px 14px;background:transparent;border:none;color:var(--fn-text);font-size:13px;cursor:pointer;text-align:left;transition:background .1s}.supplier-multi-select-option:hover{background:#a5ea0714}.supplier-multi-select-option.is-active{background:#a5ea071f;color:var(--fn-accent)}.supplier-multi-select-check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:3px;border:1px solid var(--fn-border-light, var(--fn-border));font-size:12px;flex-shrink:0}.supplier-multi-select-option.is-active .supplier-multi-select-check{background:var(--fn-accent);border-color:var(--fn-accent);color:#080808}.supplier-multi-select-divider{height:1px;background:var(--fn-border);margin:4px 0}.products-empty{text-align:center;padding:48px 24px;color:var(--fn-text-dim);font-size:14px}.products-row{cursor:pointer;transition:background .15s}.products-row:hover{background:var(--fn-surface-2)}.products-row.is-selected{background:var(--fn-accent-dim)}.products-detail-row td{padding:0!important;border-bottom:2px solid var(--fn-border)!important}.price-cell{display:inline-flex;align-items:center;gap:6px}.price-trend{font-size:11px;font-weight:600;padding:1px 6px;border-radius:4px;white-space:nowrap}.price-trend.is-up{color:var(--fn-error);background:#ef44441f}.price-trend.is-down{color:var(--fn-success);background:#22c55e1f}.products-pim-panel{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:20px 16px;background:var(--fn-surface-2);border-radius:0 0 var(--fn-radius) var(--fn-radius)}.products-pim-panel.is-editing{border-left:3px solid var(--fn-accent)}.products-pim-loading{grid-column:1 / -1;text-align:center;padding:32px;color:var(--fn-text-dim);font-size:13px}.products-pim-hero{grid-column:1 / -1;display:flex;gap:20px;align-items:flex-start}.products-pim-hero-image{width:100px;height:100px;border-radius:var(--fn-radius);background:var(--fn-surface);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;border:1px solid var(--fn-border);position:relative}.products-pim-hero-image.is-swappable{cursor:pointer}.products-pim-hero-image.is-swappable:hover{border-color:var(--fn-accent)}.products-pim-hero-image-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000080;opacity:0;transition:opacity .2s;border-radius:var(--fn-radius);font-size:24px}.products-pim-hero-image.is-swappable:hover .products-pim-hero-image-overlay{opacity:1}.products-pim-hero-image img{width:100%;height:100%;object-fit:cover}.products-image-picker{grid-column:1 / -1;background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:var(--fn-radius);padding:12px}.products-image-picker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.products-image-picker-header .products-pim-section-title{margin:0}.products-image-picker-actions{display:flex;gap:6px}.products-image-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}.products-image-picker-item{position:relative;width:100%;aspect-ratio:1;border-radius:6px;overflow:hidden;border:2px solid var(--fn-border);cursor:pointer;transition:border-color .15s,transform .15s;background:var(--fn-bg)}.products-image-picker-item:hover{border-color:var(--fn-accent);transform:scale(1.05)}.products-image-picker-item.is-selected{border-color:var(--fn-success, #22c55e);box-shadow:0 0 0 2px var(--fn-success, #22c55e)}.products-image-picker-item img{width:100%;height:100%;object-fit:cover}.products-image-picker-check{position:absolute;top:4px;right:4px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--fn-success, #22c55e);color:#fff;border-radius:50%;font-size:11px;font-weight:700}.products-image-picker-source{position:absolute;bottom:2px;left:2px;font-size:9px;padding:1px 4px;border-radius:3px;background:#0009;color:#fff}.products-pim-hero-emoji{font-size:40px;line-height:1}.products-pim-hero-info{flex:1;display:flex;flex-direction:column;gap:4px}.products-pim-hero-name{font-size:18px;font-weight:700;color:var(--fn-text);margin:0}.products-pim-hero-meta{font-size:12px;color:var(--fn-text-dim);display:flex;flex-wrap:wrap;gap:8px;align-items:center}.products-pim-hero-meta span{display:inline-flex;align-items:center;gap:3px}.products-pim-hero-desc{font-size:13px;color:var(--fn-text-muted);margin-top:4px;line-height:1.4}.products-pim-hero-certs{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.products-pim-section{display:flex;flex-direction:column;gap:8px}.products-pim-section.is-full{grid-column:1 / -1}.products-pim-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--fn-text-dim);margin:0}.products-supplier-list{display:flex;flex-direction:column;gap:8px}.products-supplier-card{padding:10px 12px;background:var(--fn-surface);border-radius:var(--fn-radius);border:1px solid var(--fn-border);font-size:13px}.products-supplier-card.is-main{border-color:var(--fn-accent);background:#f973160f}.products-supplier-card-header{display:flex;align-items:center;gap:6px;font-weight:600;color:var(--fn-text);margin-bottom:4px}.products-supplier-card-header .crown{font-size:14px}.products-supplier-card-label{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--fn-accent);letter-spacing:.03em}.products-supplier-card-details{display:flex;flex-wrap:wrap;gap:4px 16px;color:var(--fn-text-muted);font-size:12px}.products-supplier-card-details strong{color:var(--fn-text)}.price-comparison-banner{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding:8px 12px;margin-bottom:8px;background:#a5ea0714;border:1px solid rgba(165,234,7,.3);border-radius:var(--fn-radius);font-size:13px}.price-comparison-cheapest{color:var(--fn-success, #4ade80)}.price-comparison-savings{color:var(--fn-text-muted)}.price-comparison-savings strong{color:var(--fn-success, #4ade80)}.products-supplier-card.is-cheapest{border-color:var(--fn-success, #4ade80);background:#4ade800f}.cheapest-badge{font-size:14px}.cheapest-label{color:var(--fn-success, #4ade80)!important}.price-cheapest{color:var(--fn-success, #4ade80);font-weight:600}.price-diff-badge{display:inline-block;margin-left:6px;padding:1px 5px;font-size:10px;background:#ef444426;color:#ef4444;border-radius:3px}.products-nutrition-grid{display:grid;grid-template-columns:1fr auto;gap:2px 12px;font-size:13px;color:var(--fn-text-muted)}.products-nutrition-grid .n-label{color:var(--fn-text)}.products-nutrition-grid .n-sub{padding-left:12px;color:var(--fn-text-muted)}.products-nutrition-grid .n-value{text-align:right;font-variant-numeric:tabular-nums}.products-badge-row{display:flex;flex-wrap:wrap;gap:6px}.products-badge-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .15s}.products-badge-toggle:hover{opacity:.8}.products-badge-inactive{opacity:.35;filter:grayscale(.6)}.products-detail-badges{display:flex;flex-wrap:wrap;gap:6px}.products-detail-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:500}.products-detail-badge.is-gluten{background:#eab30826;color:#facc15}.products-detail-badge.is-nut{background:#a855f726;color:#c084fc}.products-ingredients-text{font-size:13px;color:var(--fn-text-muted);line-height:1.5;background:var(--fn-surface);padding:10px 12px;border-radius:var(--fn-radius);border:1px solid var(--fn-border)}.products-price-sparkline{display:block;margin-bottom:8px}.products-price-table-wrap{max-height:240px;overflow:auto}.products-price-table .price-col-supplier{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.products-price-table .price-col-nowrap{white-space:nowrap}.products-price-table .price-col-unit{padding-left:20px;min-width:55px;white-space:nowrap}.products-price-table.admin-table-compact td,.products-price-table.admin-table-compact th{padding:5px 8px}.price-row-clickable{cursor:pointer}.price-row-clickable:hover{background:#a78bfa0f}.price-row-editing{background:#a5ea070f;outline:1px solid rgba(165,234,7,.2);outline-offset:-1px}.price-edit-cell{display:flex;align-items:center;gap:4px;justify-content:flex-end}.price-edit-input{padding:3px 6px;border:1px solid var(--fn-border, rgba(255,255,255,.15));border-radius:4px;background:var(--fn-bg-input, rgba(0,0,0,.3));color:var(--fn-text, #e0e0e0);font-size:12px;font-family:JetBrains Mono,monospace;font-variant-numeric:tabular-nums;text-align:right}.price-edit-input:focus{outline:none;border-color:var(--fn-accent, #a5ea07);box-shadow:0 0 0 1px #a5ea0733}.price-edit-qty{width:72px}.price-edit-unit{width:50px;text-align:left}.price-edit-price{width:80px}.price-edit-actions{display:flex;gap:4px;justify-content:flex-end}.btn-icon-success{background:transparent;border:none;color:#4ade80;cursor:pointer;font-size:14px;font-weight:700;padding:2px 6px;border-radius:4px;transition:all .15s}.btn-icon-success:hover{background:#4ade8026}.btn-icon-success:disabled{opacity:.3;cursor:not-allowed}.btn-icon-muted{background:transparent;border:none;color:var(--fn-text-dim, #888);cursor:pointer;font-size:14px;padding:2px 6px;border-radius:4px;transition:all .15s}.btn-icon-muted:hover{background:#ffffff0f;color:var(--fn-text, #e0e0e0)}.products-packaging-info{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.products-pkg-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;font-size:.75rem;font-weight:500;border-radius:var(--fn-radius-sm, 4px);background:var(--fn-surface-2);color:var(--fn-text-muted);border:1px solid var(--fn-border)}.products-no-data{font-size:12px;color:var(--fn-text-dim);font-style:italic}.products-edit-input{width:100%;padding:5px 8px;border-radius:var(--fn-radius);border:1px solid var(--fn-border);background:var(--fn-surface);color:var(--fn-text);font-size:13px;outline:none;transition:border-color .15s}.products-edit-input:focus{border-color:var(--fn-accent)}.products-edit-textarea{width:100%;padding:8px;border-radius:var(--fn-radius);border:1px solid var(--fn-border);background:var(--fn-surface);color:var(--fn-text);font-size:13px;outline:none;resize:vertical;min-height:48px;font-family:inherit;transition:border-color .15s}.products-edit-textarea:focus{border-color:var(--fn-accent)}.products-edit-number{width:80px;padding:4px 6px;border-radius:var(--fn-radius);border:1px solid var(--fn-border);background:var(--fn-surface);color:var(--fn-text);font-size:12px;text-align:right;outline:none;font-variant-numeric:tabular-nums}.products-edit-number:focus{border-color:var(--fn-accent)}.products-actions-bar{grid-column:1 / -1;display:flex;gap:8px;padding-top:8px;border-top:1px solid var(--fn-border);flex-wrap:wrap}.products-actions-bar .btn{font-size:12px;padding:6px 14px}.products-enrich-progress{grid-column:1 / -1;display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--fn-surface);border-radius:var(--fn-radius);border:1px solid var(--fn-border)}.products-enrich-progress-bar{height:4px;background:var(--fn-border);border-radius:2px;overflow:hidden}.products-enrich-progress-fill{height:100%;background:var(--fn-accent);border-radius:2px;transition:width .3s ease}.products-enrich-progress-text{font-size:12px;color:var(--fn-text-muted);text-align:center}.products-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding:10px 0}.products-pagination-sizes{display:flex;gap:4px}.products-pagination-size-btn{background:transparent;border:1px solid var(--fn-border);color:var(--fn-text-muted);padding:4px 10px;border-radius:var(--fn-radius);font-size:12px;cursor:pointer;transition:all .15s}.products-pagination-size-btn:hover{border-color:var(--fn-accent);color:var(--fn-text)}.products-pagination-size-btn.is-active{background:var(--fn-accent);color:var(--fn-bg);border-color:var(--fn-accent);font-weight:600}.products-pagination-nav{display:flex;align-items:center;gap:4px}.products-pagination-arrow{background:transparent;border:1px solid var(--fn-border);color:var(--fn-text-muted);width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--fn-radius);cursor:pointer;font-size:16px;transition:all .15s}.products-pagination-arrow:hover:not(:disabled){border-color:var(--fn-accent);color:var(--fn-text)}.products-pagination-arrow:disabled{opacity:.3;cursor:default}.products-pagination-page{background:transparent;border:1px solid transparent;color:var(--fn-text-muted);width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--fn-radius);cursor:pointer;font-size:13px;transition:all .15s}.products-pagination-page:hover{border-color:var(--fn-border);color:var(--fn-text)}.products-pagination-page.is-active{background:var(--fn-accent);color:var(--fn-bg);font-weight:600}.products-pagination-ellipsis{width:20px;text-align:center;color:var(--fn-text-dim);font-size:13px}.products-pagination-info{font-size:12px;color:var(--fn-text-muted);white-space:nowrap}.products-save-toast{position:fixed;bottom:24px;right:24px;background:var(--fn-success, #22c55e);color:#fff;padding:8px 16px;border-radius:var(--fn-radius);font-size:13px;font-weight:600;z-index:1000;animation:fadeInUp .2s ease}.price-radar-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.price-radar-stats{padding:14px 16px;background:var(--fn-surface, #1e1e2e);border:1px solid var(--fn-border);border-radius:var(--fn-radius, 8px)}.price-radar-stats-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--fn-text-muted);margin-bottom:10px}.price-radar-stats-row{display:flex;justify-content:space-between;align-items:baseline;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px}.price-radar-stats-row:last-child{border-bottom:none}.price-radar-stats-label{color:var(--fn-text-muted);font-size:12px}.price-radar-stats-value{font-family:JetBrains Mono,monospace;font-weight:600;font-size:14px}.price-radar-stats-value.is-min{color:var(--fn-success, #22c55e)}.price-radar-stats-value.is-max{color:var(--fn-error, #ef4444)}.price-radar-stats-value.is-avg{color:var(--fn-text)}.price-radar-stats-meta{font-size:11px;color:var(--fn-text-dim, #666);margin-top:1px}.price-radar-stats-footer{font-size:11px;color:var(--fn-text-dim, #666);padding-top:6px;margin-top:4px;border-top:1px solid rgba(255,255,255,.05)}.price-radar-gebinde-hint{color:var(--fn-warning, #f59e0b);cursor:help;font-style:italic}.price-radar-checks{padding:14px 16px;background:var(--fn-surface, #1e1e2e);border:1px solid var(--fn-border);border-radius:var(--fn-radius, 8px);display:flex;flex-direction:column;gap:8px}.price-radar-checks-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--fn-text-muted);margin-bottom:2px}.price-radar-check-item{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;border-left:3px solid var(--fn-border);border-radius:0 6px 6px 0;background:#ffffff05;font-size:13px}.price-radar-check-item.is-conform{border-left-color:var(--fn-success, #22c55e)}.price-radar-check-item.is-warning{border-left-color:var(--fn-warning, #eab308);background:#eab3080a}.price-radar-check-item.is-critical{border-left-color:var(--fn-error, #ef4444);background:#ef44440a}.price-radar-check-item.is-none{border-left-color:var(--fn-text-dim, #555);opacity:.6}.price-radar-check-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:4px}.price-radar-check-dot.is-conform{background:var(--fn-success, #22c55e)}.price-radar-check-dot.is-warning{background:var(--fn-warning, #eab308)}.price-radar-check-dot.is-critical{background:var(--fn-error, #ef4444)}.price-radar-check-dot.is-none{background:var(--fn-text-dim, #555)}.price-radar-check-body{flex:1;min-width:0}.price-radar-check-label{font-weight:600;color:var(--fn-text);font-size:12px}.price-radar-check-detail{color:var(--fn-text-muted);font-size:11px;margin-top:2px}.price-radar-gauge{padding:16px;background:var(--fn-surface, #1e1e2e);border:1px solid var(--fn-border);border-radius:var(--fn-radius, 8px)}.price-radar-gauge-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.price-radar-gauge-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--fn-text-muted)}.price-radar-gauge-track-wrap{position:relative;padding:24px 0 0;margin-bottom:6px}.price-radar-gauge-track{position:relative;height:8px;background:linear-gradient(to right,#22c55e40,#eab30840,#ef444440);border-radius:4px}.price-radar-gauge-marker{position:absolute;top:-4px;width:16px;height:16px;border-radius:50%;background:var(--fn-accent, #a5ea07);border:2px solid var(--fn-surface, #1e1e2e);transform:translate(-50%);box-shadow:0 0 8px #a5ea0780;z-index:2}.price-radar-gauge-current-label{position:absolute;top:0;transform:translate(-50%);font-size:11px;font-weight:700;color:var(--fn-accent, #a5ea07);white-space:nowrap;font-family:JetBrains Mono,monospace}.price-radar-gauge-labels{display:flex;justify-content:space-between;margin-top:6px}.price-radar-gauge-label{font-size:11px;font-family:JetBrains Mono,monospace}.price-radar-gauge-label.is-min{color:var(--fn-success, #22c55e)}.price-radar-gauge-label.is-max{color:var(--fn-error, #ef4444)}.price-radar-gauge-footer{display:flex;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.05);font-size:12px;color:var(--fn-text-muted)}.price-radar-gauge-footer strong{color:var(--fn-text)}.price-radar-volatility-tag{display:inline-block;padding:1px 6px;border-radius:4px;font-size:11px;font-weight:600}.price-radar-volatility-tag.is-low{background:#22c55e1f;color:var(--fn-success, #22c55e)}.price-radar-volatility-tag.is-medium{background:#eab3081f;color:var(--fn-warning, #eab308)}.price-radar-volatility-tag.is-high{background:#ef44441f;color:var(--fn-error, #ef4444)}.price-radar-trend{font-weight:600}.price-radar-trend.is-up{color:var(--fn-error, #ef4444)}.price-radar-trend.is-down{color:var(--fn-success, #22c55e)}.price-radar-trend.is-stable{color:var(--fn-text-muted)}.price-health-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-left:6px;vertical-align:middle}.price-health-dot.is-warning{background:var(--fn-warning, #eab308)}.price-health-dot.is-critical{background:var(--fn-error, #ef4444);animation:priceHealthPulse 2s ease-in-out infinite}@keyframes priceHealthPulse{0%,to{opacity:1;box-shadow:0 0 #ef444466}50%{opacity:.7;box-shadow:0 0 0 4px #ef444400}}.price-radar-empty{padding:20px;text-align:center;color:var(--fn-text-dim, #666);font-size:13px;background:var(--fn-surface, #1e1e2e);border:1px solid var(--fn-border);border-radius:var(--fn-radius, 8px)}@media(max-width:768px){.products-page{padding:16px}.products-header{flex-direction:column;align-items:flex-start;gap:12px}.products-filters{flex-direction:column}.supplier-multi-select{min-width:100%}.products-pim-panel{grid-template-columns:1fr}.products-pim-hero{flex-direction:column;align-items:center;text-align:center}.products-pim-hero-meta,.products-pim-hero-certs{justify-content:center}.price-radar-grid{grid-template-columns:1fr}}.cc{max-width:1100px;margin:0 auto;padding:24px 0}.cc-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.cc-title{display:flex;align-items:center;gap:10px}.cc-title h2{font-size:18px;font-weight:700;color:var(--fn-accent);font-family:JetBrains Mono,Fira Code,SF Mono,monospace;text-transform:uppercase;letter-spacing:2px;margin:0}.cc-title-icon{font-size:24px;animation:beam-hover 3s ease-in-out infinite}.cc-title-sub{font-size:12px;color:var(--fn-text-dim);font-family:JetBrains Mono,Fira Code,monospace;letter-spacing:.5px}.cc-header-counter{font-family:JetBrains Mono,monospace;font-size:14px;font-weight:600;color:var(--fn-accent);background:var(--fn-accent-dim);padding:4px 12px;border-radius:99px;letter-spacing:.5px}.cc-terminal{background:#0a0a0a;border:1px solid var(--fn-border);border-radius:var(--fn-radius-lg);overflow:hidden}.cc-terminal-compact{margin-bottom:20px}.cc-terminal-compact .cc-terminal-body{max-height:160px}.cc-terminal-header{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--fn-surface);border-bottom:1px solid var(--fn-border)}.cc-terminal-dot{width:10px;height:10px;border-radius:50%}.cc-dot-red{background:#ef4444}.cc-dot-yellow{background:#eab308}.cc-dot-green{background:#22c55e}.cc-terminal-title{font-size:11px;color:var(--fn-text-dim);font-family:JetBrains Mono,monospace;margin-left:8px}.cc-terminal-body{padding:12px 16px;max-height:320px;overflow-y:auto;font-family:JetBrains Mono,Fira Code,SF Mono,monospace;font-size:12px;line-height:1.8}.cc-terminal-body::-webkit-scrollbar{width:6px}.cc-terminal-body::-webkit-scrollbar-track{background:transparent}.cc-terminal-body::-webkit-scrollbar-thumb{background:var(--fn-border);border-radius:3px}.cc-log{white-space:pre-wrap;word-break:break-word}.cc-log-spacer{height:8px}.cc-log-ts{color:var(--fn-text-dim);margin-right:8px}.cc-log-info .cc-log-text{color:var(--fn-accent)}.cc-log-success .cc-log-text{color:#22c55e}.cc-log-error .cc-log-text{color:#ef4444}.cc-log-system .cc-log-text{color:var(--fn-secondary);font-weight:600}.cc-log-highlight .cc-log-text{color:#fff;font-weight:700;letter-spacing:1px}.cc-cursor{display:inline-block;width:7px;height:14px;background:var(--fn-accent);animation:cc-blink 1s step-end infinite;vertical-align:middle;margin-top:4px;border-radius:1px}@keyframes cc-blink{0%,to{opacity:1}50%{opacity:0}}.cc-processing{position:relative;overflow:hidden}.cc-processing:before{content:"";position:absolute;top:0;left:0;right:0;height:100%;background:linear-gradient(180deg,rgba(165,234,7,.1) 0%,rgba(165,234,7,.04) 20%,rgba(165,234,7,.01) 45%,transparent 65%);pointer-events:none;z-index:0;opacity:0;border-radius:var(--fn-radius-lg);transition:opacity .6s ease}.cc-processing.is-active-scan:before{opacity:1;animation:cc-beam-pulse 3s ease-in-out infinite}.cc-processing:after{content:"";position:absolute;top:0;left:3%;right:3%;height:1.5px;background:linear-gradient(90deg,transparent 0%,rgba(165,234,7,.2) 10%,rgba(165,234,7,.6) 35%,rgba(165,234,7,.9) 50%,rgba(165,234,7,.6) 65%,rgba(165,234,7,.2) 90%,transparent 100%);box-shadow:0 0 8px #a5ea0780,0 0 20px #a5ea0740,0 0 40px #a5ea071a;pointer-events:none;z-index:2;opacity:0;transition:opacity .3s}.cc-processing.is-active-scan:after{opacity:1;animation:cc-beam-scanline 3s linear infinite}.cc-processing.is-active-scan .cc-terminal{border-color:#a5ea0740;box-shadow:0 0 20px #a5ea0714,0 0 40px #a5ea070a,inset 0 1px 30px #a5ea0708;transition:box-shadow .6s,border-color .6s}.cc-processing.is-active-scan .cc-terminal-header{border-bottom-color:#a5ea0726;background:linear-gradient(180deg,rgba(165,234,7,.06) 0%,transparent 100%);transition:border-bottom-color .6s,background .6s}.cc-processing.is-active-scan .cc-stat{border-color:#a5ea071a;transition:border-color .6s}.cc-beam-top{position:absolute;top:0;left:8%;right:8%;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(165,234,7,.4) 20%,rgba(165,234,7,.8) 50%,rgba(165,234,7,.4) 80%,transparent 100%);border-radius:2px;z-index:3;animation:cc-beam-top-glow 2s ease-in-out infinite;pointer-events:none}.cc-beam-top:after{content:"";position:absolute;top:0;left:10%;right:10%;height:12px;background:radial-gradient(ellipse at center top,rgba(165,234,7,.2) 0%,transparent 70%);filter:blur(4px)}@keyframes cc-beam-top-glow{0%,to{opacity:.6}50%{opacity:1}}@keyframes cc-beam-pulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes cc-beam-scanline{0%{top:-2%}to{top:102%}}.cc-processing.is-enriching:before{inset:0;width:100%;height:100%;transform:none;background:linear-gradient(0deg,transparent 0%,rgba(139,92,246,.03) 30%,rgba(99,102,241,.06) 50%,rgba(139,92,246,.03) 70%,transparent 100%);background-size:100% 200%;animation:cc-enrich-shimmer 4s ease-in-out infinite;border-radius:var(--fn-radius-lg);opacity:1;clip-path:none}.cc-processing.is-enriching:after{clip-path:none;inset:auto 0 0;width:100%;height:2px;transform:none;background:linear-gradient(90deg,transparent,rgba(139,92,246,.5),rgba(99,102,241,.7),rgba(139,92,246,.5),transparent);box-shadow:none;animation:cc-enrich-glow 2.5s ease-in-out infinite;opacity:1;border-radius:0;background-size:initial}@keyframes cc-enrich-shimmer{0%{background-position:0% 100%}50%{background-position:0% 0%}to{background-position:0% 100%}}@keyframes cc-enrich-glow{0%,to{opacity:.3}50%{opacity:1}}.cc-sparkle-container{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;border-radius:var(--fn-radius-lg)}.cc-sparkle{position:absolute;bottom:-6px;width:4px;height:4px;border-radius:50%;background:#8b5cf6cc;box-shadow:0 0 6px #8b5cf680;animation:cc-sparkle-float 3.5s ease-out infinite}.cc-sparkle:nth-child(2n){background:#6366f1b3;box-shadow:0 0 6px #6366f166;width:3px;height:3px}.cc-sparkle:nth-child(3n){background:#a855f799;box-shadow:0 0 8px #a855f780;width:5px;height:5px}@keyframes cc-sparkle-float{0%{transform:translateY(0) scale(0);opacity:0}10%{transform:translateY(-20px) scale(1);opacity:.8}80%{opacity:.2}to{transform:translateY(-350px) scale(.4);opacity:0}}.cc-processing.is-enriching .cc-progress-fill{background:#8b5cf6;box-shadow:0 0 8px #8b5cf666}.cc-main-grid{display:grid;grid-template-columns:1fr 220px;gap:16px;margin-bottom:16px}.cc-stats{display:flex;flex-direction:column;gap:6px}.cc-stat{background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:var(--fn-radius);padding:8px 12px;display:flex;justify-content:space-between;align-items:center;transition:border-color .3s}.cc-stat-accent{border-color:#a5ea0766;background:#a5ea070d}.cc-stat-value{font-size:16px;font-weight:700;font-family:JetBrains Mono,monospace;font-variant-numeric:tabular-nums;color:var(--fn-text)}.cc-stat-accent .cc-stat-value{color:var(--fn-accent)}.cc-stat-label{font-size:10px;color:var(--fn-text-dim);text-transform:uppercase;letter-spacing:.5px}.cc-file-timer{display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--fn-surface-2);border:1px solid var(--fn-border);border-radius:8px;margin-bottom:10px;font-family:var(--fn-font-mono);font-size:.82rem;color:var(--fn-text-muted)}.cc-file-timer-icon{font-size:1rem;flex-shrink:0}.cc-file-timer-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fn-text)}.cc-file-timer-elapsed{font-weight:600;color:var(--fn-accent);font-size:.95rem;font-variant-numeric:tabular-nums;min-width:36px;text-align:right}.cc-file-timer-eta{color:var(--fn-text-muted);font-size:.78rem;white-space:nowrap}.cc-progress{height:4px;background:var(--fn-surface-2);border-radius:2px;overflow:hidden;margin-bottom:16px}.cc-progress-fill{height:100%;background:var(--fn-accent);border-radius:2px;transition:width .5s ease-out;box-shadow:0 0 8px #a5ea0766}.cc-cargo-bay{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;min-height:28px;margin-bottom:8px}.cc-cargo-item{font-size:18px;animation:food-materialize .5s ease-out forwards}.cc-fun{text-align:center;min-height:24px;margin-bottom:4px}.cc-fun-msg{font-size:13px;color:var(--fn-text-muted);font-style:italic;transition:opacity .3s ease}.cc-fun-visible{opacity:1}.cc-fun-hidden{opacity:0}.cc-error{display:flex;align-items:center;justify-content:space-between;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--fn-radius);padding:10px 16px;margin-bottom:16px;color:#fca5a5;font-size:13px}.cc-results .bulk-stats-grid{margin-top:20px}.cc-action-bar{display:flex;gap:10px;margin:20px 0;flex-wrap:wrap}.cc-product-section{margin-top:8px}.cc-enrich-summary{margin:16px 0 8px;padding:14px 18px;background:var(--fn-surface-2);border:1px solid var(--fn-border);border-radius:10px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px}.cc-enrich-summary-title{font-size:13px;font-weight:600;color:var(--fn-text)}.cc-enrich-summary-stat{font-size:12px;color:var(--fn-text-muted);display:flex;align-items:center;gap:4px}.cc-enrich-summary-stat .cc-enrich-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.cc-enrich-dot.is-nutrition{background:var(--fn-accent, #f97316)}.cc-enrich-dot.is-images{background:var(--fn-info, #3b82f6)}.cc-enrich-dot.is-certs{background:var(--fn-success, #22c55e)}.cc-enrich-dot.is-allergens{background:var(--fn-danger, #ef4444)}.cc-product-row{cursor:pointer;transition:background .15s}.cc-product-row:hover,.cc-product-row.is-expanded{background:var(--fn-surface-2)}.cc-product-name{display:flex;align-items:center;gap:6px}.cc-product-emoji{font-size:16px;flex-shrink:0}.cc-anomaly-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:9999px;font-size:9px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap;margin-left:2px;flex-shrink:0;line-height:1.4}.cc-anomaly-badge.is-new{background:#3b82f61f;color:#60a5fa}.cc-anomaly-badge.is-price-up{background:#ef44441f;color:#f87171}.cc-anomaly-badge.is-price-down{background:#22c55e1f;color:#4ade80}.cc-anomaly-badge.is-missing{background:#eab3081f;color:#fbbf24;font-weight:700}.cc-anomaly-badge.is-variant{background:#a855f71a;color:#a78bfa;font-size:8px}.cc-enriched-badge{display:inline-flex;align-items:center;gap:3px;font-size:11px;padding:2px 8px;border-radius:9999px;font-weight:500;white-space:nowrap}.cc-enriched-badge.is-yes{background:#22c55e1f;color:var(--fn-success, #22c55e)}.cc-enriched-badge.is-no{background:#ef444414;color:var(--fn-text-dim)}.cc-product-price{font-variant-numeric:tabular-nums;font-weight:500}.cc-product-detail-row td{padding:0!important;border-top:none!important}.cc-product-detail{padding:14px 18px 18px;display:grid;grid-template-columns:auto 1fr;gap:14px 18px;animation:cc-detail-open .2s ease}@keyframes cc-detail-open{0%{opacity:0;max-height:0}to{opacity:1;max-height:600px}}.cc-product-detail-image{width:72px;height:72px;border-radius:8px;object-fit:cover;border:1px solid var(--fn-border)}.cc-product-detail-emoji{width:72px;height:72px;border-radius:8px;background:var(--fn-surface-3, var(--fn-surface));border:1px solid var(--fn-border);display:flex;align-items:center;justify-content:center;font-size:32px}.cc-product-detail-body{display:flex;flex-direction:column;gap:10px;min-width:0}.cc-product-detail-section{display:flex;flex-direction:column;gap:4px}.cc-product-detail-section-title{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--fn-text-dim);font-weight:600}.cc-product-detail-badges{display:flex;flex-wrap:wrap;gap:4px}.cc-product-detail-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:9999px;font-size:11px;font-weight:500}.cc-product-detail-badge.is-allergen{background:#ef44441a;color:var(--fn-danger, #ef4444)}.cc-product-detail-badge.is-allergen-trace{background:#eab3081a;color:var(--fn-warning, #eab308)}.cc-product-detail-badge.is-cert{background:#22c55e1a;color:var(--fn-success, #22c55e)}.cc-product-detail-badge.is-additive{background:#a855f71a;color:#a855f7}.cc-product-detail-nutrition-mini{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--fn-text-muted)}.cc-product-detail-nutrition-mini strong{color:var(--fn-text);font-weight:600}.cc-product-detail-ingredients{font-size:12px;color:var(--fn-text-muted);line-height:1.5;max-height:3em;overflow:hidden;text-overflow:ellipsis}.cc-product-detail-actions{display:flex;gap:8px;margin-top:4px}.cc-product-detail-link{font-size:12px;color:var(--fn-accent);text-decoration:none;display:inline-flex;align-items:center;gap:4px;font-weight:500;transition:opacity .15s}.cc-product-detail-link:hover{opacity:.8}.cc-product-detail-empty{font-size:12px;font-style:italic;color:var(--fn-text-dim)}.upload-bulk-hint{font-size:12px;color:var(--fn-text-dim);margin-top:8px;font-style:italic}.upload-folder-link{color:var(--fn-accent);cursor:pointer;text-decoration:underline;text-decoration-color:transparent;transition:text-decoration-color .2s;font-style:normal}.upload-folder-link:hover{text-decoration-color:var(--fn-accent)}@media(max-width:768px){.cc{padding:16px 0}.cc-main-grid{grid-template-columns:1fr}.cc-stats{flex-direction:row;flex-wrap:wrap}.cc-stat{flex:1 1 calc(50% - 3px);min-width:0}.cc-action-bar{flex-direction:column}.cc-title h2{font-size:14px;letter-spacing:1px}}.doc-review-section{margin:16px 0 20px}.doc-review-header-bar{display:flex;align-items:baseline;gap:12px;margin-bottom:10px;padding:0 2px}.doc-review-title{font-size:14px;font-weight:700;color:var(--fn-accent, #a78bfa);font-family:JetBrains Mono,Fira Code,SF Mono,monospace;letter-spacing:.5px;text-transform:uppercase;margin:0}.doc-review-subtitle{font-size:12px;color:var(--fn-text-dim, #888)}.doc-review-list{display:flex;flex-direction:column;gap:6px}.doc-review-card{border:1px solid var(--fn-border, rgba(255,255,255,.08));border-radius:8px;background:var(--fn-surface, rgba(255,255,255,.03));overflow:hidden;transition:border-color .2s}.doc-review-card.expanded{border-color:var(--fn-accent, #a78bfa)}.doc-review-card.failed{border-color:#ef44444d}.doc-review-card-header{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:none;border:none;color:var(--fn-text, #e0e0e0);cursor:pointer;font-size:13px;font-family:inherit;text-align:left;transition:background .15s}.doc-review-card-header:hover{background:#a78bfa0f}.doc-review-card-header[tabindex="-1"]{cursor:not-allowed;opacity:.5;pointer-events:none}.doc-review-chevron{font-size:10px;color:var(--fn-text-dim, #888);flex-shrink:0;width:14px}.doc-review-supplier{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.doc-review-doctype-badge{font-size:11px;padding:1px 8px;border-radius:10px;background:#a78bfa1f;color:var(--fn-accent, #a78bfa);flex-shrink:0}.doc-review-meta{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--fn-text-dim, #888);margin-left:auto;flex-shrink:0}.doc-review-total{font-weight:600;color:var(--fn-text, #e0e0e0)}.doc-review-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:2px 8px;border-radius:10px;flex-shrink:0}.doc-review-badge.ok{background:#4ade801f;color:#4ade80}.doc-review-badge.warning{background:#f59e0b1f;color:#f59e0b}.doc-review-badge.error{background:#ef44441f;color:#ef4444}.doc-review-badge.neutral{background:#ffffff0d;color:var(--fn-text-dim, #888)}.doc-review-badge-label{font-size:11px}.doc-review-saved-tag{font-size:11px;color:#4ade80;flex-shrink:0}.doc-review-body{border-top:1px solid var(--fn-border, rgba(255,255,255,.08));padding:14px 16px 16px}.doc-review-loading{text-align:center;padding:20px;color:var(--fn-text-dim, #888);font-size:13px}.doc-review-error{color:#ef4444;font-size:13px;padding:8px;background:#ef444414;border-radius:6px;margin-bottom:12px}.doc-review-supplier-info{margin-bottom:12px}.doc-review-field-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.doc-review-field-row label{font-size:11px;color:var(--fn-text-dim, #888);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.doc-review-field-row input{flex:1;min-width:120px;padding:4px 8px;border:1px solid var(--fn-border, rgba(255,255,255,.1));border-radius:4px;background:var(--fn-bg-input, rgba(0,0,0,.2));color:var(--fn-text, #e0e0e0);font-size:13px}.doc-review-field-row input.narrow{max-width:180px}.doc-review-split{display:grid;grid-template-columns:35% 1fr;gap:16px;min-height:0}.doc-review-preview-panel{position:relative;display:flex;flex-direction:column;min-height:300px;max-height:75vh;overflow:hidden}.doc-review-preview-panel .review-panel{height:100%;flex:1;display:flex;flex-direction:column;border:1px solid var(--fn-border, rgba(255,255,255,.08));border-radius:8px;overflow:hidden}.doc-review-preview-panel .panel-header{padding:8px 12px;font-size:12px}.doc-review-preview-panel .panel-content{flex:1;overflow:auto;padding:8px}.doc-review-preview-panel .doc-preview img{max-height:calc(75vh - 100px);object-fit:contain}.doc-review-preview-panel .doc-pdf-embed-content{flex:1;padding:0}.doc-review-preview-panel .doc-pdf-iframe{min-height:calc(75vh - 80px)}.doc-review-no-preview{display:flex;align-items:center;justify-content:center;height:100%;min-height:200px;color:var(--fn-text-dim, #888);font-size:13px;font-style:italic;border:1px dashed var(--fn-border, rgba(255,255,255,.08));border-radius:8px}.doc-review-fullscreen-btn{position:absolute;top:8px;right:8px;background:var(--fn-surface, rgba(26, 26, 46, .9));border:1px solid var(--fn-border, rgba(255,255,255,.1));color:var(--fn-text-dim, #888);cursor:pointer;font-size:14px;padding:4px 8px;border-radius:6px;opacity:0;transition:opacity .15s,background .15s,color .15s;z-index:5}.doc-review-preview-panel:hover .doc-review-fullscreen-btn{opacity:.7}.doc-review-fullscreen-btn:hover{opacity:1!important;background:#a78bfa26;color:var(--fn-accent, #a78bfa)}.doc-review-data-panel{display:flex;flex-direction:column;min-width:0;overflow-x:auto}@media(max-width:1024px){.doc-review-split{grid-template-columns:1fr}.doc-review-preview-panel{max-height:50vh}}.doc-review-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:14px;padding-top:10px;border-top:1px solid var(--fn-border, rgba(255,255,255,.06))}.doc-review-save-btn{padding:6px 16px;font-size:13px;font-weight:600;border:none;border-radius:6px;background:var(--fn-accent, #a78bfa);color:#fff;cursor:pointer;transition:opacity .15s}.doc-review-save-btn:hover{opacity:.85}.doc-review-save-btn:disabled{opacity:.5;cursor:not-allowed}.doc-review-saved-indicator{font-size:12px;color:#4ade80}.doc-review-preview-btn{background:none;border:none;cursor:pointer;font-size:16px;padding:2px 6px;border-radius:4px;opacity:.5;transition:opacity .15s,background .15s;flex-shrink:0}.doc-review-preview-btn:hover{opacity:1;background:#a78bfa1a}.doc-review-view-btn{margin-right:auto;font-size:12px;gap:4px}.doc-preview-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.doc-preview-modal{background:var(--fn-surface, #1a1a2e);border:1px solid var(--fn-border, rgba(255, 255, 255, .08));border-radius:12px;width:min(92vw,900px);height:min(90vh,850px);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 12px 48px #0006}.doc-preview-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--fn-border, rgba(255, 255, 255, .08));flex-shrink:0}.doc-preview-modal-title{font-size:13px;font-weight:600;color:var(--fn-text, #e0e0e0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-preview-modal-close{background:none;border:none;color:var(--fn-text-dim, #888);cursor:pointer;font-size:18px;padding:4px 8px;border-radius:4px;transition:background .15s,color .15s}.doc-preview-modal-close:hover{background:#ef44441f;color:#ef4444}.doc-preview-modal-body{flex:1;overflow:auto;display:flex;flex-direction:column}.doc-preview-modal-body .review-panel{height:100%;flex:1;display:flex;flex-direction:column;border:none}.doc-preview-modal-body .panel-content{flex:1;overflow:auto}.doc-preview-modal-body .doc-preview img{max-height:calc(90vh - 150px);object-fit:contain}.archive-page{padding:24px;max-width:1400px;margin:0 auto}.archive-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;gap:16px}.archive-header-left h2{margin:0 0 10px;font-size:22px;font-weight:700;color:var(--fn-text)}.archive-stats-chips{display:flex;gap:8px;flex-wrap:wrap}.archive-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;background:var(--fn-surface-2);border:1px solid var(--fn-border);border-radius:20px;font-size:12px;font-weight:500;color:var(--fn-text-muted);transition:border-color .15s ease}.archive-chip:first-child{background:var(--fn-accent-dim);border-color:#a5ea074d;color:var(--fn-accent);font-weight:600}.archive-chip-country{font-weight:600}.archive-chip-warning{background:#eab30826;border-color:#eab3084d;color:var(--fn-warning)}.archive-header-actions .btn{background:var(--fn-surface-2);border:1px solid var(--fn-border);color:var(--fn-text);padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.archive-header-actions .btn:hover{background:var(--fn-surface-3);border-color:var(--fn-accent);color:var(--fn-accent)}.archive-backfill-progress{margin-bottom:20px;padding:14px 16px;background:var(--fn-surface-2);border:1px solid var(--fn-border);border-radius:10px}.archive-backfill-bar{height:6px;background:var(--fn-surface-3);border-radius:3px;overflow:hidden;margin-bottom:8px}.archive-backfill-fill{height:100%;background:var(--fn-accent);border-radius:3px;transition:width .3s ease}.archive-backfill-text{font-size:12px;color:var(--fn-text-muted)}.archive-filters{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.archive-filter-select{padding:8px 12px;border:1px solid var(--fn-border);border-radius:8px;background:var(--fn-surface-2);font-size:13px;color:var(--fn-text);cursor:pointer;transition:border-color .15s ease}.archive-filter-select:hover,.archive-filter-select:focus{border-color:var(--fn-border-light);outline:none}.archive-search-wrap{display:flex;flex:1;min-width:200px}.archive-search-input{flex:1;padding:8px 12px;border:1px solid var(--fn-border);border-right:none;border-radius:8px 0 0 8px;font-size:13px;background:var(--fn-surface-2);color:var(--fn-text);transition:border-color .15s ease}.archive-search-input:focus{border-color:var(--fn-accent);outline:none}.archive-search-btn{padding:8px 16px;border:1px solid var(--fn-border);border-radius:0 8px 8px 0;background:var(--fn-surface-3);font-size:13px;font-weight:500;cursor:pointer;color:var(--fn-text);transition:all .15s ease}.archive-search-btn:hover{background:var(--fn-border);color:var(--fn-text)}.archive-table-wrap{overflow-x:auto;border:1px solid var(--fn-border);border-radius:10px;background:var(--fn-surface)}.archive-table{width:100%;border-collapse:collapse;font-size:13px}.archive-table th{text-align:left;padding:12px 14px;background:var(--fn-surface-2);border-bottom:1px solid var(--fn-border);font-weight:600;color:var(--fn-text-dim);font-size:11px;text-transform:uppercase;letter-spacing:.6px}.archive-table td{padding:11px 14px;border-bottom:1px solid var(--fn-border);transition:background .1s ease}.archive-row{cursor:pointer;transition:background .15s ease}.archive-row:hover td{background:var(--fn-surface-2)}.archive-row.active td{background:#a5ea0714;border-color:#a5ea0726}.archive-row:last-child td{border-bottom:none}.archive-date{white-space:nowrap;color:var(--fn-text-muted);font-size:12px;font-variant-numeric:tabular-nums}.archive-name{font-weight:500;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fn-text)}.archive-docnr{color:var(--fn-text-dim);font-weight:400;font-size:11px;margin-left:4px}.archive-supplier{color:var(--fn-text-muted);font-size:12px}.archive-country{text-align:center;font-size:16px}.archive-type-badge{display:inline-block;padding:3px 10px;border-radius:6px;font-size:11px;font-weight:600;letter-spacing:.2px;background:var(--fn-surface-3);color:var(--fn-text-muted)}.archive-type-invoice{background:#3b82f626;color:#60a5fa}.archive-type-delivery{background:#22c55e26;color:#4ade80}.archive-type-credit{background:#f59e0b26;color:#fbbf24}.archive-type-receipt{background:#a855f726;color:#c084fc}.archive-type-contract{background:#ec489926;color:#f472b6}.archive-type-offer{background:#0ea5e926;color:#38bdf8}.archive-retention-bar-wrap{display:flex;align-items:center;gap:8px}.archive-retention-bar{width:60px;height:4px;background:var(--fn-surface-3);border-radius:2px;overflow:hidden;flex-shrink:0}.archive-retention-fill{height:100%;background:var(--fn-accent);border-radius:2px;transition:width .3s ease}.archive-retention-label{font-size:11px;color:var(--fn-text-dim);white-space:nowrap;font-variant-numeric:tabular-nums}.archive-verified{text-align:center;font-size:15px}.archive-loading{text-align:center;padding:48px 0;color:var(--fn-text-muted)}.archive-empty{text-align:center;padding:80px 24px;color:var(--fn-text-muted)}.archive-empty .placeholder-icon{font-size:48px;margin-bottom:12px;opacity:.5}.archive-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px;padding:12px 0}.archive-pagination .btn{background:var(--fn-surface-2);border:1px solid var(--fn-border);color:var(--fn-text);padding:6px 14px;border-radius:8px;font-size:13px;cursor:pointer;transition:all .15s ease}.archive-pagination .btn:hover:not(:disabled){background:var(--fn-surface-3);border-color:var(--fn-accent)}.archive-pagination .btn:disabled{opacity:.4;cursor:default}.pagination-info{font-size:13px;color:var(--fn-text-muted);font-variant-numeric:tabular-nums}.archive-overlay{position:fixed;inset:0;background:#00000080;z-index:940;animation:archive-fade-in .2s ease}@keyframes archive-fade-in{0%{opacity:0}to{opacity:1}}.archive-detail{position:fixed;top:0;right:0;width:480px;max-width:92vw;height:100vh;background:var(--fn-bg);border-left:1px solid var(--fn-border);z-index:950;display:flex;flex-direction:column;animation:archive-slide-in .25s ease;box-shadow:-12px 0 40px #0006}@keyframes archive-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.archive-detail-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px 16px;border-bottom:1px solid var(--fn-border);flex-shrink:0;gap:12px}.archive-detail-header-left{display:flex;flex-direction:column;gap:8px;min-width:0}.archive-detail-header h3{margin:0;font-size:15px;font-weight:600;color:var(--fn-text);word-break:break-word}.archive-detail-close{background:none;border:none;color:var(--fn-text-muted);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .15s ease;flex-shrink:0}.archive-detail-close:hover{background:var(--fn-surface-2);color:var(--fn-text)}.archive-detail-body{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:16px}.archive-detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--fn-border)}.archive-meta-item{display:flex;flex-direction:column;gap:3px}.archive-meta-label{font-size:10px;color:var(--fn-text-dim);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.archive-meta-value{font-size:13px;font-weight:500;color:var(--fn-text)}.archive-amount{color:var(--fn-accent);font-weight:600}.archive-amount-net{color:var(--fn-text-muted);font-weight:400;font-size:12px}.archive-badge-source{display:inline-block;padding:1px 8px;background:var(--fn-surface-3);border-radius:4px;font-size:11px;color:var(--fn-text-muted);width:fit-content}.archive-section-card{display:flex;gap:14px;padding:16px;background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:10px}.archive-section-icon{font-size:20px;flex-shrink:0;margin-top:1px}.archive-section-content{flex:1;min-width:0}.archive-section-content h4{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--fn-text)}.archive-retention-detail{display:flex;flex-direction:column;gap:10px}.archive-retention-bar-large{height:8px;background:var(--fn-surface-3);border-radius:4px;overflow:hidden}.archive-retention-info{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--fn-text-muted)}.archive-retention-stat strong{color:var(--fn-text)}.archive-retention-remaining{color:var(--fn-accent);font-weight:600}.archive-integrity-hash{display:flex;align-items:center;gap:8px;margin-bottom:6px}.archive-hash{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:11px;background:var(--fn-surface-3);padding:3px 10px;border-radius:6px;color:var(--fn-text-muted);letter-spacing:.5px}.archive-integrity-last{font-size:11px;color:var(--fn-text-dim);margin-bottom:10px}.archive-integrity-actions{display:flex;gap:8px;margin-top:4px}.archive-action-btn{padding:7px 14px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease;border:1px solid transparent}.archive-action-verify{background:var(--fn-accent-dim);color:var(--fn-accent);border-color:#a5ea0740}.archive-action-verify:hover:not(:disabled){background:#a5ea0740}.archive-action-verify:disabled{opacity:.5;cursor:default}.archive-action-download{background:var(--fn-surface-3);color:var(--fn-text);border-color:var(--fn-border)}.archive-action-download:hover{background:var(--fn-border)}.archive-verify-result{margin-top:10px;padding:10px 14px;border-radius:8px;font-size:13px;font-weight:500}.archive-verify-result.valid{background:#22c55e1f;color:var(--fn-success);border:1px solid rgba(34,197,94,.25)}.archive-verify-result.invalid{background:#ef44441f;color:var(--fn-error);border:1px solid rgba(239,68,68,.25)}.archive-audit-empty{font-size:12px;color:var(--fn-text-dim);margin:0}.archive-audit-list{list-style:none;padding:0;margin:0}.archive-audit-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--fn-border);font-size:12px}.archive-audit-item:last-child{border-bottom:none}.archive-audit-icon{font-size:14px;flex-shrink:0}.archive-audit-info{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.archive-audit-action{font-weight:600;font-size:11px;color:var(--fn-text);letter-spacing:.3px}.archive-audit-time{color:var(--fn-text-dim);font-size:11px;font-variant-numeric:tabular-nums}.archive-audit-by{color:var(--fn-text-dim);font-size:10px;font-family:SF Mono,Fira Code,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}@media(max-width:768px){.archive-page{padding:16px}.archive-header,.archive-filters{flex-direction:column}.archive-detail{width:100vw;max-width:100vw}.archive-detail-meta{grid-template-columns:1fr}.archive-retention-info{flex-direction:column;gap:4px}}.contracts-page{padding:24px;max-width:1200px;margin:0 auto;position:relative}.contracts-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:16px}.contracts-header-left h2{font-size:20px;font-weight:700;color:var(--fn-text);margin:0 0 6px}.contracts-stats-chips{display:flex;gap:8px;flex-wrap:wrap}.contracts-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:var(--fn-text-muted);background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:12px;padding:3px 10px;white-space:nowrap}.contracts-chip-warning{color:#f59e0b;border-color:#f59e0b4d;background:#f59e0b14}.contracts-chip-alert{color:#ef4444;border-color:#ef44444d;background:#ef444414}.contracts-tabs{display:flex;gap:2px;margin-bottom:20px;border-bottom:1px solid var(--fn-border);padding-bottom:0}.contracts-tab{padding:10px 20px;font-size:13px;font-weight:600;color:var(--fn-text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s;margin-bottom:-1px}.contracts-tab:hover{color:var(--fn-text)}.contracts-tab.active{color:var(--fn-accent, #a5ea07);border-bottom-color:var(--fn-accent, #a5ea07)}.contracts-dashboard{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.contracts-dashboard-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.contracts-traffic-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 12px;border-radius:12px;border:1px solid var(--fn-border);background:var(--fn-surface);cursor:pointer;transition:border-color .15s,transform .1s}.contracts-traffic-card:hover{transform:translateY(-2px)}.contracts-traffic-card.contracts-light-green{border-color:#22c55e4d;background:#22c55e0d}.contracts-traffic-card.contracts-light-green:hover{border-color:#22c55e80}.contracts-traffic-card.contracts-light-yellow{border-color:#f59e0b4d;background:#f59e0b0d}.contracts-traffic-card.contracts-light-yellow:hover{border-color:#f59e0b80}.contracts-traffic-card.contracts-light-red{border-color:#ef44444d;background:#ef44440d}.contracts-traffic-card.contracts-light-red:hover{border-color:#ef444480}.contracts-traffic-card.contracts-light-grey{border-color:var(--fn-border);background:var(--fn-surface)}.contracts-traffic-icon{font-size:28px;line-height:1}.contracts-traffic-count{font-size:32px;font-weight:800;color:var(--fn-text);line-height:1;font-variant-numeric:tabular-nums}.contracts-traffic-label{font-size:12px;font-weight:500;color:var(--fn-text-muted);text-transform:uppercase;letter-spacing:.5px}.contracts-quick-stats{margin-bottom:24px}.contracts-quick-stats h3{font-size:15px;font-weight:600;color:var(--fn-text);margin:0 0 12px}.contracts-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contracts-stat-card{background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:10px;padding:16px}.contracts-stat-card h4{font-size:12px;font-weight:600;color:var(--fn-text-muted);margin:0 0 10px;text-transform:uppercase;letter-spacing:.4px}.contracts-stat-list{display:flex;flex-direction:column;gap:6px}.contracts-stat-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.contracts-stat-type{font-size:13px;color:var(--fn-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contracts-stat-count{font-size:14px;font-weight:700;color:var(--fn-text);font-variant-numeric:tabular-nums;flex-shrink:0}.contracts-stat-empty{font-size:12px;color:var(--fn-text-dim);margin:0}.contracts-empty-dashboard{text-align:center;padding:48px 16px;color:var(--fn-text-muted)}.contracts-empty-dashboard .placeholder-icon{font-size:48px;margin-bottom:12px}.contracts-empty-hint{font-size:13px;color:var(--fn-text-dim);margin-top:8px}.contracts-filters{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.contracts-filter-select{padding:8px 12px;font-size:13px;border:1px solid var(--fn-border);border-radius:8px;background:var(--fn-surface);color:var(--fn-text);cursor:pointer;min-width:140px}.contracts-filter-select:focus{outline:none;border-color:var(--fn-accent, #a5ea07)}.contracts-search-wrap{display:flex;flex:1;min-width:200px;gap:6px}.contracts-search-input{flex:1;padding:8px 12px;font-size:13px;border:1px solid var(--fn-border);border-radius:8px;background:var(--fn-surface);color:var(--fn-text)}.contracts-search-input:focus{outline:none;border-color:var(--fn-accent, #a5ea07)}.contracts-search-input::placeholder{color:var(--fn-text-dim)}.contracts-search-btn{padding:8px 16px;font-size:13px;font-weight:600;border:1px solid var(--fn-border);border-radius:8px;background:var(--fn-surface);color:var(--fn-text);cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.contracts-search-btn:hover{background:var(--fn-hover, rgba(255, 255, 255, .05));border-color:var(--fn-accent, #a5ea07)}.contracts-loading{text-align:center;padding:48px 16px;color:var(--fn-text-muted);font-size:14px}.contracts-empty{text-align:center;padding:48px 16px;color:var(--fn-text-muted)}.contracts-empty .placeholder-icon{font-size:48px;margin-bottom:12px}.contracts-table-wrap{overflow-x:auto;border:1px solid var(--fn-border);border-radius:10px;background:var(--fn-surface)}.contracts-table{width:100%;border-collapse:collapse;font-size:13px}.contracts-table thead th{padding:10px 14px;text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--fn-text-muted);border-bottom:1px solid var(--fn-border);white-space:nowrap}.contracts-table thead th.contracts-col-light{width:32px;padding-right:0}.contracts-row{cursor:pointer;transition:background .1s}.contracts-row:hover{background:var(--fn-hover, rgba(255, 255, 255, .03))}.contracts-row.active{background:#a5ea070f}.contracts-row td{padding:10px 14px;border-bottom:1px solid var(--fn-border);color:var(--fn-text);vertical-align:middle}.contracts-row:last-child td{border-bottom:none}.contracts-col-light{width:32px;padding-right:0!important}.contracts-light-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--fn-text-dim)}.contracts-light-dot.contracts-light-green{background:#22c55e;box-shadow:0 0 6px #22c55e66}.contracts-light-dot.contracts-light-yellow{background:#f59e0b;box-shadow:0 0 6px #f59e0b66}.contracts-light-dot.contracts-light-red{background:#ef4444;box-shadow:0 0 6px #ef444466}.contracts-light-dot.contracts-light-grey{background:var(--fn-text-dim)}.contracts-title-cell{max-width:240px}.contracts-title-text{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.contracts-number{display:block;font-size:11px;color:var(--fn-text-dim);font-family:SF Mono,Fira Code,monospace}.contracts-supplier-cell{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contracts-date-cell{white-space:nowrap;display:flex;align-items:center;gap:6px}.contracts-days-badge{display:inline-flex;align-items:center;font-size:10px;font-weight:700;padding:1px 6px;border-radius:6px;white-space:nowrap;font-variant-numeric:tabular-nums}.contracts-days-badge.warning{background:#f59e0b1f;color:#f59e0b}.contracts-days-badge.urgent{background:#ef44441f;color:#ef4444}.contracts-value-cell{white-space:nowrap;font-variant-numeric:tabular-nums}.contracts-value-suffix{font-size:10px;color:var(--fn-text-dim);margin-left:2px}.contracts-type-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;padding:3px 8px;border-radius:6px;white-space:nowrap;background:#a5ea0714;color:var(--fn-text);border:1px solid rgba(165,234,7,.15)}.contracts-type-supplier{background:#3b82f614;border-color:#3b82f633}.contracts-type-beverage{background:#f59e0b14;border-color:#f59e0b33}.contracts-type-framework{background:#8b5cf614;border-color:#8b5cf633}.contracts-type-loan{background:#22c55e14;border-color:#22c55e33}.contracts-type-tap{background:#06b6d414;border-color:#06b6d433}.contracts-type-leasing{background:#a855f714;border-color:#a855f733}.contracts-type-rental{background:#ec489914;border-color:#ec489933}.contracts-type-other{background:#64748b14;border-color:#64748b33}.contracts-status-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;white-space:nowrap}.contracts-status-draft{background:#64748b1f;color:#94a3b8}.contracts-status-active{background:#22c55e1f;color:#22c55e}.contracts-status-expiring{background:#f59e0b1f;color:#f59e0b}.contracts-status-expired{background:#ef44441f;color:#ef4444}.contracts-status-cancelled{background:#64748b1f;color:#64748b}.contracts-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px;padding:12px 0}.contracts-overlay{position:fixed;inset:0;background:#00000080;z-index:100;animation:fadeIn .15s ease}.contracts-detail{position:fixed;top:0;right:0;bottom:0;width:480px;max-width:90vw;background:var(--fn-bg, #080808);border-left:1px solid var(--fn-border);z-index:101;display:flex;flex-direction:column;animation:slideInRight .2s ease;overflow:hidden}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.contracts-detail-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--fn-border);gap:12px;flex-shrink:0}.contracts-detail-header-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;flex:1}.contracts-detail-header-left h3{font-size:15px;font-weight:600;color:var(--fn-text);margin:0;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contracts-detail-close{flex-shrink:0;width:32px;height:32px;border-radius:8px;border:1px solid var(--fn-border);background:none;color:var(--fn-text-muted);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.contracts-detail-close:hover{background:var(--fn-hover, rgba(255, 255, 255, .05));color:var(--fn-text)}.contracts-detail-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.contracts-detail-traffic{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;font-size:13px;font-weight:500;border:1px solid var(--fn-border)}.contracts-detail-traffic.contracts-light-green{background:#22c55e0f;border-color:#22c55e33;color:#22c55e}.contracts-detail-traffic.contracts-light-yellow{background:#f59e0b0f;border-color:#f59e0b33;color:#f59e0b}.contracts-detail-traffic.contracts-light-red{background:#ef44440f;border-color:#ef444433;color:#ef4444}.contracts-detail-traffic.contracts-light-grey{background:var(--fn-surface);color:var(--fn-text-muted)}.contracts-detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contracts-meta-item{display:flex;flex-direction:column;gap:2px}.contracts-meta-label{font-size:11px;font-weight:500;color:var(--fn-text-dim);text-transform:uppercase;letter-spacing:.3px}.contracts-meta-value{font-size:13px;color:var(--fn-text);font-weight:500}.contracts-meta-amount{font-variant-numeric:tabular-nums;color:var(--fn-accent, #a5ea07);font-weight:600}.contracts-meta-urgent{color:#ef4444;font-weight:600}.contracts-section-card{background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:10px;padding:16px}.contracts-section-card h4{font-size:13px;font-weight:600;color:var(--fn-text);margin:0 0 12px}.contracts-conditions-table-wrap{overflow-x:auto;margin:0 -8px}.contracts-conditions-table{width:100%;border-collapse:collapse;font-size:12px}.contracts-conditions-table thead th{padding:6px 8px;text-align:left;font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.3px;color:var(--fn-text-muted);border-bottom:1px solid var(--fn-border)}.contracts-conditions-table tbody td{padding:6px 8px;color:var(--fn-text);border-bottom:1px solid rgba(255,255,255,.03)}.contracts-conditions-table tbody tr:last-child td{border-bottom:none}.contracts-cond-name{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contracts-cond-nr{color:var(--fn-text-dim);font-family:SF Mono,Fira Code,monospace;font-size:10px}.contracts-cond-price{font-variant-numeric:tabular-nums;font-weight:500}.contracts-cond-unit{color:var(--fn-text-muted)}.contracts-cond-vat{color:var(--fn-text-muted);font-variant-numeric:tabular-nums}.contracts-loan-section{border-color:#22c55e33;background:#22c55e08}.contracts-loan-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.contracts-loan-icon{font-size:18px}.contracts-loan-header h4{margin:0}.contracts-loan-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.contracts-loan-item{display:flex;flex-direction:column;gap:2px}.contracts-loan-progress{margin-top:4px}.contracts-loan-progress-bar{height:6px;border-radius:3px;background:#ffffff0f;overflow:hidden;margin-bottom:4px}.contracts-loan-progress-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#22c55e,#a5ea07);transition:width .3s ease}.contracts-loan-progress-text{font-size:11px;color:var(--fn-text-muted)}.contracts-clauses-text{font-size:13px;color:var(--fn-text);line-height:1.6;margin:0;white-space:pre-wrap}.contracts-file-info{font-size:12px;color:var(--fn-text-muted);display:flex;align-items:center;gap:6px}.contracts-file-size{color:var(--fn-text-dim)}.contracts-extraction-info{opacity:.7}.contracts-extraction-grid{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:12px}.contracts-detail-actions{display:flex;gap:8px;padding-top:8px;border-top:1px solid var(--fn-border)}.contracts-action-btn{padding:8px 16px;font-size:12px;font-weight:600;border-radius:8px;border:1px solid var(--fn-border);background:var(--fn-surface);color:var(--fn-text);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.contracts-action-btn:hover{background:var(--fn-hover, rgba(255, 255, 255, .05))}.contracts-action-delete{color:#ef4444;border-color:#ef44444d}.contracts-action-delete:hover{background:#ef444414;border-color:#ef444480}.contracts-detail-timestamps{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--fn-text-dim);padding-top:8px}.contracts-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--fn-accent);color:#000;font-size:11px;font-weight:700;margin-left:6px}.contracts-refresh-section{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#ffffff08;border-radius:8px;margin-top:8px}.contracts-refresh-btn{padding:8px 16px;border-radius:6px;border:1px solid var(--fn-border);background:#ffffff0f;color:var(--fn-text);font-size:13px;cursor:pointer;transition:all .15s;white-space:nowrap}.contracts-refresh-btn:hover:not(:disabled){background:#ffffff1a;border-color:var(--fn-accent)}.contracts-refresh-btn:disabled{opacity:.5;cursor:wait}.contracts-refresh-result{font-size:13px;color:var(--fn-text-dim)}.contracts-alerts-section{padding:8px 0}.contracts-alerts-list{display:flex;flex-direction:column;gap:8px}.contracts-alert-card{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-radius:8px;background:#ffffff0a;border:1px solid var(--fn-border);transition:border-color .15s}.contracts-alert-card.unread{border-left:3px solid var(--fn-accent)}.contracts-alert-card.past{opacity:.7}.contracts-alert-card.today{border-color:#f97316;background:#f9731614}.contracts-alert-card.soon{border-color:#eab308;background:#eab3080f}.contracts-alert-icon{font-size:20px;flex-shrink:0;padding-top:2px}.contracts-alert-body{flex:1;min-width:0}.contracts-alert-type{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.contracts-alert-type-label{font-size:12px;font-weight:600;color:var(--fn-text);text-transform:uppercase;letter-spacing:.5px}.contracts-alert-date{font-size:12px;color:var(--fn-text-dim)}.contracts-alert-days{font-size:11px;margin-left:4px}.contracts-alert-days.overdue{color:#ef4444;font-weight:600}.contracts-alert-days.urgent{color:#f97316;font-weight:600}.contracts-alert-message{font-size:13px;color:var(--fn-text-dim);margin:4px 0 0;line-height:1.4}.contracts-alert-contract-link{display:inline-block;font-size:12px;color:var(--fn-accent);cursor:pointer;margin-top:4px}.contracts-alert-contract-link:hover{text-decoration:underline}.contracts-alert-dismiss{flex-shrink:0;background:none;border:none;color:var(--fn-text-dim);cursor:pointer;font-size:14px;padding:4px;border-radius:4px;opacity:.5;transition:opacity .15s}.contracts-alert-dismiss:hover{opacity:1;color:#ef4444}.contracts-detail-alerts{display:flex;flex-direction:column;gap:6px}.contracts-detail-alert{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-radius:6px;background:#ffffff08;font-size:12px}.contracts-detail-alert-icon{font-size:14px;flex-shrink:0}.contracts-detail-alert-body{flex:1;display:flex;flex-direction:column;gap:2px}.contracts-detail-alert-type{font-weight:600;color:var(--fn-text);font-size:11px;text-transform:uppercase}.contracts-detail-alert-date{font-size:11px;color:var(--fn-text-dim)}.contracts-detail-alert-msg{font-size:12px;color:var(--fn-text-dim);margin:0;line-height:1.3}.contracts-repayment-section{padding:4px 0}.contracts-repayment-toggle{width:100%;padding:8px 12px;border:1px dashed var(--fn-border);border-radius:6px;background:transparent;color:var(--fn-accent);font-size:13px;cursor:pointer;transition:all .15s}.contracts-repayment-toggle:hover{background:#ffffff0a;border-color:var(--fn-accent)}.contracts-repayment-form{padding:12px;border:1px solid var(--fn-border);border-radius:8px;background:#ffffff08}.contracts-repayment-form h4{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--fn-text)}.contracts-repayment-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.contracts-repayment-field label{display:block;font-size:11px;color:var(--fn-text-dim);margin-bottom:3px}.contracts-repayment-field input{width:100%;padding:6px 8px;border:1px solid var(--fn-border);border-radius:4px;background:#0000004d;color:var(--fn-text);font-size:13px}.contracts-repayment-field input:focus{outline:none;border-color:var(--fn-accent)}.contracts-repayment-note{grid-column:1 / -1}.contracts-repayment-actions{display:flex;gap:8px;margin-top:10px}.contracts-repayment-save{padding:6px 14px;border-radius:5px;border:none;background:var(--fn-accent);color:#000;font-size:12px;font-weight:600;cursor:pointer}.contracts-repayment-save:disabled{opacity:.5;cursor:not-allowed}.contracts-repayment-cancel{padding:6px 14px;border-radius:5px;border:1px solid var(--fn-border);background:transparent;color:var(--fn-text-dim);font-size:12px;cursor:pointer}.contracts-pricecheck-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:20px}.contracts-pricecheck-card{background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:8px;padding:16px;text-align:center;border-left:3px solid var(--fn-border)}.contracts-pricecheck-card-conform{border-left-color:#22c55e}.contracts-pricecheck-card-warning{border-left-color:#eab308}.contracts-pricecheck-card-critical{border-left-color:#ef4444}.contracts-pricecheck-card-savings{border-left-color:#3b82f6}.contracts-pricecheck-card-value{display:block;font-size:24px;font-weight:700;color:var(--fn-text)}.contracts-pricecheck-card-label{display:block;font-size:11px;color:var(--fn-text-dim);margin-top:4px;text-transform:uppercase;letter-spacing:.03em}.contracts-pricecheck-filters{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.contracts-severity-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--fn-text-dim)}.contracts-severity-dot.severity-conform{background:#22c55e}.contracts-severity-dot.severity-warning{background:#eab308}.contracts-severity-dot.severity-critical{background:#ef4444}.contracts-match-badge{display:inline-block;font-size:9px;font-weight:600;padding:1px 5px;border-radius:3px;margin-left:6px;vertical-align:middle;text-transform:uppercase;letter-spacing:.04em}.contracts-match-badge.match-ean{background:#dbeafe;color:#1e40af}.contracts-match-badge.match-article_number{background:#e0e7ff;color:#4338ca}.contracts-match-badge.match-fuzzy{background:#fef3c7;color:#92400e}.contracts-match-badge.match-price-change{background:#fce7f3;color:#9d174d;text-transform:none}.contracts-match-badge.match-hidden{background:#fef3c7;color:#92400e;font-size:10px;text-transform:none}.contracts-price-ref-hint{display:block;font-size:9px;color:#9ca3af;line-height:1.2}.contracts-pricecheck-deviation.critical{color:#ef4444;font-weight:600}.contracts-pricecheck-deviation.warning{color:#ca8a04;font-weight:600}.contracts-pricecheck-deviation.conform{color:#22c55e}.contracts-pricecheck-product{max-width:250px}.contracts-pricecheck-product span:first-child{display:inline;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contracts-pricecheck-invoice{white-space:nowrap}.contracts-col-severity{width:28px;text-align:center}.contracts-col-price,.contracts-col-deviation{text-align:right;white-space:nowrap}.contracts-row.acknowledged{opacity:.6}.contracts-pricecheck-severity-bar{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;font-weight:600;margin-bottom:16px}.contracts-pricecheck-severity-bar.severity-conform{background:#f0fdf4;color:#166534}.contracts-pricecheck-severity-bar.severity-warning{background:#fefce8;color:#854d0e}.contracts-pricecheck-severity-bar.severity-critical{background:#fef2f2;color:#991b1b}.contracts-pricecheck-severity-pct{margin-left:auto;font-size:18px}.contracts-pricecheck-prices{display:flex;align-items:center;gap:16px;margin-bottom:12px}.contracts-pricecheck-price-item{flex:1}.contracts-pricecheck-price-arrow{font-size:20px;color:var(--fn-text-dim);flex-shrink:0}.contracts-pricecheck-unit{font-size:12px;color:var(--fn-text-dim);font-weight:400}.contracts-pricecheck-diff{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--fn-text-dim);padding-top:10px;border-top:1px solid var(--fn-border)}.contracts-pricecheck-total-impact{font-size:12px;color:var(--fn-text-dim)}.contracts-pricecheck-actions{margin-top:16px}.contracts-pricecheck-actions h4{margin:0 0 10px;font-size:13px;color:var(--fn-text-dim)}.contracts-pricecheck-action-btns{display:flex;gap:8px;flex-wrap:wrap}.contracts-pricecheck-action-btn{padding:8px 16px;border-radius:6px;border:1px solid var(--fn-border);background:var(--fn-surface);color:var(--fn-text);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.contracts-pricecheck-action-btn:hover{background:var(--fn-bg)}.contracts-pricecheck-action-btn:disabled{opacity:.5;cursor:not-allowed}.contracts-pricecheck-action-btn.action-accepted:hover{border-color:#22c55e;color:#166534}.contracts-pricecheck-action-btn.action-will-contact:hover{border-color:#3b82f6;color:#1e40af}.contracts-pricecheck-action-btn.action-disputed:hover{border-color:#ef4444;color:#991b1b}.contracts-pricecheck-acknowledged{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f0fdf4;border-radius:8px;font-size:13px;margin-top:16px}.contracts-pricecheck-ack-date{margin-left:auto;font-size:12px;color:var(--fn-text-dim)}.contracts-tab-badge-critical{background:#ef4444!important}@media(max-width:768px){.contracts-page{padding:16px}.contracts-header{flex-direction:column}.contracts-dashboard-cards,.contracts-pricecheck-cards{grid-template-columns:repeat(2,1fr)}.contracts-stats-grid{grid-template-columns:1fr}.contracts-filters,.contracts-pricecheck-filters{flex-direction:column}.contracts-detail{width:100vw;max-width:100vw}.contracts-detail-meta,.contracts-loan-grid,.contracts-repayment-fields{grid-template-columns:1fr}.contracts-refresh-section{flex-direction:column;align-items:stretch}.contracts-pricecheck-prices,.contracts-pricecheck-action-btns{flex-direction:column}}.ali-bubble{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:var(--fn-accent);border:2px solid rgba(165,234,7,.4);cursor:pointer;z-index:800;box-shadow:0 4px 16px #a5ea074d;transition:transform .2s,box-shadow .2s,background .2s;display:flex;align-items:center;justify-content:center;animation:ali-float 3s ease-in-out infinite}.ali-bubble:hover{transform:scale(1.1);box-shadow:0 6px 24px #a5ea0780}.ali-bubble-active{background:var(--fn-surface);border-color:var(--fn-border);animation:none}.ali-bubble-active:hover{box-shadow:0 4px 16px #0000004d}.ali-alien{font-size:28px;line-height:1}.ali-bubble-active .ali-alien{font-size:18px;color:var(--fn-text-muted)}@keyframes ali-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.ali-panel{position:fixed;bottom:96px;right:24px;width:380px;max-height:540px;background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:16px;z-index:850;display:flex;flex-direction:column;box-shadow:0 12px 40px #0006;animation:ali-panel-in .25s ease;overflow:hidden}@keyframes ali-panel-in{0%{opacity:0;transform:translateY(16px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.ali-header{padding:14px 16px;background:linear-gradient(135deg,#1a1a2e,#16213e);border-bottom:1px solid var(--fn-border);display:flex;align-items:center;gap:10px;flex-shrink:0}.ali-avatar{font-size:26px;line-height:1}.ali-header-text{flex:1;display:flex;flex-direction:column}.ali-name{font-weight:700;color:var(--fn-accent);font-size:15px;letter-spacing:.5px}.ali-subtitle{color:var(--fn-text-muted);font-size:11px;margin-top:1px}.ali-clear{background:none;border:none;cursor:pointer;font-size:14px;opacity:.5;transition:opacity .15s;padding:4px}.ali-clear:hover{opacity:1}.ali-close{background:none;border:none;color:var(--fn-text-muted);cursor:pointer;font-size:16px;padding:4px 2px;transition:color .15s}.ali-close:hover{color:var(--fn-text)}.ali-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;min-height:200px;max-height:360px}.ali-welcome{display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px 0}.ali-welcome-text{font-size:13px;color:var(--fn-text-muted);line-height:1.6;margin-bottom:4px}.ali-welcome-section{margin-top:12px}.ali-section-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--fn-text-dim);margin-bottom:6px;text-align:center}.ali-welcome-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.ali-chip{padding:7px 12px;border-radius:16px;font-size:12px;background:var(--fn-bg);border:1px solid var(--fn-border);color:var(--fn-text);cursor:pointer;transition:border-color .2s,color .2s,background .2s;white-space:nowrap}.ali-chip-data{background:#a5ea070a;border-color:#a5ea0733}.ali-chip:hover{border-color:var(--fn-accent);color:var(--fn-accent);background:#a5ea0714}.ali-msg{display:flex;gap:8px;max-width:88%;animation:ali-msg-in .2s ease}@keyframes ali-msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ali-msg-user{align-self:flex-end;flex-direction:row-reverse}.ali-msg-ali{align-self:flex-start}.ali-msg-avatar{font-size:18px;flex-shrink:0;margin-top:4px}.ali-msg-content{padding:10px 14px;border-radius:14px;font-size:13px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.ali-msg-user .ali-msg-content{background:var(--fn-accent);color:#000;border-bottom-right-radius:4px;font-weight:500}.ali-msg-ali .ali-msg-content{background:var(--fn-bg);color:var(--fn-text);border-bottom-left-radius:4px;border:1px solid var(--fn-border)}.ali-msg-error .ali-msg-content{background:#ff6b6b1a;border-color:#ff6b6b4d;color:#ff6b6b}.ali-action-card{margin:8px 0;padding:12px;border-radius:10px;border:1px solid var(--action-color, #888);background:#00000026;transition:border-color .2s,background .2s}.ali-action-card:hover{background:#0003}.ali-action-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.ali-action-icon{font-size:1.1rem}.ali-action-label{font-weight:600;font-size:.85rem;color:var(--action-color, #ccc)}.ali-action-reason{font-size:.78rem;color:var(--fn-text-muted, #999);margin-bottom:6px;line-height:1.35}.ali-action-details{font-size:.78rem;color:var(--fn-text-secondary, #bbb);margin-bottom:8px}.ali-action-buttons{display:flex;align-items:center;gap:8px}.ali-action-btn{padding:5px 14px;border-radius:6px;border:none;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s,transform .1s}.ali-action-btn:hover{transform:translateY(-1px)}.ali-action-btn:active{transform:translateY(0)}.ali-action-execute{background:var(--action-color, #888);color:#fff}.ali-action-execute:hover{filter:brightness(1.15)}.ali-action-yes{background:var(--color-success, #22c55e);color:#fff}.ali-action-no{background:var(--fn-bg-tertiary, #333);color:var(--fn-text-secondary, #bbb)}.ali-action-confirm-text{font-size:.78rem;color:var(--color-warning, #f59e0b);font-weight:600}.ali-action-loading{font-size:.78rem;color:var(--fn-text-muted, #999);animation:ali-pulse 1.2s infinite}@keyframes ali-pulse{0%,to{opacity:1}50%{opacity:.5}}.ali-action-success{font-size:.78rem;color:var(--color-success, #22c55e);font-weight:600}.ali-action-error-text{font-size:.78rem;color:var(--color-error, #ef4444);font-weight:600}.ali-action-done{opacity:.6;pointer-events:none}.ali-action-error{border-color:var(--color-error, #ef4444)}.ali-doc-ref{display:flex;align-items:center;gap:10px;margin:8px 0;padding:8px 12px;border-radius:10px;border:1px solid rgba(132,204,22,.25);background:#84cc160f;cursor:pointer;transition:background .15s,border-color .15s}.ali-doc-ref:hover{background:#84cc161f;border-color:#84cc1680}.ali-doc-ref-thumb{width:40px;height:52px;object-fit:cover;border-radius:4px;border:1px solid rgba(255,255,255,.1);flex-shrink:0;background:#0003}.ali-doc-ref-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.ali-doc-ref-label{font-weight:600;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ali-doc-ref-date{font-size:.7rem;color:var(--fn-text-dim, #9ca3af)}.ali-doc-ref-icon{font-size:14px;opacity:.5;flex-shrink:0}.ali-doc-ref:hover .ali-doc-ref-icon{opacity:1}.ali-doc-ref-loading{font-size:.75rem;color:var(--fn-text-dim, #9ca3af);padding:6px 0;cursor:default;border:none;background:none}.ali-doc-ref-inline{font-weight:600;font-size:.85rem}.ali-cursor{animation:ali-blink .8s infinite;color:var(--fn-accent);font-weight:700}@keyframes ali-blink{0%,to{opacity:1}50%{opacity:0}}.ali-thinking{padding:10px 16px}.ali-dots span{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--fn-text-muted);margin:0 2px;animation:ali-dot-bounce 1.2s infinite}.ali-dots span:nth-child(2){animation-delay:.2s}.ali-dots span:nth-child(3){animation-delay:.4s}@keyframes ali-dot-bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-6px);opacity:1}}.ali-input-bar{padding:12px;border-top:1px solid var(--fn-border);display:flex;gap:8px;flex-shrink:0;background:var(--fn-surface)}.ali-input-bar input{flex:1;background:var(--fn-bg);border:1px solid var(--fn-border);border-radius:10px;padding:10px 14px;color:var(--fn-text);font-size:13px;outline:none;transition:border-color .15s}.ali-input-bar input:focus{border-color:var(--fn-accent)}.ali-input-bar input::placeholder{color:var(--fn-text-muted)}.ali-send{width:36px;height:36px;border-radius:50%;background:var(--fn-accent);border:none;color:#000;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .15s,transform .15s;flex-shrink:0}.ali-send:hover:not(:disabled){transform:scale(1.08)}.ali-send:disabled{opacity:.4;cursor:not-allowed}@media(max-width:600px){.ali-panel{bottom:0;right:0;left:0;width:100%;max-height:80vh;border-radius:16px 16px 0 0}.ali-bubble{bottom:16px;right:16px;width:48px;height:48px}.ali-alien{font-size:24px}.ali-messages{max-height:calc(80vh - 140px)}}.recipe-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.recipe-header h2{margin:0}.recipe-empty{text-align:center;padding:60px 20px;color:var(--fn-text-secondary)}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.recipe-card{background:var(--fn-bg-secondary);border:1px solid var(--fn-border);border-radius:10px;padding:16px;cursor:pointer;transition:border-color .15s,transform .1s}.recipe-card:hover{border-color:var(--fn-accent);transform:translateY(-2px)}.recipe-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.recipe-card-name{font-size:1rem;font-weight:600;margin:0}.recipe-card-category{font-size:.75rem;padding:2px 8px;border-radius:4px;background:#6366f11f;color:#818cf8}.recipe-card-meta{display:flex;gap:16px;font-size:.8rem;color:var(--fn-text-muted)}.recipe-editor-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.recipe-editor-header h2{flex:1;margin:0;min-width:100px}.recipe-editor-actions{display:flex;gap:8px}.recipe-form-grid{display:grid;grid-template-columns:1fr 120px 1fr;gap:12px;margin-bottom:24px}.recipe-field label{display:block;font-size:.78rem;font-weight:600;color:var(--fn-text-muted);margin-bottom:4px}.recipe-field .input,.recipe-field textarea.input{width:100%;box-sizing:border-box}.recipe-field-full{grid-column:1 / -1}.recipe-ingredients-section{margin-bottom:24px}.recipe-ingredients-section h3{margin:0 0 12px;font-size:.95rem}.recipe-add-ingredient{display:flex;gap:8px;margin-bottom:12px}.recipe-search-wrap{flex:1;position:relative}.recipe-suggestions{position:absolute;top:100%;left:0;right:0;z-index:50;background:var(--fn-bg-secondary);border:1px solid var(--fn-border);border-radius:8px;max-height:200px;overflow-y:auto;box-shadow:0 8px 24px #0000004d}.recipe-suggestion-item{padding:8px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.recipe-suggestion-item:hover{background:var(--fn-bg-tertiary)}.recipe-suggestion-ean{font-size:.72rem;color:var(--fn-text-muted)}.recipe-ingredients-table{width:100%;border-collapse:collapse;font-size:.85rem}.recipe-ingredients-table th{text-align:left;padding:6px 8px;font-weight:600;font-size:.75rem;color:var(--fn-text-muted);border-bottom:1px solid var(--fn-border)}.recipe-ingredients-table td{padding:4px 8px;border-bottom:1px solid var(--fn-border-light, rgba(255,255,255,.05))}.recipe-num{text-align:right}.recipe-inline-input{background:transparent;border:1px solid transparent;color:inherit;padding:4px 6px;border-radius:4px;width:100%;font-size:inherit}.recipe-inline-input:focus{border-color:var(--fn-accent);outline:none}.recipe-qty-input{width:70px;text-align:right}.recipe-linked-badge{color:var(--color-success, #22c55e);font-weight:600}.recipe-unlinked-badge{color:var(--fn-text-muted)}.recipe-remove-btn{background:transparent;border:none;color:var(--fn-text-muted);cursor:pointer;font-size:.85rem;padding:2px 6px;border-radius:4px}.recipe-remove-btn:hover{background:#ef444426;color:#ef4444}.recipe-cost-section{margin-top:24px;padding:16px;background:var(--fn-bg-secondary);border:1px solid var(--fn-border);border-radius:10px}.recipe-cost-section h3{margin:0 0 12px}.recipe-cost-summary{display:flex;gap:16px;margin-bottom:16px}.recipe-cost-card{flex:1;padding:12px;background:var(--fn-bg-tertiary);border-radius:8px;text-align:center}.recipe-cost-label{display:block;font-size:.72rem;color:var(--fn-text-muted);margin-bottom:4px}.recipe-cost-value{font-size:1.25rem;font-weight:700;color:var(--fn-accent)}.recipe-cost-warning .recipe-cost-value{color:var(--color-warning, #f59e0b)}.recipe-cost-table{width:100%;border-collapse:collapse;font-size:.82rem}.recipe-cost-table th{text-align:left;padding:6px 8px;font-weight:600;font-size:.72rem;color:var(--fn-text-muted);border-bottom:1px solid var(--fn-border)}.recipe-cost-table td{padding:6px 8px;border-bottom:1px solid var(--fn-border-light, rgba(255,255,255,.05))}.recipe-cost-missing td{color:var(--fn-text-muted);font-style:italic}.btn-danger{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.btn-danger:hover{background:#ef444440}@media(max-width:640px){.recipe-form-grid{grid-template-columns:1fr}.recipe-editor-header{flex-direction:column;align-items:stretch}.recipe-editor-actions{justify-content:flex-end}.recipe-cost-summary{flex-direction:column}}.header-title-brand{background:linear-gradient(135deg,#a5ea07,#d4ff60 45%,#fff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 6px rgba(165,234,7,.3))}.beam-letter{-webkit-text-fill-color:transparent}.header{border-bottom:none;box-shadow:0 1px 0 var(--fn-border),0 1px #a5ea0714,0 4px 16px #0000004d}.header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(165,234,7,.15) 20%,rgba(165,234,7,.4) 50%,rgba(165,234,7,.15) 80%,transparent 100%)}.nav-tab{position:relative;letter-spacing:.02em}.nav-tab-active{box-shadow:0 2px 8px #a5ea0740,0 0 16px #a5ea071a,inset 0 1px #ffffff26;text-shadow:0 1px 2px rgba(0,0,0,.3)}.nav-tab-active:after{content:"";position:absolute;inset:-1px;border-radius:inherit;border:1px solid rgba(165,234,7,.3);pointer-events:none}.totals-section,.doc-review-card,.supplier-dash-section,.profile-plan-card,.onboarding-wizard{position:relative;overflow:visible}.totals-section:before,.supplier-dash-section:before{content:"";position:absolute;top:0;left:8px;right:8px;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(165,234,7,.3) 30%,rgba(165,234,7,.5) 50%,rgba(165,234,7,.3) 70%,transparent 100%);border-radius:1px}.doc-review-card:hover{border-color:#a5ea0733;box-shadow:0 2px 12px #0000004d,0 0 20px #a5ea070d}.section-title{font-family:JetBrains Mono,Fira Code,SF Mono,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.section-title:before{content:"■";color:var(--fn-accent);font-size:8px;vertical-align:middle;margin-right:2px}.supplier-dash-section-title{font-family:JetBrains Mono,Fira Code,SF Mono,monospace;letter-spacing:.08em}.supplier-dash-section-title:before{content:"■";color:var(--fn-accent);font-size:7px;vertical-align:middle;margin-right:2px}.score-section-title{font-family:JetBrains Mono,Fira Code,SF Mono,monospace}.score-section-title:before{content:"■";color:var(--fn-accent);font-size:7px;vertical-align:middle;margin-right:2px}.profile-section-title{font-family:JetBrains Mono,Fira Code,SF Mono,monospace;letter-spacing:.08em}.profile-section-title:before{content:"■";color:var(--fn-accent);font-size:7px;vertical-align:middle;margin-right:2px}.products-pim-section-title{font-family:JetBrains Mono,Fira Code,SF Mono,monospace;letter-spacing:.06em}.products-pim-section-title:before{content:"■";color:var(--fn-accent);font-size:7px;vertical-align:middle;margin-right:2px}.bulk-section-title{font-family:JetBrains Mono,Fira Code,SF Mono,monospace;letter-spacing:.04em}.cc-product-detail-section-title{font-family:JetBrains Mono,Fira Code,SF Mono,monospace}.cc-product-detail-section-title:before{content:"■";color:var(--fn-accent);font-size:6px;vertical-align:middle;margin-right:2px}.review-table thead th,.products-table thead th,.supplier-table thead th,.contracts-table thead th,.archive-table thead th,.history-table thead th{font-family:JetBrains Mono,Fira Code,SF Mono,monospace;font-size:10px;letter-spacing:.06em;border-bottom:1px solid var(--fn-border);box-shadow:inset 0 -1px #a5ea070f}.review-table tbody tr:hover,.products-table tbody tr:hover,.supplier-table tbody tr:hover,.contracts-table tbody tr:hover{box-shadow:inset 3px 0 0 var(--fn-accent)}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 1px #a5ea074d,0 0 8px #a5ea0714}.status-badge,.doc-type-badge{font-family:JetBrains Mono,Fira Code,SF Mono,monospace;font-size:10px;letter-spacing:.04em}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--fn-bg)}::-webkit-scrollbar-thumb{background:var(--fn-border-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a5ea074d}.btn-primary{box-shadow:0 2px 8px #a5ea0733,inset 0 1px #ffffff26}.btn-primary:hover{box-shadow:0 4px 16px #a5ea074d,0 0 24px #a5ea071a,inset 0 1px #fff3}.btn-primary:active{box-shadow:0 1px 4px #a5ea0733,inset 0 2px 4px #0003}.main{background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(165,234,7,.015) 0%,transparent 70%),var(--fn-bg)}.nav-more-dropdown{border-color:#a5ea071f;box-shadow:0 8px 32px #0006,0 0 1px #a5ea0726}.toast{border-left:3px solid var(--fn-accent);box-shadow:0 8px 24px #0006,0 0 1px #a5ea071a}@media(prefers-reduced-motion:reduce){.header-title-brand{filter:none}}
