@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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}}}@layer theme{:root,:host{--font-mono:ui-monospace, 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-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--animate-spin:spin 1s linear infinite;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:ui-sans-serif, system-ui, sans-serif;--default-mono-font-family:ui-monospace, monospace}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:before,:after{box-sizing:border-box;margin:0;padding:0}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.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}.sticky{position:sticky}.inset-0{inset:0}.z-\[200\]{z-index:200}.row-1{grid-row:1}.row-2{grid-row:2}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mt-1{margin-top:var(--spacing)}.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}.h-5{height:calc(var(--spacing) * 5)}.h-7{height:calc(var(--spacing) * 7)}.h-10{height:calc(var(--spacing) * 10)}.h-14{height:calc(var(--spacing) * 14)}.min-h-dvh{min-height:100dvh}.min-h-full{min-height:100%}.w-5{width:calc(var(--spacing) * 5)}.w-7{width:calc(var(--spacing) * 7)}.w-10{width:calc(var(--spacing) * 10)}.w-14{width:calc(var(--spacing) * 14)}.w-full{width:100%}.max-w-lg{max-width:var(--container-lg)}.min-w-\[200px\]{min-width:200px}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-\[var\(--space-4\)\]{gap:var(--space-4)}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[var\(--border-subtle\)\]{border-color:var(--border-subtle)}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.border-white\/20{border-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.bg-\[var\(--bg-card\)\]{background-color:var(--bg-card)}.bg-\[var\(--bg-primary\)\]{background-color:var(--bg-primary)}.bg-\[var\(--primary\)\]{background-color:var(--primary)}.bg-\[var\(--primary-light\)\]{background-color:var(--primary-light)}.bg-black\/55{background-color:#0000008c}@supports (color:color-mix(in lab, red, red)){.bg-black\/55{background-color:color-mix(in oklab, var(--color-black) 55%, transparent)}}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.text-center{text-align:center}.font-mono{font-family:ui-monospace,monospace}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.break-all{word-break:break-all}.text-\[var\(--primary\)\]{color:var(--primary)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-primary\)\]{color:var(--text-primary)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-70{opacity:.7}.shadow-\[var\(--shadow-lg\)\]{--tw-shadow:var(--shadow-lg);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)}.ring-1{--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-\[var\(--primary\)\]\/10{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.ring-\[var\(--primary\)\]\/10{--tw-ring-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.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-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-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-\[background-color\]{transition-property:background-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.select-all{-webkit-user-select:all;user-select:all}@media (hover:hover){.hover\:bg-\[var\(--primary-hover\)\]:hover{background-color:var(--primary-hover)}}}:root{--background:#fff;--foreground:#171717;--primary:#0ea5e9;--primary-hover:#0284c7;--primary-light:#0ea5e91a;--primary-glow:#0ea5e933;--secondary:#10b981;--secondary-light:#10b9811a;--accent:#6366f1;--accent-light:#6366f11a;--success:#22c55e;--success-light:#22c55e1a;--warning:#f59e0b;--warning-light:#f59e0b1a;--error:#ef4444;--error-light:#ef44441a;--info:#0ea5e9;--bg-primary:#f8fafc;--bg-primary-rgb:248, 250, 252;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--bg-card:#fffffff2;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--border-default:#e2e8f0;--border-subtle:#e2e8f0cc;--border-focus:#0ea5e9;--gradient-primary:linear-gradient(135deg, #0ea5e9 0%, #6366f1 100%);--gradient-secondary:linear-gradient(135deg, #10b981 0%, #0ea5e9 100%);--gradient-subtle:linear-gradient(135deg, #0ea5e90d 0%, #6366f10d 100%);--gradient-glow:radial-gradient(ellipse at top left, #0ea5e90d 0%, transparent 50%);--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 6px #0000000d, 0 2px 4px #00000008;--shadow-lg:0 10px 15px #0000000d, 0 4px 6px #00000005;--shadow-glow:0 0 20px #0ea5e926;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.25rem;--radius-2xl:1.5rem;--transition-fast:.15s ease;--transition-normal:.25s ease;--sidebar-width:260px;--fi-positive:#16a34a;--fi-positive-hover:#15803d;--fi-negative:#dc2626;--fi-negative-hover:#b91c1c;--fi-neutral:var(--text-muted)}body.dark-theme{--bg-primary:#0a0e1a;--bg-primary-rgb:10, 14, 26;--bg-secondary:#111827;--bg-tertiary:#1f2937;--bg-card:#111827f2;--text-primary:#f9fafb;--text-secondary:#9ca3af;--text-muted:#6b7280;--border-default:#4b556366;--border-subtle:#4b55634d;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px #0006;--shadow-lg:0 10px 15px #00000080;--gradient-subtle:linear-gradient(135deg, #0ea5e91a 0%, #6366f11a 100%);--gradient-glow:radial-gradient(ellipse at top left, #0ea5e91a 0%, transparent 50%);--fi-positive:#22c55e;--fi-positive-hover:#16a34a;--fi-negative:#f87171;--fi-negative-hover:#ef4444}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-inter), "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;background:var(--bg-primary);color:var(--text-primary);height:100vh;transition:background var(--transition-normal), color var(--transition-normal);line-height:1.6;display:flex;overflow:hidden}body:before{content:"";background:var(--gradient-glow);pointer-events:none;z-index:-1;position:fixed;inset:0}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:600;line-height:1.3}h1{font-size:2rem}h2{margin-bottom:var(--space-4);font-size:1.5rem}h3{margin-bottom:var(--space-3);font-size:1.125rem}.subtitle{color:var(--text-secondary);margin-top:var(--space-2);font-size:1rem}.auth-route-shell{flex:1;width:100%;min-width:0;min-height:100vh}.main-content.ant-layout-content{min-width:0;height:100vh;padding:var(--space-8);flex:1;margin-left:0;overflow:hidden auto}.app-root-layout.ant-layout{background:0 0}.app-shell-inner-layout.ant-layout{background:0 0;min-height:100vh}.app-shell-sider.ant-layout-sider{border-right:1px solid var(--border-default);box-shadow:none;z-index:100}.app-shell-sider .ant-layout-sider-children{flex-direction:column;height:100%;display:flex;overflow:hidden}.app-shell-sider-body{flex-direction:column;flex:1;height:100%;min-height:0;display:flex}.app-shell-logo{padding:var(--space-4);align-items:center;gap:var(--space-2);border-bottom:1px solid var(--border-default);flex-shrink:0;display:flex}.app-shell-logo:not(.app-shell-logo--collapsed){padding:var(--space-4) calc(var(--space-4) + 32px);justify-content:center;align-items:center;gap:0;position:relative}.sidebar-logo-link{width:100%;min-width:0;color:inherit;flex:1;justify-content:center;align-items:center;line-height:0;text-decoration:none;display:flex}.sidebar-logo-link--collapsed{flex:auto;min-height:0}.sidebar-logo-img{object-fit:contain;object-position:center center;width:min(100%,20rem);max-width:100%;height:auto;display:block}.app-shell-logo--collapsed{padding:var(--space-3) var(--space-2);justify-content:center;align-items:center;gap:var(--space-2);flex-direction:column}.app-shell-logo:not(.app-shell-logo--collapsed) .sidebar-collapse-btn{z-index:1;inset-inline-end:var(--space-4);flex-shrink:0;position:absolute;top:50%;transform:translateY(-50%)}.app-shell-nav-menu.ant-menu.ant-menu-inline:not(.ant-menu-inline-collapsed){margin:0;padding:var(--space-2) var(--space-2) var(--space-4) var(--space-2)!important;border-inline-end:none!important}.app-shell-nav-menu.ant-menu.ant-menu-inline.ant-menu-inline-collapsed{margin:0;padding:var(--space-2) var(--space-1) var(--space-4) var(--space-1)!important;border-inline-end:none!important}.main-content:has(.sticky-workflow-header){padding-top:0}.page-header{margin-bottom:var(--space-8)}.logo-icon{font-size:2rem}.logo-text{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.25rem;font-weight:700}.admin-layout-inner{flex-direction:column;min-height:0;display:flex}.theme-toggle{padding:var(--space-4);justify-content:center;gap:var(--space-2);display:flex}.sidebar-footer{padding:var(--space-4);border-top:1px solid var(--border-default);position:relative}.sidebar-app-version{padding:0 var(--space-4) var(--space-2);letter-spacing:.02em;color:var(--text-muted,var(--text-secondary));text-align:center;-webkit-user-select:none;user-select:none;font-size:.6875rem;font-weight:500}.sidebar-app-version--collapsed{padding-bottom:var(--space-3);font-size:.625rem}.user-profile-btn{border-radius:var(--radius-lg);width:100%;padding:var(--space-2);cursor:pointer;align-items:center;gap:var(--space-1);transition:all var(--transition-fast);color:inherit;background:0 0;border:1px solid #0000;grid-template-columns:1fr 16px;display:grid}.user-profile-btn:hover{background:var(--bg-secondary);border-color:var(--border-default)}.user-profile-btn .user-info{min-width:0}.user-profile-btn .user-details{overflow:hidden}.user-profile-btn .user-name,.user-profile-btn .user-role{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.user-popover-chevron{width:16px;height:16px;color:var(--text-muted);transition:transform var(--transition-fast);flex-shrink:0}.user-popover-chevron.open{transform:rotate(180deg)}.user-popover{bottom:calc(100% + 8px);left:var(--space-3);right:var(--space-3);background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-3);z-index:100;animation:.15s popoverSlideUp;position:absolute}@keyframes popoverSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.user-popover-header{align-items:center;gap:var(--space-3);padding:var(--space-2);display:flex}.user-popover-info{flex-direction:column;gap:2px;min-width:0;display:flex}.user-popover-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.user-popover-email{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.user-popover-info .role-badge{width:fit-content;margin-top:2px}.user-popover-divider{background:var(--border-default);height:1px;margin:var(--space-2) 0}.user-popover-item{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;font-size:.8125rem;display:flex}.user-popover-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.user-popover-item svg{flex-shrink:0;width:16px;height:16px}.user-popover-item.logout{color:var(--error)}.user-popover-item.logout:hover{background:var(--error-light);color:var(--error)}.user-info{align-items:center;gap:var(--space-3);display:flex}.user-avatar{background:var(--gradient-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:.875rem;font-weight:600;display:flex;overflow:hidden}.user-avatar img{object-fit:cover;width:100%;height:100%}.user-avatar:has(img){background:0 0}.user-details{flex-direction:column;display:flex}.user-name{font-size:.875rem;font-weight:500}.user-role{color:var(--text-muted);font-size:.75rem}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-md);transition:box-shadow var(--transition-fast), transform var(--transition-fast)}.glass-card:hover{box-shadow:var(--shadow-lg)}.ant-card.glass-card{color:var(--text-primary);background:var(--bg-card)!important;border-color:var(--border-default)!important}.ant-card.glass-card .ant-card-body{background:0 0!important}.sticky-workflow-header{z-index:40;background:var(--bg-primary);margin:0 calc(-1 * var(--space-8)) var(--space-5);padding:var(--space-5) var(--space-8) var(--space-3);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;box-shadow:0 4px 16px #00000014}.sticky-workflow-header .page-header{margin-bottom:var(--space-2)}.sticky-workflow-header .page-header h1{font-size:1.375rem}.sticky-workflow-header .page-header .subtitle{margin-top:var(--space-1);font-size:.8125rem}.sticky-workflow-header .workflow-stepper-crumb{margin-bottom:var(--space-2);padding:0 var(--space-4)}.sticky-workflow-header .workflow-stepper{margin-bottom:var(--space-2);padding:var(--space-2) var(--space-4)}.sticky-workflow-header .admin-stats-grid{margin-bottom:0}.sticky-workflow-header .group-access-bar{margin-bottom:var(--space-2);padding:var(--space-2) var(--space-4)}.sticky-workflow-header .workflow-dataset-banner{margin-bottom:0}.sticky-workflow-header>.workflow-dataset-banner:first-child{margin-bottom:var(--space-3)}.sticky-workflow-header .pred-workflow-tabs{margin:var(--space-3) 0 0;padding-top:var(--space-2);border-top:1px solid var(--border-subtle)}.pred-workflow-tabs__bar{flex-wrap:wrap;gap:8px;display:flex}.pred-workflow-tabs__hint{color:var(--text-secondary);align-items:center;gap:6px;margin:10px 0 0;font-size:.82rem;display:flex}.workflow-stepper{padding:var(--space-3) var(--space-6);margin-bottom:var(--space-6);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);justify-content:center;align-items:center;gap:0;display:flex}.workflow-step{align-items:center;gap:var(--space-2);cursor:pointer;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);transition:all var(--transition-fast);white-space:nowrap;color:inherit;text-decoration:none;display:flex}.workflow-step:hover{background:var(--bg-secondary)}.step-circle{background:var(--bg-tertiary);width:28px;height:28px;color:var(--text-secondary);border:2px solid var(--border-default);transition:all var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:600;display:inline-flex}.workflow-step.active .step-circle{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 0 0 3px #6366f133}.workflow-step.completed .step-circle{color:#fff;background:#10b981;border-color:#10b981}.step-name{color:var(--text-secondary);transition:color var(--transition-fast);font-size:.8rem;font-weight:500}.workflow-step.active .step-name{color:var(--text-primary);font-weight:600}.workflow-step.completed .step-name{color:#10b981}.workflow-connector{background:var(--border-default);width:40px;height:2px;transition:background var(--transition-fast);flex-shrink:0}.workflow-connector.completed{background:#10b981}.btn-primary{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);background:var(--gradient-primary);color:#fff;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-md);border:none;font-size:1rem;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary:hover{box-shadow:var(--shadow-glow);transform:translateY(-2px)}.btn-primary svg{width:18px;height:18px}.btn-primary.success{background:var(--gradient-secondary);box-shadow:0 0 0 2px var(--secondary-light)}.btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite btn-spin;display:inline-block}@keyframes btn-spin{to{transform:rotate(360deg)}}.training-loading-icon{animation:1s linear infinite btn-spin}.btn-secondary{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:0 0;font-size:.875rem;text-decoration:none;display:inline-flex}.btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.btn-secondary svg{width:16px;height:16px}.btn-icon{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.btn-icon:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.btn-icon svg{width:18px;height:18px}.lang-toggle{width:auto;padding:0 var(--space-3);gap:4px;font-size:.75rem}.lang-toggle .lang-flag{font-size:.9rem}.lang-toggle .lang-label{letter-spacing:.08em;font-weight:600}.quick-actions{margin-bottom:var(--space-8)}.action-cards{gap:var(--space-6);margin-top:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.action-card{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--space-6);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);color:inherit;text-decoration:none}.action-card:hover{border-color:var(--primary);box-shadow:var(--shadow-glow);transform:translateY(-4px)}.action-card svg{width:32px;height:32px;color:var(--primary);margin-bottom:var(--space-3)}.action-card h3{margin-bottom:var(--space-2)}.action-card p{color:var(--text-secondary);font-size:.875rem}.your-modules{margin-bottom:var(--space-8)}.module-cards-grid{gap:var(--space-6);margin-top:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}.module-card{padding:var(--space-6);transition:all var(--transition-fast);flex-direction:column;display:flex}.module-card.glass-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.module-card-inactive{opacity:.65;cursor:default}.module-card-inactive:hover{box-shadow:var(--shadow-sm);transform:none}.module-card-header{align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.module-icon{border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.module-icon svg{width:20px;height:20px}.module-icon.blue{color:#6366f1;background:#6366f126}.module-icon.green{color:#10b981;background:#10b98126}.module-icon.purple{color:#8b5cf6;background:#8b5cf626}.module-icon.orange{color:#f59e0b;background:#f59e0b26}.module-title{flex:1}.module-title h3{margin:0 0 var(--space-1) 0;font-size:1rem;font-weight:600}.module-card-desc{color:var(--text-secondary);flex:1;margin:0;font-size:.875rem;line-height:1.55}.module-card-cta{margin-top:var(--space-4);padding:var(--space-2) var(--space-4);align-self:flex-end;font-size:.875rem}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--border-default)}.data-table th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:500}.data-table tr:hover{background:var(--bg-tertiary)}.badge{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);text-transform:uppercase;font-size:.75rem;font-weight:600}.badge.high{background:var(--success-light);color:#10b981}.badge.medium{background:var(--warning-light);color:var(--warning)}.badge.low{background:var(--error-light);color:var(--error)}.module-tag{white-space:nowrap;border-radius:9999px;padding:2px 8px;font-size:.75rem;font-weight:500;display:inline-block}.module-tag.blue{color:#6366f1;background:#6366f126}.module-tag.green{color:#10b981;background:#10b98126}.module-tag.purple{color:#8b5cf6;background:#8b5cf626}.workflow-next-step{margin-top:var(--space-8)}.unsaved-data-hint{margin-bottom:var(--space-3);color:#92400e;background:#f59e0b14;border:1px solid #f59e0b40;border-left:4px solid #f59e0b;border-radius:8px;align-items:center;gap:8px;padding:10px 16px;font-size:.82rem;line-height:1.5;display:flex}.unsaved-data-hint svg{color:#f59e0b}:root.dark-theme .unsaved-data-hint{color:#fcd34d;background:#f59e0b14}.next-step-content{gap:var(--space-4);padding:var(--space-5) var(--space-6);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);border-left:4px solid #10b981;flex-direction:column;display:flex}.next-step-top-row{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.data-save-status{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;padding:6px 12px;font-size:.78rem;font-weight:600;display:inline-flex}.data-save-status--not_saved{color:#92400e;background:#f59e0b1a;border-color:#f59e0b40}.data-save-status--saved{color:#047857;background:#10b9811a;border-color:#10b98140}.data-save-status--unsaved_changes{color:#b45309;background:#f59e0b1f;border-color:#f59e0b59}:root.dark-theme .data-save-status--not_saved{color:#fcd34d}:root.dark-theme .data-save-status--saved{color:#6ee7b7}:root.dark-theme .data-save-status--unsaved_changes{color:#fcd34d}.next-step-text{align-items:center;gap:var(--space-3);display:flex}.next-step-text div{flex-direction:column;gap:2px;display:flex}.next-step-text strong{color:var(--text-primary);font-size:.95rem}.next-step-text span{color:var(--text-secondary);font-size:.85rem}.next-step-actions{align-items:center;gap:var(--space-3);display:flex}.next-step-btn{align-items:center;gap:var(--space-2);white-space:nowrap;padding:var(--space-3) var(--space-5);cursor:pointer;border-radius:var(--radius-lg);border:none;font-weight:600;text-decoration:none;display:inline-flex}.next-step-btn.btn-primary{color:#fff;background:var(--gradient-primary);box-shadow:var(--shadow-md)}.next-step-btn.btn-secondary{color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border-default)}.next-step-btn.btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.dash-context-bar{align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);color:var(--text-secondary);flex-wrap:wrap;font-size:.85rem;display:flex}.dash-context-session{align-items:center;gap:var(--space-2);display:inline-flex}.dash-status-pill{align-items:center;gap:var(--space-1);background:var(--success-light);color:#10b981;border-radius:9999px;margin-left:auto;padding:2px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.action-cards-4{grid-template-columns:repeat(4,1fr)}.action-card-resume{border-left:3px solid var(--primary)}.action-card-meta{margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--border-default);justify-content:space-between;align-items:center;font-size:.75rem;display:flex}.action-usage{color:var(--text-muted)}.action-shortcut{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary);min-width:22px;height:22px;color:var(--text-secondary);justify-content:center;align-items:center;padding:0 6px;font-family:inherit;font-size:.7rem;font-weight:600;line-height:1;display:inline-flex}.wfr-card{margin-bottom:var(--space-6);padding:var(--space-4) var(--space-5);border-radius:14px}.wfr-header{margin-bottom:var(--space-4)}.wfr-header h2{margin:0;font-size:1.1rem;font-weight:700}.wfr-section{padding:var(--space-4);border:1px solid var(--border-default);margin-bottom:var(--space-3);border-radius:12px}.wfr-section:last-child{margin-bottom:0}.wfr-section-label{margin-bottom:var(--space-3)}.wfr-section-available{border-left:4px solid var(--primary);border-color:var(--primary);background:linear-gradient(135deg,#0ea5e90d,#10b98108);border-left-width:4px;box-shadow:0 1px 8px #0ea5e914}.wfr-section-coming{background:var(--bg-secondary);opacity:.7;border-style:dashed}.wfr-boxes{margin-bottom:var(--space-3);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.wfr-box{background:var(--bg-primary);border:1px solid var(--border-default);text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:2px;min-width:72px;padding:12px 16px;transition:transform .15s;display:flex}.wfr-box:hover{transform:translateY(-2px)}.wfr-box-icon{margin-bottom:2px;font-size:1.3rem}.wfr-box strong{color:var(--text-primary);font-size:.82rem;font-weight:700}.wfr-box-sub{color:var(--text-muted);font-size:.68rem}.wfr-box-input{border-bottom:3px solid #3b82f6}.wfr-box-model{border-bottom:3px solid #10b981}.wfr-box-output{border-bottom:3px solid #f59e0b}.wfr-box-mid{border-bottom:3px solid #8b5cf6}.wfr-box-physics{background:#8b5cf60a;border:2px dashed #8b5cf680;border-bottom:3px dashed #7c3aed}.wfr-box-arrow{color:var(--text-muted);flex-shrink:0}.wfr-section-desc{color:var(--text-secondary);text-align:center;margin:0;font-size:.82rem}.wfr-whats-new{margin-top:var(--space-2);padding:var(--space-3);background:#8b5cf60a;border:1px solid #8b5cf61a;border-radius:8px}.wfr-whats-new strong{color:#7c3aed;margin-bottom:4px;font-size:.78rem;display:block}.wfr-whats-new ul{color:var(--text-secondary);margin:0;padding-left:18px;font-size:.78rem;line-height:1.6}.wfr-notify-row{margin-top:var(--space-3);justify-content:flex-end;display:flex}.wfr-cta-btn{border:1px solid var(--border-default);background:var(--bg-primary);color:var(--primary);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:4px;padding:6px 14px;font-size:.75rem;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.wfr-cta-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.wfr-cta-notify{color:#7c3aed;border-color:#8b5cf64d}.wfr-cta-notify:hover{color:#fff;background:#7c3aed;border-color:#7c3aed}.kpi-strip-bottom{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border)}.kpi-strip{gap:var(--space-4);margin-bottom:var(--space-8);grid-template-columns:repeat(4,1fr);display:grid}.kpi-card{text-align:center;padding:var(--space-5) var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:all var(--transition-fast);flex-direction:column;align-items:center;display:flex}.kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.kpi-icon{margin-bottom:var(--space-2);opacity:.85}.kpi-value{color:var(--text-primary);font-size:1.75rem;font-weight:700;line-height:1.2}.kpi-label{color:var(--text-secondary);margin-top:var(--space-1);font-size:.8rem}.proj-section{margin-bottom:var(--space-6)}.proj-section-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.proj-section-header h2{align-items:center;gap:var(--space-2);color:var(--text-primary);margin:0;font-size:1.15rem;font-weight:600;display:flex}.proj-section-header h2 .proj-count{color:var(--text-secondary);background:var(--bg-tertiary);border-radius:999px;padding:2px 8px;font-size:.8rem;font-weight:500}.proj-section-header-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.proj-section-header-actions .ant-segmented{background:var(--bg-tertiary);border-radius:var(--radius-md)}.proj-section-header-actions .ant-segmented .ant-segmented-item{color:var(--text-secondary)}.proj-section-header-actions .ant-segmented .ant-segmented-item-selected{border-radius:var(--radius-sm);background:var(--bg-card)!important}.proj-section-header-actions .ant-segmented .ant-segmented-item-selected .ant-segmented-item-label{font-weight:600;color:var(--text-primary)!important}.proj-view-seg-label{justify-content:center;align-items:center;gap:6px;font-size:.8125rem;display:inline-flex}.proj-list-table-wrap{width:100%}.proj-list-table-wrap .ant-table-tbody>tr.proj-table-data-row{cursor:pointer}.proj-list-table-wrap .ant-table-tbody>tr.proj-table-data-row:hover>td{background:var(--bg-tertiary)!important}.proj-btn-new{align-items:center;gap:var(--space-1);color:#fff;background:var(--primary);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);border:none;padding:8px 16px;font-size:.85rem;font-weight:600;display:inline-flex}.proj-btn-new:hover{background:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.proj-toolbar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.proj-search-wrap{flex:1;min-width:200px;position:relative}.proj-search{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-secondary);width:100%;color:var(--text-primary);transition:border-color var(--transition-fast);padding:9px 12px 9px 36px;font-size:.875rem}.proj-search:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #3b82f61a}.proj-filters{flex-wrap:wrap;gap:6px;display:flex}.proj-filter-pill{border:1px solid var(--border-default);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border-radius:999px;padding:6px 14px;font-size:.8rem;font-weight:500}.proj-filter-pill:hover{border-color:var(--primary);color:var(--primary)}.proj-filter-pill.active{background:var(--primary);color:#fff;border-color:var(--primary)}.proj-filter-pill:disabled{cursor:not-allowed;opacity:.75;pointer-events:none}.proj-list{gap:var(--space-3);flex-direction:column;display:flex}.proj-card{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-xl);color:inherit;transition:all var(--transition-fast);cursor:pointer;text-decoration:none;display:flex}.proj-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary);transform:translateY(-2px)}.proj-card-icon{border-radius:var(--radius-lg);background:var(--bg-tertiary);width:44px;height:44px;color:var(--primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.proj-card-main{flex:1;min-width:0}.proj-card-top{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:4px;display:flex}.proj-card-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.proj-card-code{font-size:.7rem;font-family:var(--font-mono,monospace);color:var(--text-muted);background:var(--bg-tertiary);border-radius:var(--radius-sm);white-space:nowrap;padding:2px 8px}.proj-card-desc{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:.8rem;overflow:hidden}.proj-card-activity{color:var(--text-muted);align-items:center;gap:4px;font-size:.75rem;display:flex}.proj-card-right{align-items:center;gap:var(--space-5);flex-shrink:0;display:flex}.proj-card-stats{gap:var(--space-4);display:flex}.proj-card-stat{flex-direction:column;align-items:center;gap:2px;display:flex}.proj-card-stat-value{color:var(--text-primary);font-size:1rem;font-weight:700;line-height:1}.proj-card-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.65rem}.proj-card-members{align-items:center;display:flex}.proj-member-avatar{background:var(--primary);color:#fff;border:2px solid var(--bg-secondary);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;margin-left:-8px;font-size:.65rem;font-weight:600;display:flex}.proj-member-avatar:first-child{margin-left:0}.proj-member-avatar.overflow{background:var(--bg-tertiary);color:var(--text-secondary);font-size:.6rem}.proj-status{white-space:nowrap;text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:4px 10px;font-size:.7rem;font-weight:600}.proj-status.active{color:#166534;background:#dcfce7}.proj-status.completed{color:#1e40af;background:#dbeafe}.proj-status.draft{color:#92400e;background:#fef3c7}.proj-status.archived{background:var(--bg-tertiary);color:var(--text-muted)}.proj-workflow{align-items:center;gap:4px;display:flex}.proj-workflow-dot{border:1.5px solid var(--border-default);width:8px;height:8px;transition:all var(--transition-fast);background:0 0;border-radius:50%}.proj-workflow-dot.filled{background:var(--primary);border-color:var(--primary)}.proj-workflow-labels{gap:4px;margin-left:6px;display:flex}.proj-workflow-label{color:var(--text-muted);font-size:.6rem}.proj-card-open{color:var(--primary);border:1px solid var(--primary);border-radius:var(--radius-lg);white-space:nowrap;transition:all var(--transition-fast);background:0 0;align-items:center;gap:4px;padding:6px 14px;font-size:.8rem;font-weight:600;display:inline-flex}.proj-card:hover .proj-card-open{background:var(--primary);color:#fff}.proj-empty{text-align:center;padding:var(--space-8) var(--space-4);color:var(--text-muted);font-size:.9rem}.proj-empty svg{width:48px;height:48px;margin:0 auto var(--space-3);opacity:.3}.pj-groups{gap:var(--space-4);flex-direction:column;display:flex}.pj-group-header{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:.8rem;font-weight:700;display:flex}button.pj-group-header{position:relative}button.pj-group-header .pj-group-header-chevron{pointer-events:none;flex-shrink:0;position:absolute;top:50%;left:12px;transform:translate(calc(-100% - 6px),-50%)}.pj-group-header:hover{color:var(--text-primary)}.pj-group-starred{color:#f59e0b;cursor:default}.pj-group-recent{color:var(--primary);cursor:default}.proj-recent-block{margin-bottom:var(--space-4)}.proj-recent-empty{padding:var(--space-3) var(--space-4)}.proj-recent-empty-text{color:var(--text-muted);font-size:.85rem}.pj-group-count{background:var(--bg-tertiary);color:var(--text-secondary);border-radius:10px;flex-shrink:0;padding:1px 7px;font-size:.7rem;font-weight:600}.pj-group-header-label{min-width:0;font-size:inherit;font-weight:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;flex:1}.pj-group-list{gap:var(--space-2);flex-direction:column;display:flex}.pj-row{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 12px;transition:background .12s;display:flex}.pj-row:last-child{border-bottom:none}.pj-row:hover{background:var(--bg-secondary)}.pj-star{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:4px;transition:color .15s}.pj-star:hover,.pj-star.active{color:#f59e0b}.pj-star.active svg{fill:#f59e0b}.pj-row-link{min-width:0;color:inherit;cursor:pointer;text-align:left;font:inherit;background:0 0;border:none;flex-direction:column;flex:1;gap:4px;padding:0;text-decoration:none;display:flex}.pj-row-main{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pj-row-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:380px;font-size:.88rem;font-weight:600;overflow:hidden}.pj-row-meta{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.pj-row-activity{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:4px;min-width:0;font-size:.72rem;display:flex;overflow:hidden}.pj-row-stats{color:var(--text-secondary);gap:8px;font-family:monospace;font-size:.72rem;font-weight:700;display:flex}.pj-row-stats span{white-space:nowrap}.pj-row-members{margin-left:auto;display:flex}.pj-row-open{color:var(--text-muted);white-space:nowrap;border:1px solid #0000;border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:600;transition:all .15s;display:inline-flex}.pj-row:hover .pj-row-open{color:var(--primary);border-color:var(--primary)}.proj-filter-star{align-items:center;gap:4px;display:inline-flex}.proj-filter-star svg{color:#f59e0b}.proj-filter-private{align-items:center;gap:4px;display:inline-flex}.proj-filter-private svg{color:var(--text-muted)}.proj-filter-private.active svg{color:inherit}@keyframes proj-filter-pill-spin{to{transform:rotate(360deg)}}.proj-filter-pill-icon-spin{animation:.65s linear infinite proj-filter-pill-spin}.proj-filter-pill.active .proj-filter-pill-icon-spin{color:#fff}tr.pred-validation-summary-row:hover td{background:#0ea5e90f}.ml-card-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.ml-action-btn{cursor:pointer;border:1px solid var(--border-default);background:var(--bg-primary);border-radius:8px;align-items:center;gap:5px;padding:7px 14px;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-flex}.ml-action-retrain{color:var(--text-secondary)}.ml-action-retrain:hover{border-color:var(--primary);color:var(--primary);background:#0ea5e90a}.ml-action-use{color:#fff;background:var(--primary);border-color:var(--primary)}.ml-action-use:hover{opacity:.9;box-shadow:0 2px 8px #0ea5e940}.proj-banner{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);border:1px solid #0ea5e933;border-left:4px solid var(--primary);background:linear-gradient(135deg,#0ea5e914,#10b9810d);border-radius:10px;padding:10px 16px;display:flex}.proj-banner-content{color:var(--primary);align-items:center;gap:10px;min-width:0;display:flex}.proj-banner-text{flex-wrap:wrap;align-items:center;gap:8px;font-size:.85rem;display:flex}.proj-banner-text strong{color:var(--text-primary)}.proj-banner-datasets{color:var(--text-secondary);font-size:.75rem}.proj-banner-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:4px}.proj-banner-close:hover{color:var(--text-primary);background:var(--bg-secondary)}.pd-modal{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:16px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0003}.pd-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);display:flex}.pd-header h2{margin:0 0 6px;font-size:1.05rem;font-weight:700;line-height:1.3}.pd-meta-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pd-group{color:var(--text-secondary);align-items:center;gap:4px;font-size:.72rem;display:inline-flex}.pd-body{padding:var(--space-4) var(--space-5)}.pd-desc{color:var(--text-secondary);margin:0 0 var(--space-4);font-size:.88rem;line-height:1.5}.pd-stats-row{gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.pd-stat{color:var(--text-secondary);align-items:center;gap:6px;font-size:.82rem;display:flex}.pd-stat svg{color:var(--primary)}.pd-stat-value{color:var(--text-primary);font-weight:700}.pd-members{margin-bottom:var(--space-3)}.pd-members-label{color:var(--text-secondary);margin-bottom:6px;font-size:.78rem;font-weight:600;display:block}.pd-members-list{flex-wrap:wrap;gap:6px;display:flex}.pd-activity{color:var(--text-muted);align-items:center;gap:4px;font-size:.75rem;display:flex}.pd-actions{padding:0 var(--space-5) var(--space-3);grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.pd-action-btn{border:1px solid var(--border-default);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;font-size:.78rem;font-weight:600;text-decoration:none;transition:all .15s;display:flex}.pd-action-btn svg{color:var(--primary)}.pd-action-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.pd-action-btn:hover svg{color:#fff}.pd-action-active{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}.pd-action-active svg{color:#fff!important}.pd-preview{padding:0 var(--space-5) var(--space-4);animation:.15s ease-out pd-slide-in}@keyframes pd-slide-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.pd-preview-table{border-collapse:collapse;width:100%;font-size:.75rem}.pd-preview-table th{text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.03em;padding:6px 8px;font-size:.7rem;font-weight:600}.pd-preview-table td{border-bottom:1px solid var(--border);color:var(--text-primary);padding:8px}.pd-preview-table td svg{color:var(--primary)}.pd-preview-table tbody tr:last-child td{border-bottom:none}.pd-preview-table tbody tr:hover{background:var(--bg-secondary)}.pd-preview-empty{text-align:center;color:var(--text-muted);padding:var(--space-4) 0;font-size:.8rem}.pd-preview-cards{flex-direction:column;gap:8px;display:flex}.pd-model-card{border:1px solid var(--border-default);background:var(--bg-secondary);border-radius:8px;padding:10px 12px}.pd-model-name{color:var(--text-primary);align-items:center;gap:6px;margin-bottom:4px;font-size:.82rem;font-weight:600;display:flex}.pd-model-name svg{color:var(--primary)}.pd-model-meta{color:var(--text-secondary);align-items:center;gap:8px;font-size:.72rem;display:flex}.pd-model-target{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:4px;padding:1px 6px}.pd-model-r2{color:#16a34a;font-weight:700}.pd-preview-results{flex-direction:column;gap:6px;display:flex}.pd-result-row{background:var(--bg-secondary);border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:.78rem;display:flex}.pd-result-type{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:.65rem;font-weight:700}.pd-result-type.prediction{color:#1e40af;background:#dbeafe}.pd-result-type.optimization{color:#166534;background:#dcfce7}.pd-result-type.validation{color:#92400e;background:#fef3c7}[data-theme=dark] .pd-result-type.prediction{color:#93bbfd;background:#3b82f633}[data-theme=dark] .pd-result-type.optimization{color:#86efac;background:#16a34a33}[data-theme=dark] .pd-result-type.validation{color:#fcd34d;background:#f59e0b33}.pd-result-summary{color:var(--text-primary);flex:1}.pd-result-date{color:var(--text-muted);flex-shrink:0;font-size:.7rem}.pd-open-full{color:var(--primary);background:#0ea5e90f;border-radius:8px;justify-content:center;align-items:center;gap:4px;margin-top:10px;padding:8px;font-size:.78rem;font-weight:600;text-decoration:none;transition:all .15s;display:flex}.pd-open-full:hover{background:#0ea5e91f}.pd-reuse-model{padding:var(--space-3) var(--space-5) var(--space-4);border-top:1px solid var(--border);flex-direction:column;align-items:center;gap:6px;display:flex}.pd-reuse-model-btn{background:linear-gradient(135deg, var(--primary), #2563eb);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 16px;font-size:.88rem;font-weight:700;transition:all .2s;display:flex}.pd-reuse-model-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0ea5e959}.pd-reuse-model-btn svg{color:#fff}.pd-reuse-hint{color:var(--text-muted);text-align:center;font-size:.7rem}.np-overlay{z-index:1000;padding:var(--space-4);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.np-modal{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:16px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0003}.np-modal-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.np-modal-header h2{margin:0;font-size:1.1rem;font-weight:700}.np-close{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:6px;padding:4px}.np-close:hover{color:var(--text-primary);background:var(--bg-secondary)}.np-modal-body{padding:var(--space-4) var(--space-5);gap:var(--space-1);flex-direction:column;display:flex}.np-label{color:var(--text-primary);margin-top:var(--space-3);align-items:center;gap:4px;font-size:.82rem;font-weight:600;display:flex}.np-label:first-child{margin-top:0}.np-required{color:#ef4444}.np-input{border:1px solid var(--border-default);background:var(--bg-secondary);width:100%;color:var(--text-primary);border-radius:8px;margin-top:4px;padding:10px 12px;font-size:.88rem}.np-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #0ea5e926}.np-textarea{resize:vertical;min-height:48px}.np-select{cursor:pointer}.np-group-options{gap:var(--space-4);margin:6px 0;display:flex}.np-radio{color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;font-size:.82rem;display:flex}.np-radio input{accent-color:var(--primary)}.np-share-input{border:1px solid var(--border-default);background:var(--bg-secondary);border-radius:8px;align-items:center;gap:8px;margin-top:4px;padding:8px 12px;display:flex}.np-share-input svg{color:var(--text-muted);flex-shrink:0}.np-share-input input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:.85rem}.np-share-dropdown{border:1px solid var(--border-default);background:var(--bg-primary);border-radius:8px;max-height:150px;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.np-share-option{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;font-size:.82rem;display:flex}.np-share-option:hover{background:var(--bg-secondary)}.np-share-selected{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.np-share-chip{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:20px;align-items:center;gap:4px;padding:3px 8px 3px 3px;font-size:.75rem;font-weight:500;display:inline-flex}.np-share-chip button{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:0;display:flex}.np-share-chip button:hover{color:#ef4444}.np-modal-footer{justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border);display:flex}.np-btn-cancel{border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;padding:8px 18px;font-size:.85rem;font-weight:500}.np-btn-cancel:hover{background:var(--bg-secondary)}.np-btn-create{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 20px;font-size:.85rem;font-weight:600;transition:opacity .15s;display:inline-flex}.np-btn-create:hover{opacity:.9}.np-btn-create:disabled{opacity:.4;cursor:not-allowed}:root.dark-theme .proj-status.active{color:#86efac;background:#16653433}:root.dark-theme .proj-status.completed{color:#93c5fd;background:#1e40af33}:root.dark-theme .proj-status.draft{color:#fcd34d;background:#92400e33}@media (max-width:1023px){.proj-card-stats{display:none}.proj-card-right{gap:var(--space-3)}}@media (max-width:767px){.proj-card{align-items:flex-start;gap:var(--space-3);flex-direction:column}.proj-card-right{justify-content:space-between;width:100%}.proj-card-icon,.proj-card-members{display:none}.proj-toolbar{flex-direction:column}.proj-search-wrap{min-width:100%}}.dash-pinned{margin-bottom:var(--space-8)}.dash-pinned h2{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.pinned-empty{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-6);border:2px dashed var(--border-default);border-radius:var(--radius-xl);color:var(--text-muted);text-align:center;flex-direction:column;display:flex}.pinned-empty p{margin:0;font-size:.875rem}.pinned-list{gap:var(--space-3);flex-wrap:wrap;display:flex}.pinned-item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);font-size:.85rem;display:flex}.pinned-item-link{align-items:center;gap:var(--space-2);color:var(--text-primary);text-decoration:none;display:inline-flex}.pinned-item-link:hover{color:var(--primary)}.pinned-unpin{cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);transition:color var(--transition-fast);background:0 0;border:none;padding:2px}.pinned-unpin:hover{color:var(--error)}.module-card-state{gap:var(--space-4);margin-top:var(--space-2);margin-bottom:var(--space-1);color:var(--text-muted);font-size:.75rem;display:flex}.module-card-state span{align-items:center;gap:4px;display:inline-flex}.module-card-timeline{align-items:center;gap:var(--space-3);margin-top:var(--space-3);display:flex}.module-progress-bar{background:var(--bg-tertiary);border-radius:3px;flex:1;height:6px;overflow:hidden}.module-progress-fill{background:var(--primary);border-radius:3px;height:100%;transition:width .4s}.module-progress-label{color:var(--text-muted);white-space:nowrap;font-size:.7rem;font-weight:500}.module-card-cta-request{cursor:pointer;pointer-events:auto;opacity:1!important}.module-card-cta-request:hover{border-color:var(--primary);color:var(--primary)}.recent-activity{margin-bottom:var(--space-8)}.recent-activity h2{margin-bottom:var(--space-4)}.activity-timeline{flex-direction:column;gap:0;display:flex;position:relative}.activity-timeline:before{content:"";background:var(--border-default);width:2px;position:absolute;top:0;bottom:0;left:19px}.timeline-item{gap:var(--space-4);padding:var(--space-4) 0;display:flex;position:relative}.timeline-item:not(:last-child){border-bottom:none}.timeline-icon{z-index:1;border:3px solid var(--bg-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.timeline-icon-prediction{color:#f59e0b;background:#f59e0b26}.timeline-icon-optimization{color:#10b981;background:#10b98126}.timeline-icon-upload{color:#6366f1;background:#6366f126}.timeline-icon-validation{color:#3b82f6;background:#3b82f626}.timeline-content{flex:1;min-width:0}.timeline-header{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:2px;display:flex}.timeline-title{color:var(--text-primary);font-size:.9rem;font-weight:600}.timeline-time{color:var(--text-muted);white-space:nowrap;font-size:.75rem}.timeline-detail{color:var(--text-secondary);margin-bottom:var(--space-2);font-size:.85rem}.timeline-cta{color:var(--primary);align-items:center;gap:4px;font-size:.8rem;font-weight:500;text-decoration:none;display:inline-flex}.timeline-cta:hover{text-decoration:underline}.team-activity{margin-bottom:var(--space-8)}.team-activity h2{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.team-feed{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-xl);flex-direction:column;gap:0;display:flex;overflow:hidden}.team-event{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-default);font-size:.85rem;display:flex}.team-event:last-child{border-bottom:none}.team-avatar{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8rem;font-weight:700;display:flex}.team-event-content{color:var(--text-secondary);flex:1}.team-event-content strong{color:var(--text-primary)}.team-event-time{color:var(--text-muted);white-space:nowrap;font-size:.75rem}.demo-page{min-height:60vh;padding:var(--space-8);justify-content:center;align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.demo-page .demo-error{color:var(--text-muted);margin:0}.demo-mode-card{margin-bottom:var(--space-6);border:2px dotted var(--primary);border-radius:var(--radius-xl);background:var(--primary-light);box-shadow:var(--shadow-xs);padding:var(--space-6)}.main-content .demo-mode-card{padding:var(--space-6)}.demo-mode-inner{justify-content:space-between;align-items:center;gap:var(--space-6);flex-wrap:nowrap;display:flex}.demo-mode-icon-wrap{border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border-subtle);width:64px;height:64px;box-shadow:var(--shadow-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex}.demo-mode-icon{width:32px;height:32px;color:var(--primary)}.demo-mode-content{min-width:0;padding-right:var(--space-4);text-align:left;flex:1}.demo-mode-heading{margin:0 0 var(--space-2);color:var(--text-primary);font-size:1.25rem;font-weight:600;line-height:1.3}.demo-mode-desc{color:var(--text-secondary);margin:0;font-size:.9375rem;line-height:1.5}.demo-mode-btn{align-items:center;gap:var(--space-2);flex-shrink:0;display:inline-flex}@media (max-width:640px){.demo-mode-inner{flex-wrap:wrap;justify-content:flex-start}.demo-mode-btn{justify-content:center;width:100%}.demo-mode-content{padding-right:0}}.upload-section{margin-bottom:var(--space-6)}.upload-zone{border:2px dashed var(--border-default);border-radius:var(--radius-lg);text-align:center;padding:var(--space-8);cursor:pointer;transition:all var(--transition-fast);background:var(--bg-tertiary);flex-direction:column;justify-content:center;align-items:center;display:flex}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--primary);background:var(--primary-light)}.upload-zone svg{width:48px;height:48px;color:var(--primary);margin-bottom:var(--space-4);flex-shrink:0}.upload-zone h3{margin-bottom:var(--space-2);color:var(--text-primary)}.upload-zone p{color:var(--text-muted);font-size:.875rem}.upload-progress{margin-top:var(--space-4);padding:var(--space-4);background:var(--bg-tertiary);border-radius:var(--radius-md)}.upload-progress .progress-bar{background:var(--border-default);height:8px;margin-bottom:var(--space-2);border-radius:4px;overflow:hidden}.upload-progress .progress-fill{background:var(--gradient-primary);border-radius:4px;width:0;height:100%;transition:width .3s}.upload-progress .progress-text{color:var(--text-secondary);font-size:.875rem}.upload-template-error{margin-top:var(--space-3);color:var(--danger,#c53030);font-size:.875rem}.upload-persist-original{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--bg-tertiary);border:1px solid var(--border-default)}.upload-persist-original-label{align-items:flex-start;gap:var(--space-3);color:var(--text-primary);cursor:pointer;font-size:.9375rem;display:flex}.upload-persist-original-check{flex-shrink:0;margin-top:.2rem}.upload-persist-original-hint{margin:var(--space-2) 0 0;padding-left:calc(1rem + var(--space-3));color:var(--text-muted);font-size:.8125rem;line-height:1.45}.save-training-modal-dataset-name{margin-bottom:var(--space-4)}.save-training-modal-dataset-name label{margin-bottom:var(--space-2);color:var(--text-secondary);font-size:.875rem;font-weight:500;display:block}.save-training-modal-intro{margin:0 0 var(--space-4);color:var(--text-secondary);font-size:.9rem;line-height:1.5}.save-training-modal-persist{margin-top:0}.column-detect-review-body{margin-top:var(--space-2)}.column-detect-section-title{margin:0 0 var(--space-2);color:var(--text-primary);font-size:.95rem;font-weight:600}.column-detect-dist-hint{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:.8rem}.detect-col-excluded{opacity:.55;text-decoration:line-through}.sub-tabs{align-items:center;gap:var(--space-2);margin-bottom:var(--space-6);border-bottom:2px solid var(--border-default);padding-bottom:var(--space-1);flex-wrap:wrap;display:flex}.pred-setup-hero-card{margin-bottom:var(--space-5);padding:var(--space-6);border-radius:var(--radius-xl);border:1px solid var(--primary);background:linear-gradient(135deg,#0ea5e90f,#10b9810a);border-left-width:4px;box-shadow:0 2px 12px #0ea5e91a}.pred-setup-hero-card__title{margin:0 0 var(--space-3);align-items:center;gap:8px;font-size:1.05rem;font-weight:700;display:flex}.pred-setup-hero-card__desc{margin:0 0 var(--space-5);color:var(--text-secondary);max-width:560px;font-size:.92rem;line-height:1.55}.pred-setup-hero-card__cta{align-items:center;gap:8px;padding:10px 22px;font-size:.95rem;font-weight:600;display:inline-flex}.pred-setup-list-section{margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-default)}.pred-setup-list-section__label{color:var(--text-secondary);margin:0;font-size:.88rem;font-weight:600}.pred-training-complete-banner{margin:var(--space-4) 0 var(--space-5);max-width:100%}.pred-training-complete-banner__body{align-items:flex-start;gap:var(--space-3);flex-direction:column;display:flex}.pred-training-complete-banner__desc{color:var(--text-secondary);margin:0;line-height:1.5}.sub-tab{padding:var(--space-3) var(--space-5);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border-radius:var(--radius-md) var(--radius-md) 0 0;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;margin-bottom:-3px;font-size:.9rem;font-weight:500;display:flex}.sub-tab-number{background:var(--bg-tertiary);width:22px;height:22px;color:var(--text-tertiary);transition:all var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-right:8px;font-size:.72rem;font-weight:700;display:inline-flex}.sub-tab:hover{background:var(--bg-tertiary);color:var(--text-primary)}.sub-tab.active{color:var(--primary);border-bottom-color:var(--primary);background:var(--primary-light)}.sub-tab.active .sub-tab-number{background:var(--primary);color:#fff}.sub-tab.completed{color:var(--success,#10b981)}.sub-tab.completed:hover{background:#10b9810f}.sub-tab-content{display:none}.sub-tab-content.active{display:block}.viz-empty-state{text-align:center;padding:var(--space-8) var(--space-6);justify-content:center;align-items:center;gap:var(--space-4);flex-direction:column;min-height:400px;display:flex}.viz-empty-icon{background:var(--bg-tertiary);width:80px;height:80px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;display:flex}.viz-empty-state h3{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:600}.viz-empty-state p{color:var(--text-secondary);max-width:420px;margin:0;font-size:.9375rem;line-height:1.6}.plot-toolbar{margin-bottom:var(--space-6);justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.toolbar-left{gap:var(--space-4);flex-wrap:wrap;align-items:flex-end;display:flex}.toolbar-right{gap:var(--space-3);display:flex}.control-group{flex:1;min-width:150px}.control-group label{margin-bottom:var(--space-2);color:var(--text-secondary);font-size:.875rem;display:block}.control-group select{width:100%;padding:var(--space-3);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary)}.chart-container{margin-bottom:var(--space-6);min-height:500px}.chart-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.chart-header h3{margin:0}.chart-tabs{background:#0000000f;border-radius:8px;gap:4px;padding:3px;display:flex}.dark-theme .chart-tabs{background:#ffffff0f}.chart-tab-btn{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:5px 14px;font-size:.8rem;font-weight:500;transition:background .15s,color .15s}.chart-tab-btn:hover{color:var(--text-primary);background:#0000000f}.dark-theme .chart-tab-btn:hover{background:#ffffff14}.chart-tab-active{font-weight:600;box-shadow:0 1px 3px #0000001f;background:var(--bg-card,#fff)!important;color:var(--primary-600,#2563eb)!important}.dark-theme .chart-tab-active{color:var(--primary-400,#60a5fa)!important;background:#ffffff1a!important}.chart-actions{gap:var(--space-2);display:flex}.validation-overview{margin-bottom:var(--space-6)}.validation-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.validation-header h2{align-items:center;gap:var(--space-2);margin:0;display:flex}.validation-header h2 svg{color:#10b981;flex-shrink:0}.validation-desc{color:var(--text-secondary);margin:0;font-size:.875rem}.cv-results-grid{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(5,1fr);display:grid}@media (max-width:900px){.cv-results-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:500px){.cv-results-grid{grid-template-columns:1fr}}.cv-fold-card{padding:var(--space-4)}.fold-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.fold-number{font-size:.875rem;font-weight:600}.fold-status{font-size:.7rem;font-weight:600}.fold-status.pass{color:#10b981;font-size:1rem}.fold-metrics{gap:var(--space-2);flex-direction:column;display:flex}.fold-metric{justify-content:space-between;font-size:.8rem;display:flex}.metric-label{color:var(--text-muted)}.metric-value{font-weight:600}.cv-chart{margin-bottom:var(--space-6)}.cv-chart .chart-header{margin-bottom:var(--space-4)}.main-plot-stack{width:100%;min-height:450px;position:relative}.main-plot-wrapper{background:var(--bg-tertiary);border-radius:var(--radius-md);width:100%;height:450px}.main-plot-stack:has(.main-plot-wrapper--3d){min-height:520px}.main-plot-wrapper--3d{height:min(70vh,640px);min-height:520px}.main-plot-wrapper--bar .point path{transition:fill .2s,fill-opacity .2s}.scatter-fit-summary-overlay{z-index:1100;border-radius:var(--radius-md,8px);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;pointer-events:auto;text-align:left;max-width:min(340px,70vw);color:var(--text-secondary);background:#fffffff2;border:1px solid #94a3b8cc;margin:0;padding:10px 12px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12px;line-height:1.45;position:absolute;box-shadow:0 1px 2px #0000000f}.scatter-fit-summary-overlay:active{cursor:grabbing}.dark-theme .scatter-fit-summary-overlay{background:#111827eb;border-color:#94a3b873;box-shadow:0 2px 8px #00000059}.scatter-fit-summary-overlay-title{margin-bottom:4px;font-weight:700}.scatter-fit-summary-overlay-body{margin:0}.charts-row{gap:var(--space-6);margin-bottom:var(--space-6);grid-template-columns:1fr;width:100%;display:grid}.charts-row .chart-card{flex-direction:column;width:100%;min-height:380px;display:flex}.charts-row .chart-card h3{margin:0 0 var(--space-3);flex-shrink:0}.charts-row .chart-card .chart-card-plot{flex:1;width:100%;max-width:100%;min-height:320px}.charts-row .chart-card:has(.heatmap-scroll-container){min-width:0;min-height:560px;overflow:hidden}.heatmap-scroll-container{-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--border-strong,#80808080) var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);flex:1 1 0;width:100%;min-width:0;min-height:480px;max-height:min(85vh,1200px);overflow:auto}.heatmap-scroll-container::-webkit-scrollbar{width:10px;height:10px}.heatmap-scroll-container::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:var(--radius-sm)}.heatmap-scroll-container::-webkit-scrollbar-thumb{background:var(--border-strong,#80808080);border-radius:var(--radius-sm)}.heatmap-scroll-container::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.heatmap-scroll-container .heatmap-plot{flex:none;width:auto;max-width:none;min-height:0;overflow:visible}.matrix-wrapper-outer{justify-content:center;align-items:center;width:100%;display:flex}.matrix-wrapper{flex-grow:0;flex-shrink:0;width:480px;height:480px}.charts-row .chart-card .matrix-wrapper .matrix-container{box-sizing:border-box;grid-template-rows:repeat(6,1fr);grid-template-columns:repeat(6,1fr);align-content:stretch;justify-items:stretch;gap:1px;width:100%;height:100%;display:grid}.charts-row .chart-card .matrix-container .matrix-cell{border-radius:var(--radius-sm);justify-content:center;align-items:center;min-width:0;min-height:0;font-size:.75rem;font-weight:500;display:flex;overflow:hidden}.matrix-container{box-sizing:border-box;grid-template-rows:repeat(6,1fr);grid-template-columns:repeat(6,1fr);gap:1px;width:100%;height:100%;display:grid}.matrix-cell{border-radius:var(--radius-sm);justify-content:center;align-items:center;min-width:0;min-height:0;font-size:.75rem;font-weight:500;display:flex;overflow:hidden}.matrix-cell.matrix-header{background:var(--bg-tertiary);color:var(--text-secondary)}.ai-insight-panel{background:var(--gradient-subtle);border:1px solid var(--primary-light)}.ai-insight-header svg{color:var(--primary);width:24px;height:24px}.ai-insight-header h3{color:var(--primary);margin:0}.ai-insight-content{gap:var(--space-5);display:grid}.ai-insight-panel.collapsible{overflow:hidden}.ai-insight-panel.collapsible .ai-insight-header{cursor:pointer;transition:margin var(--transition-fast), padding var(--transition-fast);border-bottom:none;justify-content:space-between;margin-bottom:0;padding-bottom:0}.ai-insight-panel.collapsible:not(.collapsed) .ai-insight-header{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-default)}.ai-insight-panel.collapsible .header-left{align-items:center;gap:var(--space-2);display:flex}.ai-insight-panel.collapsible .collapse-btn{cursor:pointer;padding:var(--space-2);color:var(--text-secondary);transition:transform var(--transition-fast);background:0 0;border:none}.ai-insight-panel.collapsible .collapse-icon{width:20px;height:20px;transition:transform var(--transition-fast)}.ai-insight-panel.collapsible.collapsed .collapse-icon{transform:rotate(-90deg)}.ai-insight-panel.collapsible .ai-insight-content{opacity:1;max-height:1000px;transition:max-height var(--transition-normal), opacity var(--transition-fast)}.ai-insight-panel.collapsible.collapsed .ai-insight-content{opacity:0;max-height:0;overflow:hidden}.insight-rating{padding:var(--space-3) var(--space-4);margin-top:var(--space-3);border-top:1px solid var(--border-primary,#e2e8f0);align-items:center;gap:8px;font-size:.82rem;display:flex}.insight-rating-label{color:var(--text-secondary,#64748b);white-space:nowrap;font-weight:500}.insight-rating-stars{gap:2px;display:flex}.insight-star{cursor:pointer;color:var(--border-primary,#cbd5e1);background:0 0;border:none;border-radius:2px;padding:2px;transition:all .15s;display:flex}.insight-star:hover,.insight-star.filled{color:var(--warning,#f59e0b)}.insight-star.filled svg{fill:var(--warning,#f59e0b)}.insight-rating-value{color:var(--text-muted,#94a3b8);font-size:.78rem;font-weight:500}@media print{.insight-rating{display:none!important}}.input-group{margin-bottom:var(--space-4)}.input-group label{margin-bottom:var(--space-2);color:var(--text-primary);font-size:.875rem;font-weight:500;display:block}.input-group input,.input-group select{width:100%;padding:var(--space-3) var(--space-4);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary)}.input-group input:focus,.input-group select:focus{border-color:var(--primary);outline:none}.optimize-page-scroll{width:100%;max-width:100%}.section-desc{color:var(--text-muted);margin-bottom:var(--space-4);font-size:.875rem}.opt-setup-grid{gap:var(--space-6);margin-bottom:var(--space-4);grid-template-columns:1fr 1fr;display:grid}@media (max-width:900px){.opt-setup-grid{grid-template-columns:1fr}}.opt-setup-panel{min-width:0;height:fit-content}.opt-setup-panel.collapsible{overflow:hidden}.opt-setup-panel.collapsible .opt-panel-header--toggle{justify-content:space-between;align-items:flex-start;gap:var(--space-3);cursor:pointer;-webkit-user-select:none;user-select:none;transition:margin var(--transition-fast), padding var(--transition-fast), border-color var(--transition-fast);border-bottom:none;margin-bottom:0;padding-bottom:0;display:flex}.opt-setup-panel.collapsible:not(.collapsed) .opt-panel-header--toggle{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-default)}.opt-setup-panel.collapsible .opt-panel-header--toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius-sm)}.opt-setup-panel.collapsible .opt-setup-panel-body{transition:max-height var(--transition-normal), opacity var(--transition-fast);opacity:1;max-height:5000px;overflow:hidden}.opt-setup-panel.collapsible.collapsed .opt-setup-panel-body{opacity:0;pointer-events:none;max-height:0}.opt-panel-header h2{align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);font-size:1.1rem;display:flex}.opt-panel-header h2 svg{color:var(--primary);flex-shrink:0}.target-selection{gap:var(--space-3);flex-direction:column;display:flex}.target-item{gap:var(--space-2);padding:var(--space-3);background:var(--bg-tertiary);border-radius:var(--radius-md);transition:all var(--transition-fast);border:1px solid #0000;flex-direction:column;min-width:0;display:flex;overflow:hidden}.target-item--active{background:var(--primary-light);border-color:var(--primary)}.target-item-top{justify-content:space-between;align-items:flex-start;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.target-checkbox{align-items:flex-start;gap:var(--space-2);cursor:pointer;flex:1 1 0;min-width:0;font-weight:500;display:flex}.target-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);flex-shrink:0;margin-top:2px}.target-checkbox>span,.target-label{overflow-wrap:anywhere;word-break:break-word;min-width:0;line-height:1.35}.target-priority-dropdown{flex-shrink:0;align-items:center;gap:6px;display:flex}.priority-dropdown-label{color:var(--text-secondary);white-space:nowrap;font-size:.78rem}.priority-select-wrapper{align-items:center;display:flex;position:relative}.priority-select{appearance:none;border-radius:var(--radius-sm);border:1.5px solid var(--border-primary,#e2e8f0);background:var(--bg-card,#fff);color:var(--text-primary);cursor:pointer;transition:border-color var(--transition-fast);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 6px center;background-repeat:no-repeat;padding:3px 24px 3px 8px;font-size:.8rem}.priority-select:focus{border-color:var(--primary,#2563eb);outline:none}.priority-color-indicator{border-radius:2px;width:4px;height:16px;position:absolute;top:50%;left:-2px;transform:translateY(-50%)}.priority-info-icon{color:var(--text-muted);cursor:help;align-items:center;display:flex;position:relative}.priority-info-icon:hover{color:var(--primary)}.opt-baseline-header{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--surface-secondary,#f8fafc);border-radius:var(--radius-md);margin-bottom:var(--space-4);color:var(--text-secondary);flex-wrap:wrap;font-size:.82rem;display:flex}.opt-baseline-tag{color:var(--text-primary);background:var(--bg-secondary);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.03em;padding:2px 8px;font-size:.75rem;font-weight:600}.opt-baseline-chip{background:var(--bg-card);border:1px solid var(--border-primary,#e2e8f0);border-radius:var(--radius-sm);padding:2px 8px}.opt-compare-table{border-collapse:collapse;width:100%;font-size:.88rem}.opt-colgroup-row th{border-bottom:none!important;padding-bottom:2px!important}.opt-colgroup-label{border-radius:6px 6px 0 0;text-align:center!important;text-transform:uppercase!important;letter-spacing:.08em!important;padding:6px 8px 2px!important;font-size:.7rem!important;font-weight:700!important}.opt-colgroup-inputs{background:var(--surface-secondary,#f8fafc);color:var(--text-muted,#94a3b8)!important}.opt-colgroup-outputs{background:#2563eb0a;color:var(--primary,#2563eb)!important}.opt-input-col{color:var(--text-secondary,#64748b);background:var(--surface-secondary,#f8fafc80);font-size:.82rem}.opt-output-col{background:#2563eb05}.opt-col-spec{text-transform:none;letter-spacing:normal;color:var(--text-muted,#94a3b8);white-space:normal;margin-top:2px;font-size:.72rem;font-weight:400}.opt-output-value{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.opt-compare-table th.opt-output-col{white-space:normal}.opt-compare-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted,#94a3b8);border-bottom:2px solid var(--border-primary,#e2e8f0);white-space:nowrap;padding:10px 12px;font-size:.75rem;font-weight:600}.opt-compare-table td{border-bottom:1px solid var(--border-primary,#e2e8f0);vertical-align:middle;padding:10px 12px}.opt-row-baseline{background:var(--surface-secondary,#f8fafc)}.opt-row-target{background:#2563eb0a}.opt-row-target td,.opt-row-baseline td{border-bottom:2px solid var(--border-primary,#e2e8f0)}.opt-baseline-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted,#94a3b8);background:var(--bg-card,#fff);border:1px solid var(--border-primary,#e2e8f0);border-radius:var(--radius-sm,4px);padding:2px 8px;font-size:.72rem;font-weight:700}.opt-row--recommended{background:#2563eb08}.opt-row--highlighted{background:#f59e0b0f}.opt-row:hover{background:#2563eb0a}.opt-rec-tag{color:#fff;background:var(--gradient-primary,linear-gradient(135deg, #2563eb, #7c3aed));text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:.65rem;font-weight:600}.opt-improve{margin-left:6px;font-size:.75rem;font-weight:500}.opt-improve.positive{color:var(--success,#10b981)}.opt-improve.negative{color:var(--danger,#ef4444)}.opt-conf-cell{align-items:center;gap:8px;display:flex}.opt-conf-bar-mini{background:var(--bg-secondary,#f1f5f9);border-radius:3px;flex:1;min-width:50px;height:5px;overflow:hidden}.opt-conf-bar-fill-mini{border-radius:3px;height:100%;transition:width .6s}.opt-conf-bar-fill-mini.confidence-high{background:var(--success,#10b981)}.opt-conf-bar-fill-mini.confidence-medium{background:var(--warning,#f59e0b)}.opt-conf-bar-fill-mini.confidence-low{background:var(--danger,#ef4444)}.opt-conf-num{white-space:nowrap;font-size:.8rem;font-weight:600}.opt-conf-num.high{color:var(--success,#10b981)}.opt-conf-num.medium{color:var(--warning,#f59e0b)}.opt-conf-num.low{color:var(--danger,#ef4444)}.bookmark-btn-sm{cursor:pointer;color:var(--text-muted,#94a3b8);transition:all var(--transition-fast);background:0 0;border:none;border-radius:4px;padding:4px;display:inline-flex}.bookmark-btn-sm:hover,.bookmark-btn-sm.bookmarked{color:var(--warning,#f59e0b)}.btn-icon-sm{cursor:pointer;color:var(--text-muted,#94a3b8);transition:all var(--transition-fast);background:0 0;border:none;border-radius:4px;padding:4px;display:inline-flex}.btn-icon-sm:hover{color:var(--primary,#2563eb);background:var(--bg-secondary,#f1f5f9)}.opt-recipe-details{margin-top:var(--space-2)}.opt-recipe-details summary{cursor:pointer;color:var(--primary,#2563eb);padding:var(--space-2) 0;align-items:center;gap:6px;font-size:.82rem;font-weight:500;list-style:none;display:flex}.opt-recipe-details summary:before{content:"▶";font-size:.65rem;transition:transform .2s}.opt-recipe-details[open] summary:before{transform:rotate(90deg)}.opt-recipe-table{font-size:.82rem}.opt-recipe-table td{color:var(--text-secondary)}.btn-ghost{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;align-items:center;gap:6px;padding:6px 12px;font-size:.82rem;text-decoration:none;display:inline-flex}.btn-ghost:hover{background:var(--bg-secondary);color:var(--primary)}.opt-bottom-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.opt-bottom-actions .next-step-btn{border-radius:var(--radius-md,8px);box-sizing:border-box;align-items:center;gap:8px;height:44px;padding:10px 24px;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-flex}.target-config,.constraint-config{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.mode-select{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--border-default);background:var(--bg-secondary);color:var(--text-primary);box-sizing:border-box;width:100%;max-width:100%;font-size:.8rem}.target-value-inputs{align-items:center;gap:var(--space-2);width:100%;min-width:0;display:flex}.target-value-inputs input{width:100%;min-width:0;max-width:140px;padding:var(--space-2);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);box-sizing:border-box;flex:1;font-size:.9rem}.target-value-inputs input:focus{border-color:var(--primary);outline:none}.input-separator{color:var(--text-muted);white-space:nowrap;font-size:.875rem}.input-prefix{color:var(--primary);white-space:nowrap;font-size:1rem;font-weight:600}.constraint-item--active{background:var(--primary-light);border-color:var(--primary)}.constraint-item-top{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.constraint-unchecked-hint{color:var(--text-muted);padding-left:var(--space-6);font-size:.8rem;font-style:italic}.opt-adv-field{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:.82rem;display:flex}.opt-adv-field>span{font-weight:500}.opt-adv-validation-summary{margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--danger,#ef4444);align-items:flex-start;gap:8px;display:flex}@supports (color:color-mix(in lab, red, red)){.opt-adv-validation-summary{border:1px solid color-mix(in srgb, var(--danger,#ef4444) 35%, transparent)}}.opt-adv-validation-summary{background:var(--danger,#ef4444)}@supports (color:color-mix(in lab, red, red)){.opt-adv-validation-summary{background:color-mix(in srgb, var(--danger,#ef4444) 8%, transparent)}}.opt-adv-validation-summary{color:var(--text-primary);font-size:.84rem}.opt-adv-validation-summary svg{color:var(--danger,#ef4444);flex-shrink:0;margin-top:2px}.constraint-item--invalid{border-color:var(--danger,#ef4444)}@supports (color:color-mix(in lab, red, red)){.constraint-item--invalid{border-color:color-mix(in srgb, var(--danger,#ef4444) 45%, transparent)}}.constraint-item--invalid{box-shadow:inset 3px 0 0 var(--danger,#ef4444)}.opt-adv-constraint-error{color:var(--danger,#ef4444);margin:0;font-size:.82rem}.opt-setup-panel--invalid>.opt-panel-header{border-bottom-color:var(--danger,#ef4444)}@supports (color:color-mix(in lab, red, red)){.opt-setup-panel--invalid>.opt-panel-header{border-bottom-color:color-mix(in srgb, var(--danger,#ef4444) 35%, transparent)}}.opt-equation-calculator{gap:var(--space-3);flex-direction:column;display:flex}.opt-equation-input,.opt-equation-formula{width:100%;font-family:var(--font-mono,ui-monospace, monospace)}.opt-equation-formula{resize:vertical;min-height:72px}.opt-formula-lhs{align-items:flex-end;gap:12px;display:flex}.opt-formula-variable-field{flex:1;min-width:0}.opt-formula-equals{color:var(--text-secondary);flex-shrink:0;padding-bottom:8px;font-size:1.1rem;font-weight:600}.opt-equation-error{color:var(--danger,#ef4444);margin:0;font-size:.82rem}.opt-equation-section{flex-direction:column;gap:8px;display:flex}.opt-equation-section-label{color:var(--text-secondary);font-size:.8rem;font-weight:600}.opt-equation-chips{flex-wrap:wrap;gap:8px;display:flex}.opt-equation-chip{border:1px solid var(--border-subtle,#94a3b859);background:var(--surface-elevated,#ffffff0a);cursor:pointer;border-radius:999px;padding:4px 10px;font-size:.78rem}.opt-equation-chip--target{border-color:var(--primary,#3b82f6)}.opt-equation-chip:disabled{opacity:.5;cursor:not-allowed}.opt-equation-pad{flex-wrap:wrap;gap:8px;display:flex}.opt-equation-pad--numbers{grid-template-columns:repeat(4,minmax(48px,1fr));max-width:280px;display:grid}.opt-equation-pad-key{border:1px solid var(--border-subtle,#94a3b859);border-radius:var(--radius-sm);background:var(--surface-elevated,#ffffff0a);cursor:pointer;min-width:44px;min-height:36px;font-size:.9rem}.opt-equation-pad-key--action{justify-content:center;align-items:center;display:inline-flex}.opt-equation-pad-key:disabled{opacity:.5;cursor:not-allowed}.opt-equation-preview{color:var(--text-secondary);font-size:.82rem}.opt-equation-preview code{border-radius:var(--radius-sm);background:var(--surface-elevated,#0f172a0a);font-family:var(--font-mono,ui-monospace, monospace);word-break:break-word;margin-top:4px;padding:8px 10px;display:block}.opt-generate-hints{gap:var(--space-2);margin-bottom:var(--space-3);flex-direction:column;display:flex}.opt-warning{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:var(--warning,#b45309);background:#f59e0b1a;border:1px solid #f59e0b59;font-size:.875rem;line-height:1.45;display:flex}.opt-warning--info{color:var(--primary);background:#3b82f614;border-color:#3b82f640}.opt-generate-bar{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-6);z-index:10;flex-wrap:wrap;transition:opacity .2s;display:flex;position:sticky;top:0}.opt-generate-bar--busy{opacity:.72;pointer-events:none}.opt-model-status-badge{border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.opt-model-status-badge--loading{color:var(--primary);background:#3b82f61a;border:1px solid #3b82f640}.opt-setup-panel--loading .opt-setup-panel-body{min-height:160px}.opt-loading-state{justify-content:center;align-items:center;gap:var(--space-3);min-height:140px;padding:var(--space-6) var(--space-4);color:var(--text-secondary);text-align:center;flex-direction:column;display:flex}.opt-loading-state p{color:var(--text-primary);margin:0;font-size:.875rem;font-weight:500}.opt-job-id{color:var(--primary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8125rem;font-weight:600}.opt-generate-left{flex:1;min-width:0}.opt-summary-chips{flex-wrap:wrap;gap:6px;display:flex}.opt-chip{color:var(--primary);white-space:nowrap;background:#3b82f61f;border-radius:999px;align-items:center;padding:2px 10px;font-size:.75rem;font-weight:500;display:inline-flex}.opt-chip--constraint{color:#8b5cf6;background:#a855f71f}.opt-generate-right{align-items:center;gap:var(--space-3);flex-shrink:0;display:flex}.opt-candidate-summary{color:var(--text-secondary);white-space:nowrap;font-size:.875rem}.opt-loading{align-items:center;gap:var(--space-4);padding:var(--space-6);margin-bottom:var(--space-6);color:var(--text-secondary);display:flex}.opt-loading strong{color:var(--text-primary);margin-bottom:var(--space-1);display:block}.opt-loading p{margin:0;font-size:.875rem}.opt-loading--optimize{background:#3b82f60a;border:1px solid #3b82f633}@keyframes spin{to{transform:rotate(360deg)}}.spin-icon{animation:1s linear infinite spin}.suggestions-panel{margin-bottom:var(--space-6);-webkit-overflow-scrolling:touch;max-height:500px;overflow:auto}.suggestions-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.suggestions-actions{align-items:center;gap:var(--space-3);display:flex}.bookmark-count{color:var(--text-muted);align-items:center;gap:4px;font-size:.8rem;display:flex}.bookmark-count svg{color:#f59e0b}.suggestions-table-wrapper{overflow-x:auto}.bookmark-btn{cursor:pointer;border-radius:var(--radius-sm);color:var(--text-muted);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.bookmark-btn:hover{color:#f59e0b;background:#f59e0b1a}.bookmark-btn.bookmarked{color:#f59e0b}.bookmark-btn.bookmarked svg{fill:#f59e0b}.baseline-row{background:var(--bg-tertiary);border-bottom:2px solid var(--border-default)}.baseline-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.75rem;font-weight:600}.baseline-value{color:var(--text-secondary);font-weight:500}.baseline-unit{color:var(--text-muted);font-size:.7rem}.row-highlighted{background:#3b82f60f!important}.row-bookmarked{border-left:3px solid #f59e0b}.prop-cell{white-space:nowrap}.prop-value-row{align-items:center;gap:6px;display:flex}.target-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.target-status-dot.status-in{background:#22c55e;box-shadow:0 0 4px #22c55e80}.target-status-dot.status-near{background:#f59e0b;box-shadow:0 0 4px #f59e0b80}.target-status-dot.status-out{background:#ef4444;box-shadow:0 0 4px #ef444480}.prop-improve{margin-left:2px;font-size:.7rem;font-weight:600}.prop-improve.positive{color:#16a34a}.prop-improve.negative{color:#dc2626}.th-unit{color:var(--text-muted);font-size:.75rem;font-weight:400}.target-space-panel{margin-top:var(--space-6)}.target-space-panel h3{align-items:center;gap:var(--space-2);display:flex}.target-space-panel h3 svg{width:20px;height:20px;color:var(--primary)}.axis-selectors{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.axis-group{align-items:center;gap:var(--space-2);display:flex}.axis-group label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.axis-group select{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);min-width:120px;font-size:.875rem}.btn-sm svg{width:14px;height:14px}.plot-legend{justify-content:center;gap:var(--space-6);padding:var(--space-4);border-top:1px solid var(--border-default);margin-top:var(--space-4);display:flex}.legend-item{align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:.875rem;display:flex}.legend-marker{border-radius:50%;width:14px;height:14px}.legend-marker.existing{background:linear-gradient(135deg,#60a5fa,#93c5fd);border:2px solid #3b82f6}.legend-marker.target{background:linear-gradient(135deg,#f472b6,#fda4af);border:3px solid #ec4899;box-shadow:0 0 8px #ec489980}.legend-marker.suggested{background:linear-gradient(135deg,#4ade80,#86efac);border:2px solid #22c55e}.rank-badge{border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;font-weight:600;display:inline-flex}.rank-badge.rank-1{color:#1f2937;background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 100%)}.rank-badge.rank-2{color:#fff;background:linear-gradient(135deg,#9ca3af 0%,#6b7280 100%)}.rank-badge.rank-3{color:#fff;background:linear-gradient(135deg,#d97706 0%,#b45309 100%)}.rank-badge:not(.rank-1):not(.rank-2):not(.rank-3){background:var(--bg-tertiary)}.ei-badge{border-radius:var(--radius-sm);padding:2px 8px;font-size:.8rem;font-weight:600;display:inline-block}.ei-badge.ei-high{color:#16a34a;background:#22c55e33}.ei-badge.ei-mid{color:#ca8a04;background:#eab30833}.ei-badge.ei-low{color:#64748b;background:#94a3b833}.ei-badge.ei-neg{color:#dc2626;background:#ef444433}.report-type-grid{gap:var(--space-6);margin-top:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(400px,1fr));display:grid}.report-type-card{padding:var(--space-6);background:var(--bg-secondary);border:2px solid var(--border-default);border-radius:var(--radius-lg);transition:all .3s}.report-type-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 8px 24px #007bff26}.report-type-card h3{margin-bottom:var(--space-2);color:var(--text-primary)}.report-type-card p{color:var(--text-secondary);margin-bottom:var(--space-4)}.report-includes{margin:var(--space-4) 0;padding:0;list-style:none}.report-includes li{padding:var(--space-2) 0;padding-left:var(--space-5);color:var(--text-secondary);font-size:.875rem;position:relative}.report-includes li:before{content:"✓";color:#10b981;font-size:1rem;font-weight:700;position:absolute;left:0}.report-type-card button{width:100%;margin-top:var(--space-4)}.report-type-picker{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.report-type-picker-card{align-items:flex-start;gap:var(--space-1);padding:var(--space-3);border:2px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);cursor:pointer;text-align:left;flex-direction:column;width:100%;transition:border-color .2s,background .2s,box-shadow .2s;display:flex;position:relative}.report-type-picker-card:hover{border-color:var(--primary)}.report-type-picker-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.report-type-picker-card.selected{border-color:var(--primary);background:var(--primary-light);box-shadow:0 0 0 1px var(--primary-glow)}.report-type-picker-check{top:var(--space-2);right:var(--space-2);color:var(--primary);flex-shrink:0;position:absolute}.report-type-picker-head{align-items:center;gap:var(--space-2);padding-right:var(--space-4);display:flex}.report-type-picker-icon{color:var(--primary);flex-shrink:0}.report-type-picker-title{color:var(--text-primary);font-size:.875rem;font-weight:600;line-height:1.3}.report-type-picker-desc{color:var(--text-secondary);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.75rem;line-height:1.4;display:-webkit-box;overflow:hidden}@media (max-width:576px){.report-type-picker{grid-template-columns:1fr}}.config-grid{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}.config-item{gap:var(--space-2);flex-direction:column;display:flex}.config-item label{color:var(--text-secondary);font-size:.8rem;font-weight:500}.config-item select{padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:.875rem}.training-config{margin-bottom:var(--space-6)}.training-config h3{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.training-config h3 svg{width:20px;height:20px;color:var(--primary)}.training-actions{gap:var(--space-4);margin:var(--space-6) 0;justify-content:center;display:flex}.btn-large{padding:var(--space-4) var(--space-8);font-size:1rem}.training-progress{margin-bottom:var(--space-6);padding:var(--space-5)}.training-progress .progress-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.training-progress .progress-title{color:var(--text-primary);font-weight:600}.training-progress .progress-percent{color:var(--primary);font-weight:600}.training-progress .progress-bar{background:var(--bg-tertiary);height:12px;margin-bottom:var(--space-3);border-radius:6px;overflow:hidden}.training-progress .progress-fill{background:var(--gradient-primary);border-radius:6px;width:0;height:100%;transition:width .3s}.training-progress .progress-status{color:var(--text-secondary);font-size:.875rem}.pred-train-status-badge{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.pred-train-status-badge--idle{color:var(--text-secondary);background:var(--bg-tertiary,#0000000f);opacity:.85}.pred-train-status-badge--queued{color:#b45309;background:#f59e0b1f;border:1px solid #f59e0b59}.pred-train-status-badge--running{color:var(--primary);background:#3b82f61a;border:1px solid #3b82f640}.pred-train-status-badge--completed{color:#15803d;background:#16a34a1a;border:1px solid #16a34a4d}.pred-train-status-badge--failed{color:#b91c1c;background:#ef44441a;border:1px solid #ef444459}.pred-train-status-badge--cancelled{color:var(--text-secondary);background:var(--bg-tertiary,#0000000f);border:1px solid var(--border-default)}.pred-train-status-refresh{border:1px solid var(--border-default);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;display:inline-flex}.pred-train-status-refresh:hover:not(:disabled){color:var(--primary);border-color:#3b82f659}.pred-train-status-refresh:disabled{opacity:.55;cursor:not-allowed}.pred-train-stale-warning{margin-top:var(--space-3);color:var(--text-secondary);background:#f59e0b14;border:1px solid #f59e0b59;border-radius:8px;padding:8px 10px;font-size:.78rem;line-height:1.45}.card-subtitle{color:var(--text-muted);margin-bottom:var(--space-3);font-size:.8rem}.parameter-checklist{gap:var(--space-2);flex-direction:column;display:flex}.checkbox-item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border-radius:var(--radius-sm);cursor:pointer;display:flex}.checkbox-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary)}.selection-info{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-default)}.selected-count{color:var(--text-muted);font-size:.8rem}.predict-train-io-collapse.ant-collapse{background:0 0}.predict-train-io-collapse .ant-collapse-item{border:none!important}.predict-train-io-collapse .ant-collapse-header{color:inherit!important;align-items:flex-start!important;padding:0!important}.predict-train-io-collapse .ant-collapse-header-text{flex:1;min-width:0}.predict-train-io-collapse .ant-collapse-expand-icon{color:inherit!important;padding-inline:8px 0!important}.predict-train-io-collapse .ant-collapse-content{color:inherit;background:0 0!important;border:none!important}.predict-train-io-collapse .ant-collapse-content-box{padding:var(--space-3) 0 0!important}.pred-train-model-cards{gap:var(--space-3);scroll-behavior:smooth;flex-direction:column;max-height:min(72vh,920px);padding-right:2px;display:flex;overflow-y:auto}.pred-train-model-cards__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.pred-train-model-cards__count{color:var(--text-secondary);white-space:nowrap;font-size:.78rem}.pred-train-model-card{padding:var(--space-3) var(--space-4);border:1px solid var(--border-default);transition:border-color .15s,box-shadow .15s}.pred-train-model-card--failed{border-color:#ef444459}.pred-train-model-card--highlighted{border-color:var(--primary);box-shadow:0 0 0 1px #0ea5e940}.pred-train-model-card--expanded{padding-bottom:var(--space-4)}.pred-train-model-card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.pred-train-model-card__summary{flex:1;min-width:0}.pred-train-model-card__title-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.pred-train-model-card__target-icon{color:var(--primary);flex-shrink:0}.pred-train-model-card__target{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:min(420px,100%);font-size:.9rem;font-weight:700;overflow:hidden}.pred-train-model-card__status{border-radius:99px;align-items:center;gap:4px;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.pred-train-model-card__meta{color:var(--text-secondary);flex-wrap:wrap;gap:4px 14px;font-size:.75rem;display:flex}.pred-train-model-card__meta-label{color:var(--text-muted);font-weight:500}.pred-train-model-card__meta-warn{color:var(--warning,#d97706);font-weight:500}.pred-train-model-card__error{white-space:pre-line;color:var(--destructive,#b91c1c);background:#ef444414;border:1px solid #ef444459;border-radius:8px;margin-top:8px;padding:8px 10px;font-size:.75rem;line-height:1.4}.pred-train-model-card__actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:6px;display:flex}.pred-train-model-card__action-btn{align-items:center;gap:5px;font-size:.75rem;display:inline-flex}.pred-train-model-card__action-btn--active{border-color:var(--primary);color:var(--primary)}.pred-train-model-card__config{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border)}.pred-train-model-card__config-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.pred-train-model-card__config-panel{padding:var(--space-3);background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:10px}.pred-train-model-card__panel-label{align-items:center;gap:8px;font-size:.85rem;font-weight:600;display:inline-flex}.pred-train-model-card__checklist{max-height:220px;overflow-y:auto}.pred-train-model-card__ai-badge{color:var(--primary);background:#0ea5e91f;border-radius:8px;margin-left:auto;padding:1px 6px;font-size:.65rem;font-weight:500}.pred-train-model-card__config-footer{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.pred-train-model-card__config-summary{color:var(--text-secondary);word-break:break-word;flex:1;min-width:0;font-size:.75rem}.predict-io-select-all-row{margin-bottom:var(--space-3)}.predict-io-select-all-label{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;font-size:.82rem;display:inline-flex}.predict-io-select-all-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary)}.model-overview-grid{gap:var(--space-6);margin-bottom:var(--space-6);grid-template-columns:repeat(3,1fr);display:grid}.model-overview-grid h3{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:nowrap;display:flex}.model-overview-grid h3 svg,.model-overview-grid h3 .section-heading-icon{width:20px;min-width:20px;height:20px;color:var(--primary);flex-shrink:0}.model-info-list{gap:var(--space-3);flex-direction:column;display:flex}.model-info-list .info-row{padding:var(--space-2) 0;border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;display:flex}.model-info-list .info-row:last-child{border-bottom:none}.model-info-list .info-label{color:var(--text-muted);font-size:.875rem}.model-info-list .info-value{font-size:.875rem;font-weight:500}.ai-insight-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.ai-insight-header .header-left{align-items:center;gap:var(--space-2);display:flex}.insight-section{margin-bottom:var(--space-4)}.insight-section h4{margin-bottom:var(--space-2);font-size:.95rem}.insight-section h4.insight-heading-with-icon{align-items:center;display:inline-flex}.insight-section p{color:var(--text-secondary);font-size:.875rem;line-height:1.7}.insight-section ul{margin-left:var(--space-4);padding-left:var(--space-5);color:var(--text-secondary);font-size:.875rem}.insight-section li{margin-bottom:var(--space-1)}.insight-section .warning-text{padding:var(--space-3);background:var(--warning-light);border-radius:var(--radius-md);color:var(--warning)!important}.collapsible .ai-insight-content,.collapsible .constraints-content{transition:max-height var(--transition-normal);overflow:hidden}.collapsible.collapsed .ai-insight-content,.collapsible.collapsed .constraints-content{opacity:0;max-height:0;margin:0;padding-top:0;padding-bottom:0}.collapsible .collapse-btn{padding:var(--space-2);cursor:pointer;color:var(--text-secondary);background:0 0;border:none}.collapsible .collapse-icon{width:20px;height:20px;transition:transform var(--transition-fast)}.collapsible.collapsed .collapse-icon{transform:rotate(-90deg)}.column-mapping-panel{margin-bottom:var(--space-6)}.mapping-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.mapping-header-left{align-items:center;gap:var(--space-3);display:flex}.mapping-header-left svg{width:24px;height:24px;color:var(--primary)}.mapping-header-left h2{margin:0 0 var(--space-1) 0}.mapping-filename{color:var(--text-muted);margin:0;font-size:.875rem}.saved-mapping-selector{align-items:center;gap:var(--space-2);display:flex}.saved-mapping-selector label{color:var(--text-secondary);font-size:.875rem}.saved-mapping-selector select{padding:var(--space-2) var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-primary);min-width:180px}.mapping-steps{margin-bottom:var(--space-6);align-items:center;gap:0;display:flex}.mapping-step{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);background:var(--bg-tertiary);color:var(--text-secondary);display:flex}.mapping-step.active{background:var(--primary-light);color:var(--primary);font-weight:600}.mapping-step .step-number{background:var(--border-default);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;display:inline-flex}.mapping-step.active .step-number{background:var(--primary);color:#fff}.mapping-step-connector{background:var(--border-default);flex-shrink:0;width:32px;height:2px}.mapping-step-content{margin-top:var(--space-4)}.mapping-step-content h3{margin-bottom:var(--space-4)}.preview-table-wrapper{margin-bottom:var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-md);overflow-x:auto}.mapping-nav{gap:var(--space-3);margin-top:var(--space-4);justify-content:flex-end;display:flex}.data-cleaning-panel{margin-bottom:var(--space-6);background:var(--gradient-subtle);border:1px solid var(--primary-light)}.data-cleaning-panel .ai-insight-header{cursor:pointer;-webkit-user-select:none;user-select:none}.cleaning-options{gap:var(--space-4);margin-bottom:var(--space-5);display:grid}.cleaning-option{padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-default);justify-content:space-between;align-items:center;display:flex}.cleaning-option label{align-items:center;gap:var(--space-2);cursor:pointer;font-size:.875rem;display:flex}.cleaning-option input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.cleaning-info{color:var(--text-muted);font-size:.8rem}.cleaning-info strong{color:var(--primary)}.cleaning-actions{gap:var(--space-3);justify-content:flex-end;display:flex}.cleaning-preview-overlay{z-index:1000;padding:var(--space-4);background:#0006;justify-content:center;align-items:center;animation:.2s overlayFadeIn;display:flex;position:fixed;inset:0}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.cleaning-preview-modal{width:100%;max-width:420px;padding:0;animation:.25s modalSlideIn;overflow:hidden}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.cleaning-preview-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;display:flex}.cleaning-preview-header h3{color:var(--text-primary);margin:0;font-size:1.125rem;font-weight:600}.cleaning-preview-body{padding:var(--space-5)}.cleaning-preview-intro{margin:0 0 var(--space-3);color:var(--text-secondary);font-size:.9375rem}.cleaning-preview-list{margin:0 0 var(--space-4);padding-left:var(--space-5);color:var(--text-primary);font-size:.9375rem;line-height:1.7}.cleaning-preview-list li{margin-bottom:var(--space-2)}.cleaning-preview-list strong{color:var(--primary)}.cleaning-preview-hint{color:var(--text-muted);margin:0;font-size:.8125rem}.cleaning-preview-footer{gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-default);background:var(--bg-tertiary);justify-content:flex-end;display:flex}.tooltip-icon{vertical-align:middle;opacity:.5;cursor:help;transition:opacity var(--transition-fast);align-items:center;margin-left:4px;display:inline-flex;position:relative}.tooltip-icon:hover{opacity:1}.tooltip-icon svg,.tooltip-icon [data-lucide]{color:var(--primary)}.tooltip-icon[title]:hover:after{content:attr(title);background:var(--bg-primary);color:var(--text-primary);border-radius:var(--radius-md);white-space:normal;border:1px solid var(--border-default);z-index:1000;pointer-events:none;width:max-content;max-width:280px;padding:8px 12px;font-size:.75rem;font-weight:400;line-height:1.5;animation:.2s tooltipFadeIn;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0000004d}.tooltip-icon[title]:hover:before{content:"";border:5px solid #0000;border-top-color:var(--border-default);z-index:1001;pointer-events:none;animation:.2s tooltipFadeIn;position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%)}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%)translateY(4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes tooltipPortalFadeIn{0%{opacity:0}to{opacity:1}}.tooltip-portal{z-index:10000;pointer-events:auto;will-change:opacity;animation:.18s ease-out forwards tooltipPortalFadeIn;position:relative}.tooltip-portal-content{background:var(--bg-primary);color:var(--text-primary);border-radius:var(--radius-md);white-space:normal;border:1px solid var(--border-default);width:max-content;max-width:280px;padding:8px 12px;font-size:.75rem;font-weight:400;line-height:1.5;box-shadow:0 4px 20px #0000004d}.tooltip-portal-arrow{border:5px solid #0000;border-top-color:var(--border-default);width:0;height:0;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.uploaded-file-bar{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex;padding:var(--space-3) var(--space-5)!important}.uploaded-file-info{align-items:center;gap:var(--space-3);display:flex}.uploaded-file-text{flex-direction:column;gap:1px;display:flex}.uploaded-file-name{color:var(--text-primary);font-size:.875rem;font-weight:600}.uploaded-file-stats{color:var(--text-muted);font-size:.75rem}.uploaded-file-actions{align-items:center;gap:var(--space-2);display:flex}.data-explore-row{gap:var(--space-5);margin-bottom:var(--space-5);grid-template-columns:1fr 320px;align-items:start;display:grid}@media (max-width:1100px){.data-explore-row{grid-template-columns:1fr}}.scatter-panel-wrapper{flex-direction:column;min-height:380px;display:flex}.scatter-panel-header{align-items:center;gap:var(--space-2);padding-bottom:var(--space-3);margin-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle);display:flex}.scatter-panel-header h3{color:var(--text-primary);flex:1;font-size:.9375rem;font-weight:600}.scatter-panel-header svg{color:var(--primary);flex-shrink:0;width:18px;height:18px}.scatter-panel-close{width:28px!important;height:28px!important}.scatter-plot-panel{flex-direction:column;flex:1;display:flex}.scatter-plot-controls{align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.axis-selector{flex-direction:column;flex:1;gap:3px;min-width:100px;display:flex}.axis-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.6875rem;font-weight:600}.axis-select-wrap{position:relative}.axis-select{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-tertiary);width:100%;color:var(--text-primary);appearance:none;cursor:pointer;transition:border-color var(--transition-fast);padding:6px 28px 6px 10px;font-size:.8125rem}.axis-select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #0ea5e926}.axis-select-icon{width:14px;height:14px;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.axis-vs{color:var(--text-muted);flex-shrink:0;padding-bottom:6px;font-size:.75rem;font-weight:600}.outlier-badge{background:var(--error-light);color:var(--error);white-space:nowrap;border-radius:9999px;align-items:center;margin-bottom:2px;padding:4px 10px;font-size:.6875rem;font-weight:600;display:inline-flex}.scatter-plot-chart{border-radius:var(--radius-md);flex:1;min-height:320px;overflow:hidden}.scatter-selection-bar{border-radius:var(--radius-md);color:#92400e;background:#fef3c7;border:1px solid #f59e0b;align-items:center;gap:10px;margin-top:8px;padding:8px 14px;font-size:.82rem;font-weight:500;display:flex}.btn-danger-sm{color:#fff;border-radius:var(--radius-sm);cursor:pointer;background:#ef4444;border:none;align-items:center;gap:5px;padding:5px 12px;font-size:.78rem;font-weight:600;transition:background .15s;display:inline-flex}.btn-danger-sm:hover{background:#dc2626}.btn-secondary-sm{color:#475569;border-radius:var(--radius-sm);cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;align-items:center;gap:5px;padding:5px 12px;font-size:.78rem;font-weight:500;transition:background .15s;display:inline-flex}.btn-secondary-sm:hover{background:#e2e8f0}.btn-view-details{color:#fff;border-radius:var(--radius-sm);cursor:pointer;background:#0ea5e9;border:none;align-items:center;gap:5px;padding:5px 12px;font-size:.78rem;font-weight:600;transition:background .15s;display:inline-flex}.btn-view-details:hover{background:#0284c7}.selection-modal-overlay{z-index:9999;background:#00000080;justify-content:center;align-items:center;padding:24px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.selection-modal{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:1100px;max-height:85vh;animation:.2s slideUp;display:flex;box-shadow:0 20px 60px #0003}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.selection-modal-header{border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.selection-modal-title{align-items:center;gap:10px;display:flex}.selection-modal-title h2{color:#1e293b;margin:0;font-size:1.1rem;font-weight:700}.selection-modal-count{color:#fff;background:#0ea5e9;border-radius:12px;padding:2px 10px;font-size:.75rem;font-weight:600}.selection-modal-actions{align-items:center;gap:8px;display:flex}.selection-modal-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;transition:all .15s}.selection-modal-close:hover{color:#475569;background:#f1f5f9}.selection-modal-stats{border-bottom:1px solid #e2e8f0;flex-shrink:0;padding:16px 24px}.selection-modal-stats h3{color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin:0 0 10px;font-size:.82rem;font-weight:600}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;display:grid}.stat-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:8px 12px}.stat-label{color:#475569;white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:.72rem;font-weight:600;overflow:hidden}.stat-values{color:#64748b;gap:10px;font-size:.72rem;display:flex}.stat-values strong{color:#334155}.stats-categories{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.stat-category-badge{color:#6d28d9;background:#ede9fe;border-radius:12px;padding:2px 10px;font-size:.72rem;font-weight:500}.selection-modal-table-wrap{flex:1;padding:0;overflow:auto}.selection-modal-table{border-collapse:collapse;width:100%;font-size:.78rem}.selection-modal-table thead{z-index:1;position:sticky;top:0}.selection-modal-table th{color:#475569;text-align:left;white-space:nowrap;text-transform:uppercase;letter-spacing:.03em;background:#f1f5f9;border-bottom:2px solid #e2e8f0;padding:8px 12px;font-size:.72rem;font-weight:600}.selection-modal-table td{color:#334155;white-space:nowrap;border-bottom:1px solid #f1f5f9;padding:6px 12px}.selection-modal-table tbody tr:hover{background:#f8fafc}.selection-modal-table .row-num{color:#94a3b8;text-align:center;width:36px;font-size:.7rem}.selected-data-page{max-width:1200px;margin:0 auto;padding:24px}.selected-data-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:80px 24px;display:flex}.selected-data-empty h2{color:#1e293b;margin:0;font-size:1.3rem}.selected-data-empty p{color:#64748b;margin:0 0 12px}.selected-data-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.selected-data-title-row{align-items:center;gap:12px;display:flex}.selected-data-title-row h1{color:#1e293b;margin:0;font-size:1.4rem;font-weight:700}.selected-data-subtitle{color:#64748b;margin:2px 0 0;font-size:.85rem}.btn-back{cursor:pointer;color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:flex}.btn-back:hover{color:#1e293b;background:#f1f5f9}.selected-stats-section{margin-bottom:24px}.selected-stats-section h2,.selected-categories-section h2,.selected-table-section h2{color:#334155;align-items:center;gap:8px;margin:0 0 12px;font-size:1rem;font-weight:600;display:flex}.selected-stats-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.selected-stat-card{border-radius:10px;padding:14px 16px}.stat-card-header{color:#0ea5e9;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e2e8f0;margin-bottom:8px;padding-bottom:6px;font-size:.78rem;font-weight:700}.stat-card-body{flex-direction:column;gap:4px;display:flex}.stat-row{justify-content:space-between;font-size:.78rem;display:flex}.stat-key{color:#64748b}.stat-val{color:#334155;font-variant-numeric:tabular-nums;font-weight:600}.stat-highlight{color:#0ea5e9;font-weight:700}.selected-categories-section{margin-bottom:24px}.selected-category-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.selected-category-card{border-radius:10px;padding:14px 16px}.selected-category-card h3{color:#475569;margin:0 0 10px;font-size:.82rem;font-weight:600}.category-bars{flex-direction:column;gap:6px;display:flex}.category-bar-row{align-items:center;gap:8px;font-size:.75rem;display:flex}.category-bar-label{color:#475569;white-space:nowrap;text-overflow:ellipsis;width:90px;font-weight:500;overflow:hidden}.category-bar-track{background:#f1f5f9;border-radius:4px;flex:1;height:8px;overflow:hidden}.category-bar-fill{background:linear-gradient(90deg,#0ea5e9,#38bdf8);border-radius:4px;height:100%;transition:width .3s}.category-bar-count{text-align:right;color:#64748b;font-variant-numeric:tabular-nums;width:28px;font-weight:600}.selected-table-section{margin-bottom:24px}.selected-table-wrap{border:1px solid #e2e8f0;border-radius:10px;max-height:500px;overflow:auto}.selected-table{border-collapse:collapse;width:100%;font-size:.78rem}.selected-table thead{z-index:1;position:sticky;top:0}.selected-table th{color:#475569;text-align:left;white-space:nowrap;text-transform:uppercase;letter-spacing:.03em;background:#f8fafc;border-bottom:2px solid #e2e8f0;padding:8px 14px;font-size:.72rem;font-weight:600}.selected-table td{color:#334155;white-space:nowrap;border-bottom:1px solid #f1f5f9;padding:6px 14px}.selected-table tbody tr:hover{background:#f8fafc}.selected-table .row-num{color:#94a3b8;text-align:center;width:36px;font-size:.7rem}.scatter-panel-empty{min-height:200px;color:var(--text-muted);justify-content:center;align-items:center;font-size:.875rem;display:flex}.data-explore-row .data-cleaning-panel{margin-bottom:0}.cleaning-panel-header{align-items:center;gap:var(--space-2);padding-bottom:var(--space-3);margin-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle);display:flex}.cleaning-panel-header h3{color:var(--text-primary);margin:0;font-size:.9375rem;font-weight:600}.cleaning-panel-header svg{color:var(--accent);flex-shrink:0}.data-explore-row .cleaning-options{gap:var(--space-2);flex-direction:column;display:flex}.data-explore-row .cleaning-option{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-md);background:var(--bg-secondary);display:flex}.data-explore-row .cleaning-option label{cursor:pointer;align-items:center;gap:6px;font-size:.8125rem;display:flex}.data-explore-row .cleaning-info{color:var(--text-muted);white-space:nowrap;font-size:.6875rem}.data-explore-row .cleaning-actions{gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-subtle);display:flex}.training-selection-panel{margin-bottom:var(--space-6)}.selection-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);padding-bottom:var(--space-3);margin-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;display:flex}.toolbar-title{align-items:center;gap:var(--space-2);display:flex}.toolbar-title h2{margin:0;font-size:1rem}.toolbar-title svg{color:var(--primary)}.toolbar-info{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.toolbar-counts{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.count-badge{padding:3px var(--space-2);background:var(--bg-tertiary);border-radius:var(--radius-md);color:var(--text-secondary);align-items:center;gap:4px;font-size:.75rem;display:inline-flex}.status-indicator{padding:3px var(--space-3);letter-spacing:.3px;border-radius:20px;font-size:.75rem;font-weight:700}.status-indicator.ready{color:#10b981;background:#10b9811f;border:1px solid #10b9814d}.status-indicator.warning{color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b4d}.status-indicator.danger{color:#ef4444;background:#ef44441f;border:1px solid #ef44444d}.toolbar-actions{gap:var(--space-2);display:flex}.column-pills-bar{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;margin-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;display:flex}.column-pills-bar--grouped{align-items:stretch;gap:var(--space-3);flex-direction:column}.column-pills-groups{gap:var(--space-2);flex-direction:column;width:100%;display:flex}.column-pills-group{gap:var(--space-1);flex-direction:column;display:flex}.column-pills-bar--grouped .pills-actions{align-self:flex-end}.pills-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;font-size:.6875rem;font-weight:600}.column-pills{flex-wrap:wrap;flex:1;gap:5px;display:flex}.column-pill{border:1px solid var(--border-default);color:var(--text-muted);-webkit-user-select:none;user-select:none;background:0 0;border-radius:14px;align-items:center;gap:0;font-size:.7rem;font-weight:500;display:inline-flex;overflow:hidden}.column-pill.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 1px 4px #0ea5e940}.pill-toggle{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;padding:3px 4px 3px 8px;display:inline-flex}.pill-name{font-weight:600}.pill-role-select{letter-spacing:.3px;cursor:pointer;border:none;border-radius:4px;margin-right:6px;padding:2px 6px;font-family:Inter,system-ui,sans-serif;font-size:.625rem;font-weight:700;line-height:1.4}.pill-role-select option{color:#1e293b;background:#fff;padding:6px 10px;font-family:Inter,system-ui,sans-serif;font-size:.8125rem;font-weight:600}.pill-role-select.input{color:#fff;background-color:#3b82f6}.pill-role-select.output{color:#fff;background-color:#10b981}.pill-role-select.category{color:#fff;background-color:#f59e0b}.pill-role-select.remarks{color:#fff;background-color:#94a3b8}.pill-role-select option{color:#1e293b;background:#fff}.th-content{flex-direction:column;align-items:start;gap:2px;display:flex}.th-role-badge{letter-spacing:.5px;border-radius:3px;padding:1px 5px;font-size:.55rem;font-weight:800;line-height:1.2}.th-role-badge.input{color:#3b82f6;background:#3b82f61f}.th-role-badge.output{color:#10b981;background:#10b9811f}.th-role-badge.category{color:#f59e0b;background:#f59e0b1f}.th-role-badge.remarks{color:#94a3b8;background:#94a3b81f}.pills-actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.btn-link{color:var(--primary);cursor:pointer;transition:opacity var(--transition-fast);background:0 0;border:none;padding:2px 4px;font-size:.8rem;font-weight:500}.btn-link:hover{opacity:.7;text-decoration:underline}.pills-actions .divider{color:var(--text-muted);-webkit-user-select:none;user-select:none;font-size:.75rem}.row-actions-bar{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.row-actions-left,.row-actions-right{align-items:center;gap:var(--space-2);display:flex}.row-actions-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.6875rem;font-weight:600}.btn-sm{padding:var(--space-2) var(--space-3);font-size:.8rem}.btn-ghost{border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;align-items:center;gap:4px;padding:4px 10px;font-size:.78rem;display:inline-flex}.btn-ghost:hover{background:var(--bg-tertiary);border-color:var(--primary);color:var(--primary)}.btn-ghost svg{width:14px;height:14px}.search-box{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);min-width:200px;display:flex}.search-box svg{width:16px;height:16px;color:var(--text-muted)}.search-box input{color:var(--text-primary);background:0 0;border:none;flex:1;font-size:.875rem}.search-box input:focus{outline:none}.search-box-clear{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:2px;line-height:0;display:flex}.search-box-clear:hover{color:var(--text-primary);background:#0000000f}.search-match-hint{color:var(--text-muted);white-space:nowrap;font-size:.75rem}.training-table-empty-hint{padding:var(--space-6);color:var(--text-muted);text-align:center;background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px dashed var(--border-default);margin:0;font-size:.9375rem}.interactive-table-wrapper,.training-selection-table-wrap{border:1px solid var(--border-default);border-radius:var(--radius-md);margin-bottom:var(--space-4);width:100%;min-width:0}.training-selection-table-wrap .ant-table-wrapper{width:100%}.training-selection-table .ant-table-thead>tr>th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;background:var(--bg-secondary,#00000008);white-space:nowrap;vertical-align:bottom;font-size:.75rem;font-weight:500}.training-selection-table .th-title-text{text-overflow:ellipsis;max-width:100%;display:block;overflow:hidden}.training-selection-table .ant-table-tbody>tr>td{border-bottom:1px solid var(--border-default)}.training-selection-table .ant-table-cell-fix-left,.training-selection-table .ant-table-cell-fix-right{z-index:2;background:var(--bg-card,#fff)}.training-selection-table .ant-table-pagination{margin:var(--space-3) var(--space-4) var(--space-4);gap:var(--space-2);flex-wrap:wrap}.data-row{cursor:pointer;transition:all .15s}.training-selection-table .data-row>.ant-table-cell:first-child{border-left:3px solid #0000}.training-selection-table .data-row.included>.ant-table-cell:first-child{border-left:3px solid #10b981}.training-selection-table .data-row.included>.ant-table-cell{background:#10b9810a}.training-selection-table .data-row.excluded>.ant-table-cell:first-child{border-left:3px solid #ef4444}.training-selection-table .data-row.excluded>.ant-table-cell{opacity:.45}.training-selection-table .data-row.excluded:hover>.ant-table-cell{opacity:.7}.training-selection-table .data-row:hover>.ant-table-cell{background:var(--bg-tertiary)!important}.data-row.excluded .ant-table-cell:not(:first-child),.data-row.excluded td:not(:first-child){-webkit-text-decoration:line-through #ef444466;text-decoration:line-through #ef444466}.data-row.excluded:hover{opacity:.7}.table-footer{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:.875rem;display:flex}.table-footer-included-wrap{align-items:center;gap:var(--space-2);display:inline-flex}.table-footer-dismiss-count{color:var(--text-secondary);border-radius:var(--radius-sm);padding:2px}.table-footer-dismiss-count:hover{color:var(--text-primary);background:var(--bg-tertiary)}.table-footer-show-count{font-size:.875rem}.pagination{align-items:center;gap:var(--space-2);display:flex}.rows-per-page-select{color:var(--text-secondary);align-items:center;gap:4px;margin-right:8px;font-size:.78rem;display:inline-flex}.rows-per-page-select select{border:1px solid var(--border-default);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:3px 6px;font-size:.78rem}.comparison-panel{max-width:100%;overflow:hidden}.comparison-panel .comparison-header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.comparison-header-left{align-items:center;gap:var(--space-3);display:flex}.comparison-header-left h2{margin:0;font-size:1.125rem}.comparison-header-right{gap:var(--space-2);display:flex}.comparison-hint{color:var(--text-muted);margin-bottom:var(--space-4);font-size:.875rem}.comparison-table-wrapper{-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;border-radius:var(--radius-md);border:1px solid var(--border-default);width:100%;min-width:0;max-width:100%;min-height:120px;overflow:auto hidden}.comparison-table-wrapper::-webkit-scrollbar{height:10px}.comparison-table-wrapper::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:var(--radius-sm)}.comparison-table-wrapper::-webkit-scrollbar-thumb{background:var(--border-strong,#80808080);border-radius:var(--radius-sm)}.comparison-table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.data-table.comparison-table{width:max-content;min-width:100%;margin:0}.data-table.comparison-table th,.data-table.comparison-table td{border:1px solid var(--border-default);vertical-align:middle}.comparison-table .comp-group-row td{text-transform:uppercase;letter-spacing:.05em;color:var(--primary);background:var(--bg-tertiary);padding:var(--space-2) var(--space-4);border:1px solid var(--border-default);font-size:.75rem;font-weight:600}.comparison-table .comp-property-name{white-space:nowrap;min-width:140px;font-weight:500}.comparison-table .comp-property-name.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.comparison-table .comp-property-name.sortable:hover{color:var(--primary)}.comparison-table .comp-property-name.active-sort{color:var(--primary);font-weight:600}.comparison-table .comp-exp-header{white-space:nowrap;min-width:120px;font-size:.82rem}.comparison-table .comp-value{text-align:center;font-variant-numeric:tabular-nums}.comparison-table .diff-highlight{border-left:3px solid #fbbf2499;background:#fbbf2426!important}body.dark-theme .comparison-table .diff-highlight{border-left-color:#f59e0b80;background:#f59e0b1f!important}.constraint-grid{gap:var(--space-3);flex-direction:column;display:flex}.constraint-item{gap:var(--space-2);padding:var(--space-3);background:var(--bg-tertiary);border-radius:var(--radius-md);transition:all var(--transition-fast);border:1px solid #0000;flex-direction:column;display:flex}.constraint-checkbox{align-items:center;gap:var(--space-2);cursor:pointer;min-width:0;font-size:.875rem;display:flex}.constraint-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);flex-shrink:0}.constraint-checkbox--locked{cursor:default}.constraint-checkbox--locked input[type=checkbox]:disabled{cursor:not-allowed;opacity:.85}.constraint-label{white-space:nowrap}.constraint-checkbox .param-tip{opacity:.5;cursor:help;flex-shrink:0;width:12px;height:12px}.main-content:has(.report-preview-panel){background:var(--bg-secondary)}.report-preview-panel{margin-top:var(--space-8);background:var(--bg-secondary);-webkit-backdrop-filter:none;backdrop-filter:none}.report-preview-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.report-preview-header-main{align-items:flex-start;gap:var(--space-3);flex:240px;min-width:0;display:flex}.report-preview-title-block{flex:1;min-width:0}.report-preview-title-block h2{margin:0 0 var(--space-1);font-size:clamp(1rem,2.5vw,1.5rem)}.report-preview-meta{align-items:center;gap:var(--space-2);color:var(--text-secondary);flex-wrap:wrap;font-size:.875rem;display:flex}.report-preview-header h2{flex-shrink:1;min-width:0;margin:0;font-size:clamp(1rem,2.5vw,1.5rem)}.report-preview-actions{gap:var(--space-3);flex-wrap:wrap;flex-shrink:0;align-items:center;display:flex}.report-action-tooltip-wrap{display:inline-flex}.report-model-status-alert{margin-bottom:var(--space-4)}.report-content-readonly{-webkit-user-select:text;user-select:text;cursor:default}.report-content .report-muted-text{color:var(--text-secondary);font-size:.875rem}.report-content .report-muted-text--sm{color:var(--text-secondary);font-size:.85rem}.report-content .report-callout{color:var(--text-secondary);background:var(--bg-tertiary);border-radius:8px;padding:12px 16px;font-size:.85rem;line-height:1.6}.report-content .report-callout--success{border-left:3px solid var(--success)}.report-content .report-callout--primary{border-left:3px solid var(--primary);margin-bottom:1rem}.report-chart-placeholder{border:1px dashed var(--border-default);height:200px;color:var(--text-secondary);text-align:center;border-radius:8px;justify-content:center;align-items:center;padding:1rem;font-size:.9rem;display:flex}.report-content{min-height:300px;padding:var(--space-6);background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-default);color:var(--text-primary);line-height:1.7}.report-content h1{margin-bottom:.5rem;font-size:2rem}.report-content h2{border-bottom:2px solid var(--border-default);margin-top:2rem;margin-bottom:1rem;padding-bottom:.5rem;font-size:1.5rem}.report-content h3{color:var(--text-secondary);margin-top:1.5rem;margin-bottom:.75rem;font-size:1.25rem}.report-content p{margin-bottom:1rem}.report-content .report-meta{color:var(--text-secondary);border-bottom:1px solid var(--border-default);margin-bottom:2rem;padding-bottom:1rem;font-size:.875rem}.report-content table{border-collapse:collapse;width:100%;margin:1.5rem 0}.report-content table th{background:var(--bg-tertiary);text-align:left;border:1px solid var(--border-default);padding:.75rem;font-weight:600}.report-content table td{border:1px solid var(--border-default);padding:.75rem}.report-content .report-top-recipes{width:100%;margin:1rem 0 2rem}.report-content .report-top-recipes-summary{color:var(--text-secondary);margin:0 0 1rem;font-size:.875rem}.report-content .report-recipes-summary-table{width:100%;margin:0 0 1.25rem}.report-content .report-recipes-divider{border:none;border-top:2px solid var(--border-default);margin:0 0 1.5rem}.report-content .report-recipe-card{border:1px solid var(--border-default);background:var(--bg-secondary,var(--surface-secondary));break-inside:avoid;border-radius:8px;width:100%;margin-bottom:1.5rem;padding:1rem 1.25rem 1.25rem}.report-content .report-recipe-card:last-child{margin-bottom:0}.report-content .report-recipe-title{color:var(--primary);margin:0 0 .875rem;font-size:1rem;font-weight:600}.report-content .report-recipe-detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:1rem;width:100%;display:grid}.report-content .report-recipe-panel{border:1px solid var(--border-default);border-radius:6px;flex-direction:column;min-height:100%;padding:.75rem 1rem 1rem;display:flex}.report-content .report-recipe-panel--outputs{background:#0e749014;border-color:#0e749059}.report-content .report-recipe-panel--inputs{background:var(--bg-tertiary,#f8fafc)}.report-content .report-recipe-panel-title{letter-spacing:.02em;text-transform:uppercase;margin:0 0 .625rem;font-size:.8125rem;font-weight:600}.report-content .report-recipe-panel--outputs .report-recipe-panel-title{color:var(--primary,#0e7490)}.report-content .report-recipe-panel--inputs .report-recipe-panel-title{color:var(--text-secondary)}.report-content .report-recipe-kv-list{flex-direction:column;flex:1;gap:.35rem;margin:0;padding:0;display:flex}.report-content .report-recipe-kv-row{border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:baseline;gap:1rem;padding:.35rem 0;display:flex}.report-content .report-recipe-kv-row:last-child{border-bottom:none}.report-content .report-recipe-kv-row dt{text-align:left;flex:auto;min-width:0;margin:0;font-size:.875rem;font-weight:500}.report-content .report-recipe-kv-row dd{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;flex:none;margin:0;font-size:.875rem;font-weight:600}.report-content .report-recipe-kv-empty{color:var(--text-secondary);margin:0;font-size:.875rem}@media (max-width:720px){.report-content .report-recipe-detail-grid{grid-template-columns:1fr}}.report-content .metric-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:1.5rem 0;display:grid}.report-content .metric-box{background:var(--bg-tertiary);border-left:4px solid var(--primary);border-radius:4px;padding:1rem}.report-content .metric-box .metric-label{color:var(--text-secondary);margin-bottom:.25rem;font-size:.875rem}.report-content .metric-box .metric-value{font-size:1.5rem;font-weight:600}.report-content .highlight-box{background:#ffc10726;border-left:4px solid #ffc107;margin:1.5rem 0;padding:1rem}.report-content .success-box{background:#28a74526;border-left:4px solid #28a745;margin:1.5rem 0;padding:1rem}.report-content .info-box{background:#17a2b826;border-left:4px solid #17a2b8;margin:1.5rem 0;padding:1rem}.report-content ul,.report-content ol{margin-bottom:1rem;padding-left:2rem}.report-content li{margin-bottom:.5rem}.report-content hr{border:none;border-top:1px solid var(--border-default);margin:2rem 0}.report-lock-badge{color:var(--text-muted,#888);background:var(--bg-secondary,#f0f0f0);border:1px solid var(--border,#ddd);vertical-align:middle;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;gap:4px;margin-left:8px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-flex}.report-parity-chart-host,.report-target-space-host{box-sizing:border-box;border:1px solid var(--border-default);border-radius:8px;width:100%;margin-bottom:1rem;overflow:visible}.report-charts-group{display:block}.report-content .report-chart-block{width:100%;display:block;overflow:visible}.report-parity-chart-host{height:380px;min-height:380px}.report-content .report-parity-chart-host .js-plotly-plot,.report-content .report-parity-chart-host .plot-container.plotly{max-height:none;width:100%!important;height:100%!important;overflow:visible!important}.report-target-space-host{height:auto;min-height:0}.report-target-space-embed{overflow:visible}.report-target-space-embed #reportTargetSpacePlot{min-height:360px;overflow:visible}.report-target-space-embed #reportTargetSpacePlot .js-plotly-plot,.report-target-space-embed #reportTargetSpacePlot .plot-container.plotly{max-height:none;overflow:visible!important}.report-parity-section+.report-parity-section{margin-top:var(--space-2)}html.report-print-prep .report-content .report-chart-block{break-inside:avoid!important;page-break-inside:avoid!important;-webkit-column-break-inside:avoid!important;width:100%!important;display:block!important}html.report-print-prep .report-content .report-chart-block>h3{break-after:avoid!important;page-break-after:avoid!important}html.report-print-prep .report-content .report-chart-block .report-parity-chart-host,html.report-print-prep .report-content .report-chart-block .js-plotly-plot,html.report-print-prep .report-content .report-chart-block .plot-container.plotly,html.report-print-prep .report-content .report-chart-block .svg-container{position:relative!important;overflow:visible!important;transform:none!important}html.report-print-prep .report-parity-chart-host .js-plotly-plot,html.report-print-prep .report-parity-chart-host .plot-container.plotly,html.report-print-prep .report-parity-chart-host .svg-container,html.report-print-prep .report-parity-chart-host svg.main-svg{width:100%!important;max-width:100%!important;height:100%!important;max-height:88mm!important;overflow:visible!important}html.report-print-prep #reportTargetSpacePlot .js-plotly-plot,html.report-print-prep #reportTargetSpacePlot .plot-container.plotly,html.report-print-prep #reportTargetSpacePlot .svg-container,html.report-print-prep #reportTargetSpacePlot svg.main-svg{width:100%!important;max-width:100%!important;height:100%!important;max-height:100mm!important;overflow:visible!important}html.report-print-prep .report-content .report-chart-block.report-chart-page-start{break-before:page!important;page-break-before:always!important}html.report-print-prep,html.report-print-prep body,html.report-print-prep body.dark-theme{--bg-primary:#fff;--bg-secondary:#fff;--bg-tertiary:#f8fafc;--bg-card:#fff;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--border-default:#e2e8f0;--border-subtle:#e2e8f0;--border:#e2e8f0;color:#0f172a!important;background:#fff!important;height:auto!important;overflow:visible!important}html.report-print-prep body:before{display:none!important}html.report-print-prep .main-content.ant-layout-content,html.report-print-prep .app-root-layout,html.report-print-prep .app-shell-inner-layout{background:#fff!important;width:100%!important;max-width:none!important;margin-left:0!important;padding:0!important;overflow-x:visible!important}html.report-print-prep .report-preview-panel{box-sizing:border-box;width:100%!important;max-width:100%!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#fff!important;border:none!important;margin:0!important;padding:0!important}html.report-print-prep .report-content{box-sizing:border-box;color:#0f172a!important;background:#fff!important;border:none!important;width:100%!important;max-width:none!important;padding:0!important}html.report-print-prep .report-content h1,html.report-print-prep .report-content h2,html.report-print-prep .report-content h3,html.report-print-prep .report-content p,html.report-print-prep .report-content li,html.report-print-prep .report-content td,html.report-print-prep .report-content th,html.report-print-prep .report-content .report-meta{color:#0f172a!important}html.report-print-prep .report-content h3,html.report-print-prep .report-content .report-meta,html.report-print-prep .report-muted-text,html.report-print-prep .report-muted-text--sm,html.report-print-prep .report-callout,html.report-print-prep .report-chart-placeholder{color:#475569!important}html.report-print-prep .report-callout{background:#f8fafc!important}html.report-print-prep .report-content table th{color:#0f172a!important;background:#f8fafc!important;border-color:#e2e8f0!important}html.report-print-prep .report-content table td{border-color:#e2e8f0!important}html.report-print-prep .report-content .metric-box{color:#0f172a!important;background:#f8fafc!important}html.report-print-prep .report-content .report-recipe-card,html.report-print-prep .report-content .report-recipe-panel--inputs{background:#fff!important;border-color:#e2e8f0!important}html.report-print-prep .report-parity-chart-host,html.report-print-prep .report-target-space-host{box-sizing:border-box!important;background:#fff!important;border:none!important;width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}html.report-print-prep .report-parity-chart-host{height:88mm!important;min-height:88mm!important;max-height:88mm!important}html.report-print-prep .report-charts-group .report-parity-section h3{margin-top:var(--space-3)!important;margin-bottom:var(--space-2)!important}html.report-print-prep .report-charts-group .report-parity-section:first-child h3{margin-top:var(--space-4)!important}html.report-print-prep .report-target-space-host{height:auto!important;min-height:100mm!important}html.report-print-prep .report-target-space-embed{box-shadow:none!important;box-sizing:border-box!important;background:#fff!important;border:none!important;width:100%!important;max-width:100%!important;min-height:100mm!important;margin:0!important;padding:0!important;display:block!important}html.report-print-prep .report-target-space-embed .axis-selectors,html.report-print-prep .report-target-space-embed .plot-legend,html.report-print-prep .report-target-space-embed .chart-actions{display:none!important}html.report-print-prep .report-target-space-embed #reportTargetSpacePlot{width:100%!important;height:100mm!important;min-height:100mm!important;max-height:100mm!important}html.report-print-prep .report-print-section .js-plotly-plot,html.report-print-prep .report-print-section .plot-container.plotly,html.report-print-prep .report-print-section .svg-container,html.report-print-prep .report-print-section svg.main-svg,html.report-print-prep #reportTargetSpacePlot .js-plotly-plot,html.report-print-prep #reportTargetSpacePlot .plot-container.plotly,html.report-print-prep #reportTargetSpacePlot .svg-container,html.report-print-prep #reportTargetSpacePlot svg.main-svg{width:100%!important;max-width:100%!important}@media print{@page{size:A4 portrait;margin:10mm}:root,html,body,body.dark-theme{--bg-primary:#fff;--bg-secondary:#fff;--bg-tertiary:#f8fafc;--bg-card:#fff;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--border-default:#e2e8f0;--border-subtle:#e2e8f0;--border:#e2e8f0;-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#0f172a!important;background:#fff!important}body:before,.app-root-layout>.ant-layout-sider,.app-shell-sider,.ant-layout-sider,.sidebar-overlay,.mobile-hamburger,.mobile-overlay,.main-content .page-header,.main-content>.glass-card:not(.report-preview-panel),.main-content>.ant-alert,.report-preview-header,.report-preview-actions,.report-model-status-alert,.theme-toggle,.lang-toggle,.user-profile-btn,.workflow-dataset-banner,.toast-notification,.app-root-layout .ant-layout-sider-trigger,nav,header.page-header{display:none!important}.main-content.ant-layout-content,.app-root-layout,.app-shell-inner-layout{background:#fff!important;width:100%!important;max-width:none!important;height:auto!important;margin-left:0!important;padding:0!important;overflow:visible!important}.report-preview-panel{box-sizing:border-box;width:100%!important;max-width:none!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#fff!important;border:none!important;margin:0!important;padding:0!important}html,body,#__next,.app-root-layout,.app-shell-inner-layout,.main-content,.report-preview-panel,.report-content{height:auto!important;max-height:none!important;overflow:visible!important}.report-content{box-sizing:border-box;color:#0f172a!important;background:#fff!important;border:none!important;width:100%!important;max-width:none!important;height:auto!important;min-height:auto!important;padding:0!important;overflow:visible!important}.report-content h1,.report-content h2,.report-content h3,.report-content p,.report-content li,.report-content td,.report-content th{color:#0f172a!important}.report-content h2{border-bottom-color:#e2e8f0!important}.report-content h3,.report-content .report-meta,.report-content .metric-box .metric-label,.report-content .report-top-recipes-summary{color:#475569!important}.report-content .report-meta{border-bottom-color:#e2e8f0!important}.report-content table th{color:#0f172a!important;background:#f8fafc!important;border-color:#e2e8f0!important}.report-content table td{border-color:#e2e8f0!important}.report-content .metric-box{color:#0f172a!important;background:#f8fafc!important}.report-muted-text,.report-muted-text--sm,.report-callout,.report-chart-placeholder{color:#475569!important}.report-callout{background:#f8fafc!important}.report-content .report-recipe-card,.report-content .report-recipe-panel--inputs{background:#fff!important;border-color:#e2e8f0!important}.report-parity-chart-host,.report-target-space-host{box-sizing:border-box!important;background:#fff!important;border:none!important;width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}.report-parity-chart-host{height:88mm!important;min-height:88mm!important;max-height:88mm!important;margin-bottom:var(--space-2)!important}.report-charts-group .report-parity-section h3{margin-top:var(--space-3)!important;margin-bottom:var(--space-2)!important}.report-charts-group .report-parity-section:first-child h3{margin-top:var(--space-4)!important}.report-target-space-host{width:100%!important;height:auto!important;min-height:100mm!important}.report-target-space-embed{box-shadow:none!important;box-sizing:border-box!important;background:#fff!important;border:none!important;width:100%!important;max-width:100%!important;min-height:100mm!important;margin:0!important;padding:0!important;display:block!important}.report-target-space-embed #reportTargetSpacePlot{width:100%!important;height:100mm!important;min-height:100mm!important;max-height:100mm!important}.report-content .metric-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;gap:1rem!important;display:grid!important}.report-content .report-recipe-detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:1rem!important;display:grid!important}.report-content .report-meta{max-width:none}.report-target-space-embed .axis-selectors,.report-target-space-embed .chart-actions,.report-target-space-embed .plot-legend{display:none!important}.report-print-section,.report-print-section .js-plotly-plot,.report-print-section .plot-container.plotly,.report-print-section svg.main-svg,#reportTargetSpacePlot,#reportTargetSpacePlot .js-plotly-plot,#reportTargetSpacePlot .plot-container.plotly,#reportTargetSpacePlot svg.main-svg{width:100%!important;max-width:100%!important}.report-parity-chart-host .js-plotly-plot,.report-parity-chart-host .plot-container.plotly,.report-parity-chart-host .svg-container,.report-parity-chart-host svg.main-svg{width:100%!important;max-width:100%!important;height:100%!important;max-height:88mm!important;overflow:visible!important}#reportTargetSpacePlot .js-plotly-plot,#reportTargetSpacePlot .plot-container.plotly,#reportTargetSpacePlot .svg-container,#reportTargetSpacePlot svg.main-svg{width:100%!important;max-width:100%!important;height:100%!important;max-height:100mm!important;overflow:visible!important}.report-content .report-chart-block{break-inside:avoid!important;page-break-inside:avoid!important;-webkit-column-break-inside:avoid!important;width:100%!important;display:block!important}.report-content .report-chart-block>h3{break-after:avoid!important;page-break-after:avoid!important}.report-content .report-chart-block .report-parity-chart-host,.report-content .report-chart-block .js-plotly-plot,.report-content .report-chart-block .plot-container.plotly,.report-content .report-chart-block .svg-container{position:relative!important;overflow:visible!important;transform:none!important}.report-content h2,.report-content h3{break-after:avoid-page;page-break-after:avoid}.report-content table{break-inside:avoid;page-break-inside:avoid}.report-content .report-recipe-card,.report-content .metric-grid{break-inside:avoid-page;page-break-inside:avoid}.report-content .report-chart-block.report-chart-page-start{break-before:page!important;page-break-before:always!important}.report-content .report-page-break{break-after:page;page-break-after:always;visibility:hidden;border:none;height:0;margin:0;padding:0}.report-content table thead{display:table-header-group}a[href]:after{content:none!important}}@media (max-width:1200px){.optimize-container,.charts-row{grid-template-columns:1fr}}@media (max-width:900px){.module-cards-grid{grid-template-columns:1fr}.wfr-boxes{gap:4px}.wfr-box{min-width:58px;padding:8px 10px}.wfr-box-icon{font-size:1rem}.action-cards-4,.kpi-strip{grid-template-columns:repeat(2,1fr)}.timeline-header{flex-direction:column;gap:2px}}@media (max-width:600px){.action-cards-4{grid-template-columns:1fr}.kpi-strip{grid-template-columns:repeat(2,1fr)}.dash-context-bar{flex-direction:column;align-items:flex-start}.dash-status-pill{margin-left:0}}.toast-notification{bottom:var(--space-6);right:var(--space-6);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000;font-size:.875rem;font-weight:500;animation:.2s toast-in;position:fixed}.toast-notification.success{color:#fff;background:#10b981f2}.toast-notification.warning{color:#fff;background:#f59e0bf2}.toast-notification.danger{color:#fff;background:#ef4444f2}.toast-notification.info{background:var(--primary);color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.training-range-info{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--primary-light);border-radius:var(--radius-md);margin-bottom:var(--space-5);color:var(--primary);font-size:.875rem;display:flex}.training-range-info svg{flex-shrink:0;width:18px;height:18px}.range-indicator{margin-top:var(--space-2)}.range-bar{background:var(--bg-tertiary);height:4px;margin-bottom:var(--space-1);border-radius:2px;display:block;position:relative}.range-fill{background:var(--gradient-secondary);border-radius:2px;height:100%;position:absolute}.range-text{color:var(--text-muted);font-size:.7rem}.tooltip-icon{opacity:.6;cursor:help;vertical-align:middle}.checkbox-group{gap:var(--space-2);flex-direction:column;display:flex}.checkbox-group label{align-items:center;gap:var(--space-2);cursor:pointer;font-size:.875rem;display:flex}.checkbox-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.predict-container{gap:var(--space-6);margin-bottom:var(--space-6);grid-template-columns:1fr;align-items:start;min-width:0;display:grid;overflow:auto visible}.predict-container:has(.predict-row-table-wrap){overflow:visible}.predict-container>.glass-card{min-width:0;overflow:auto visible}.predict-container>.glass-card:has(.predict-row-table-wrap){overflow:visible}.predict-row-table-wrap{width:100%;min-width:0;overflow:auto visible}.predict-row-table-wrap .ant-table-wrapper{width:100%}.predict-row-table-wrap .ant-table-cell-fix-left,.predict-row-table-wrap .ant-table-cell-fix-right{z-index:2;background:var(--bg-card,#fff)}.predict-row-table-wrap .ant-table-cell-fix-right-first{box-shadow:none}.predict-row-table-wrap .ant-table-tbody>tr:hover>td{background:var(--bg-secondary,#00000005)!important}.predict-row-table-wrap .ant-table-thead>tr>th{background:var(--bg-secondary,#00000008)}.input-panel{height:fit-content;top:var(--space-8);position:sticky}.input-panel.glass-card h2,.results-panel.glass-card h2{margin:0 0 var(--space-4);color:var(--text-primary);font-size:1.25rem;font-weight:600}.results-panel{min-height:500px}.results-panel .predict-results-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.results-panel .predict-results-header .btn-secondary{align-items:center;gap:var(--space-2);display:inline-flex}.results-panel .predict-results-header .btn-secondary svg{flex-shrink:0;width:18px;height:18px}.results-placeholder{justify-content:center;align-items:center;gap:var(--space-2);min-height:400px;color:var(--text-muted);flex-direction:column;font-size:.875rem;display:flex}.results-placeholder svg{flex-shrink:0;width:48px;height:48px}.results-placeholder p{margin:0}.results-grid{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.result-card{background:var(--bg-tertiary);border-radius:var(--radius-lg);padding:var(--space-5);text-align:center}.result-label{color:var(--text-secondary);margin-bottom:var(--space-2);font-size:.875rem}.result-value{margin-bottom:var(--space-1);font-size:2rem;font-weight:700}.result-value.blue{color:var(--primary)}.result-value.green{color:var(--secondary)}.result-value.purple{color:#8b5cf6}.result-value.orange{color:#f59e0b}.result-uncertainty{color:var(--text-muted);font-size:.875rem}.extrapolation-warning{background:var(--warning-light,#f59e0b26);border-radius:var(--radius-md);color:var(--warning,#f59e0b);align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.extrapolation-warning svg{flex-shrink:0;width:18px;height:18px}.confidence-bar{margin-top:var(--space-4);padding:var(--space-4);background:var(--bg-tertiary);border-radius:var(--radius-lg)}.confidence-label{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.confidence-track{background:var(--border-default);border-radius:4px;height:8px;overflow:hidden}.confidence-fill{background:var(--gradient-primary);height:100%;transition:width var(--transition-slow,.3s ease);border-radius:4px}.importance-chart{margin-top:1.5rem}.importance-chart h3{margin:0 0 var(--space-3);font-size:1rem}.importance-bars{margin-top:1rem}.importance-row{align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.feature-name{width:60px;color:var(--text-secondary);font-size:.875rem}.importance-bar-track{background:var(--bg-tertiary);border-radius:4px;flex:1;height:8px;overflow:hidden}.importance-bar-fill{background:var(--gradient-primary);border-radius:4px;height:100%}.feature-value{text-align:right;width:40px;font-size:.875rem;font-weight:600}@media (max-width:768px){.workflow-stepper{padding:var(--space-2) var(--space-3)}.step-name{display:none}.workflow-connector{width:24px}.next-step-content{text-align:center;flex-direction:column}.next-step-text{flex-direction:column}.predict-container{grid-template-columns:1fr}.pred-setup-hero-card{padding:var(--space-5)}.pred-setup-hero-card__cta{justify-content:center;width:100%}}.admin-analytics{margin-bottom:var(--space-6)}.admin-analytics-title{color:var(--text-primary);margin-bottom:var(--space-4);font-size:1rem;font-weight:600}.admin-analytics-grid{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}@media (max-width:1100px){.admin-analytics-grid{grid-template-columns:1fr}}.admin-chart-card{padding:var(--space-3);overflow:hidden}.admin-stats-grid{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(4,1fr);display:grid}@media (max-width:1100px){.admin-stats-grid{grid-template-columns:repeat(2,1fr)}}.admin-stat-card{flex-direction:column;display:flex}.admin-stat-icon{border-radius:var(--radius-md);width:44px;height:44px;margin-bottom:var(--space-3);justify-content:center;align-items:center;display:flex}.admin-stat-icon svg{width:22px;height:22px}.admin-stat-icon.stat-blue{background:var(--primary-light);color:var(--primary)}.admin-stat-icon.stat-green{background:var(--success-light);color:var(--success)}.admin-stat-icon.stat-red{background:var(--error-light);color:var(--error)}.admin-stat-icon.stat-purple{background:var(--accent-light);color:var(--accent)}.admin-stat-icon.stat-orange{background:var(--warning-light);color:var(--warning)}.admin-stat-value{color:var(--text-primary);margin-bottom:var(--space-1);font-size:2rem;font-weight:700;line-height:1}.admin-stat-label{color:var(--text-secondary);font-size:.8125rem}.admin-toolbar{gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;align-items:center;display:flex}.admin-search-wrap{flex:1;align-items:center;min-width:220px;display:flex;position:relative}.admin-search-icon{left:var(--space-3);width:16px;height:16px;color:var(--text-muted);pointer-events:none;position:absolute}.admin-search{width:100%;padding:var(--space-2) var(--space-4) var(--space-2) 2.25rem;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);font-size:.875rem}.admin-search:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-glow);outline:none}.admin-filter{padding:var(--space-2) var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;transition:border-color var(--transition-fast);font-size:.875rem}.admin-filter:focus{border-color:var(--border-focus);outline:none}.role-badge{letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border-radius:9999px;align-items:center;padding:3px 10px;font-size:.6875rem;font-weight:600;display:inline-flex}.role-badge.admin{background:var(--error-light);color:var(--error)}.role-badge.super-admin{color:#7c3aed;background:#8b5cf61f}.role-badge.user{background:var(--secondary-light);color:var(--secondary)}.role-badge.scientist,.role-badge.researcher{background:var(--primary-light);color:var(--primary)}.role-badge.assistant{background:var(--warning-light);color:var(--warning)}.role-badge.viewer{background:var(--accent-light);color:var(--accent)}.admin-status{align-items:center;font-size:.875rem;display:inline-flex}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-right:6px;display:inline-block}.status-dot.active{background:var(--success);box-shadow:0 0 0 2px var(--success-light)}.status-dot.inactive{background:var(--text-muted)}.admin-actions{gap:var(--space-2);align-items:center;display:flex}.btn-status-toggle{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;align-items:center;gap:4px;padding:5px 10px;font-size:.75rem;font-weight:500;display:inline-flex}.btn-status-toggle.deactivate{background:var(--warning-light);color:var(--warning)}.btn-status-toggle.deactivate:hover{background:var(--warning);color:#fff}.btn-status-toggle.activate{background:var(--success-light);color:var(--success)}.btn-status-toggle.activate:hover{background:var(--success);color:#fff}.btn-status-toggle svg{width:14px;height:14px}.btn-remove{border-radius:var(--radius-md);width:30px;height:30px;color:var(--text-muted);border:1px solid var(--border-default);cursor:pointer;transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:inline-flex}.btn-remove:hover{background:var(--error-light);color:var(--error);border-color:#0000}.btn-remove svg{width:14px;height:14px}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;padding:var(--space-4);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.admin-modal{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-2xl);padding:var(--space-6);width:100%;max-width:500px;box-shadow:var(--shadow-lg)}.admin-modal-header{margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;display:flex}.form-group{margin-bottom:var(--space-4)}.form-label{color:var(--text-primary);margin-bottom:var(--space-2);font-size:.875rem;font-weight:500;display:block}.form-input,.form-select{width:100%;padding:var(--space-3) var(--space-4);background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);font-size:.875rem}.form-input:focus,.form-select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-glow);outline:none}.admin-modal-footer{gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border-default);justify-content:flex-end;display:flex}.group-access-bar{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-5);margin-bottom:var(--space-5);background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);flex-wrap:wrap;display:flex}.group-access-info{align-items:center;gap:var(--space-3);display:flex}.group-access-icon{flex-shrink:0;width:18px;height:18px}.group-access-icon.locked{color:var(--warning)}.group-access-icon.unlocked{color:var(--success)}.group-access-text{flex-direction:column;gap:1px;display:flex}.group-access-label{color:var(--text-primary);font-size:.8125rem;font-weight:600}.group-access-detail{color:var(--text-muted);font-size:.75rem}.group-access-actions{align-items:center;gap:var(--space-3);display:flex}.group-access-count{color:var(--text-muted);background:var(--bg-secondary);white-space:nowrap;border-radius:9999px;padding:3px 10px;font-size:.75rem}.group-scope-toggle{background:var(--bg-secondary);border-radius:var(--radius-lg);gap:2px;padding:2px;display:flex}.group-scope-btn{border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:none;align-items:center;gap:4px;padding:5px 12px;font-size:.75rem;font-weight:500;display:flex}.group-scope-btn svg{width:13px;height:13px}.group-scope-btn.active{background:var(--bg-card);color:var(--primary);box-shadow:var(--shadow-sm)}.group-scope-btn:hover:not(.active){color:var(--text-primary)}.group-dept-btn{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:4px;padding:5px 10px;font-size:.75rem;display:flex}.group-dept-btn svg{width:13px;height:13px}.group-dept-btn:hover{border-color:var(--border-focus)}.group-dept-dropdown{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:260px;max-height:320px;box-shadow:var(--shadow-lg);z-index:50;padding:var(--space-1);position:absolute;top:calc(100% + 4px);right:0;overflow-y:auto}.group-dept-section{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;padding:6px 10px 4px;font-size:.6875rem;font-weight:600}.group-dept-option{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;padding:6px 10px 6px 20px;font-size:.8125rem;display:block}.group-dept-option:hover{background:var(--bg-secondary);color:var(--text-primary)}.group-dept-option.active{background:var(--primary-light);color:var(--primary);font-weight:500}.group-tag{background:var(--bg-secondary);color:var(--text-secondary);white-space:nowrap;border-radius:9999px;align-items:center;gap:4px;padding:2px 8px;font-size:.6875rem;font-weight:500;display:inline-flex}.group-tag svg{width:11px;height:11px}.dataset-browser{margin-bottom:var(--space-5)}.dataset-browser-header{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:var(--radius-md);padding:var(--space-1);margin:calc(-1 * var(--space-1));transition:background var(--transition-fast);justify-content:space-between;align-items:center;display:flex}.dataset-browser-header:hover{background:var(--bg-tertiary)}.dataset-browser.collapsed .dataset-browser-header{margin-bottom:0}.dataset-browser.collapsed .dataset-grid{display:none}.dataset-browser-header-right{align-items:center;gap:var(--space-3);display:flex}.collapse-chevron{width:18px;height:18px;color:var(--text-muted);transition:transform var(--transition-normal);flex-shrink:0;transform:rotate(-90deg)}.collapse-chevron.open{transform:rotate(0)}.dataset-browser-title{align-items:center;gap:var(--space-2);color:var(--text-primary);margin:0;font-size:1rem;font-weight:600;display:flex}.dataset-browser-title svg{width:20px;height:20px;color:var(--primary)}.dataset-browser-filter-wrap{margin-bottom:var(--space-4);flex-direction:column;gap:0;display:flex}.dataset-browser-group-access{border-radius:var(--radius-xl) var(--radius-xl) 0 0;margin-bottom:0}.dataset-browser-group-access:has(+.group-filter-pills-row){border-bottom:none}.group-filter-select-row{padding:var(--space-3) var(--space-5);background:var(--bg-card);border:1px solid var(--border-default);border-top:1px dashed var(--border-subtle);border-radius:0 0 var(--radius-xl) var(--radius-xl);align-items:center;display:flex}.group-filter-select-hint{color:var(--text-muted);white-space:nowrap;font-size:.75rem}.group-filter-antd-select .ant-select-selector{border-color:var(--border-default)!important;border-radius:var(--radius-md)!important;background:var(--bg-primary)!important;font-size:.8125rem!important}.group-filter-antd-select.ant-select-focused .ant-select-selector,.group-filter-antd-select .ant-select-selector:hover{border-color:var(--border-focus)!important;box-shadow:0 0 0 3px var(--primary-glow)!important}.dataset-browser-group-select-label{align-items:center;display:inline-flex}.dataset-browser-group-select{min-width:180px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-primary);color:var(--text-primary);font-size:.875rem}.dataset-browser-list-hint{color:var(--text-muted);padding:var(--space-2) 0;grid-column:1/-1;margin:0;font-size:.9rem}.dataset-browser-pagination-wrap{padding:var(--space-4) var(--space-2) var(--space-2);justify-content:flex-end;display:flex}.dataset-load-modal-desc{margin:0 0 var(--space-4);color:var(--text-secondary);font-size:.9rem;line-height:1.5}.dataset-load-source-group{margin-bottom:var(--space-2)}.dataset-load-source-radios{gap:var(--space-2);flex-direction:column;display:flex}.dataset-load-source-unavailable{margin:var(--space-2) 0 0;color:var(--text-muted);font-size:.8125rem}.dataset-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(340px,1fr));display:grid}.dataset-card{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--space-4);gap:var(--space-3);transition:all var(--transition-fast);flex-direction:column;display:flex}.dataset-card:hover{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary-light)}.dataset-card-header{gap:var(--space-3);align-items:flex-start;display:flex}.dataset-card-icon{border-radius:var(--radius-md);background:var(--primary-light);width:36px;height:36px;color:var(--primary);flex-shrink:0;padding:7px}.dataset-card-meta{flex-direction:column;gap:4px;min-width:0;display:flex}.dataset-card-project-tag{white-space:normal;align-items:flex-start;max-width:100%;line-height:1.35}.dataset-card-name{color:var(--text-primary);word-break:break-all;font-size:.8125rem;font-weight:600;line-height:1.3}.dataset-card-desc{color:var(--text-secondary);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.75rem;line-height:1.5;display:-webkit-box;overflow:hidden}.dataset-card-stats{gap:var(--space-4);color:var(--text-muted);font-size:.75rem;display:flex}.dataset-card-stats span{align-items:center;gap:4px;display:flex}.dataset-card-stats svg{width:13px;height:13px}.dataset-card-data-badges{gap:var(--space-2);flex-wrap:wrap;display:flex}.dataset-card-badge{border-radius:var(--radius-sm);border:1px solid var(--border-default);background:var(--bg-tertiary);align-items:baseline;gap:6px;padding:4px 8px;font-size:.6875rem;line-height:1.3;display:inline-flex}.dataset-card-badge-key{color:var(--text-secondary);font-weight:500}.dataset-card-badge-val{font-weight:600}.dataset-card-badge--yes{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.dataset-card-badge--yes{border-color:color-mix(in srgb, var(--primary) 35%, var(--border-default))}}.dataset-card-badge--yes{background:var(--primary-light)}.dataset-card-badge--yes .dataset-card-badge-val{color:var(--primary)}.dataset-card-badge--no .dataset-card-badge-val{color:var(--text-muted)}.dataset-card-footer{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-default);flex-wrap:wrap;display:flex}.dataset-card-uploader{color:var(--text-muted);align-items:center;gap:4px;font-size:.6875rem;display:flex}.dataset-card-uploader svg{width:12px;height:12px}.dataset-card-actions{gap:var(--space-2);display:flex}.dataset-card-actions .btn-secondary,.dataset-card-actions .btn-primary{align-items:center;gap:6px;padding:5px 10px;font-size:.75rem;display:inline-flex}.dataset-card-actions .btn-secondary svg,.dataset-card-actions .btn-primary svg{width:14px;height:14px}.dataset-grid-wrap{margin-top:var(--space-3);position:relative}.dataset-grid-wrap .dataset-grid{margin-top:0}.dataset-grid-loading-overlay{z-index:2;padding-top:var(--space-8);background:var(--bg-primary);justify-content:center;align-items:flex-start;display:flex;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.dataset-grid-loading-overlay{background:color-mix(in srgb, var(--bg-primary) 78%, transparent)}}.dataset-grid-loading-overlay{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);border-radius:var(--radius-xl);pointer-events:none}.dataset-grid-loading-indicator{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--text-secondary);align-items:center;gap:8px;padding:8px 14px;font-size:.8125rem;display:inline-flex}.dataset-grid-loading-indicator svg{width:16px;height:16px;color:var(--primary)}@keyframes dataset-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dataset-card-skeleton{pointer-events:none}.dataset-card-skeleton:hover{border-color:var(--border-default);box-shadow:none}.dataset-card-skeleton-icon,.dataset-card-skeleton-line,.dataset-card-skeleton-badge,.dataset-card-skeleton-btn{background:linear-gradient(90deg, var(--bg-tertiary) 0%, var(--bg-tertiary) 50%, var(--bg-tertiary) 100%)}@supports (color:color-mix(in lab, red, red)){.dataset-card-skeleton-icon,.dataset-card-skeleton-line,.dataset-card-skeleton-badge,.dataset-card-skeleton-btn{background:linear-gradient(90deg, var(--bg-tertiary) 0%, color-mix(in srgb, var(--bg-tertiary) 55%, var(--border-default)) 50%, var(--bg-tertiary) 100%)}}.dataset-card-skeleton-icon,.dataset-card-skeleton-line,.dataset-card-skeleton-badge,.dataset-card-skeleton-btn{border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite dataset-skeleton-shimmer}.dataset-card-skeleton-icon{border-radius:var(--radius-md);flex-shrink:0;width:36px;height:36px}.dataset-card-skeleton-line{height:12px}.dataset-card-skeleton-line--title{width:72%;height:14px}.dataset-card-skeleton-line--tag{width:58%}.dataset-card-skeleton-line--short{width:42%}.dataset-card-skeleton-desc{flex-direction:column;gap:6px;min-height:3.375rem;display:flex}.dataset-card-skeleton-line--desc{width:100%}.dataset-card-skeleton-line--desc-short{width:82%}.dataset-card-skeleton-stats{gap:var(--space-4);display:flex}.dataset-card-skeleton-line--stat{width:72px}.dataset-card-skeleton-badges{gap:var(--space-2);flex-wrap:wrap;display:flex}.dataset-card-skeleton-badge{border-radius:var(--radius-sm);width:112px;height:24px}.dataset-card-skeleton-line--uploader{width:140px;height:11px}.dataset-card-skeleton-actions{gap:var(--space-2);display:flex}.dataset-card-skeleton-btn{border-radius:var(--radius-sm);width:72px;height:28px}.dataset-card-skeleton-btn--primary{width:96px}.workflow-dataset-banner{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);margin-bottom:var(--space-4);background:var(--primary-light);border:1px solid var(--primary);border-radius:var(--radius-xl);min-height:48px;display:flex}.wdb-text{flex-direction:column;gap:0;min-width:0;display:flex}.wdb-label{color:var(--primary);text-transform:uppercase;letter-spacing:.04em;font-size:.625rem;font-weight:600;line-height:1.2}.wdb-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:320px;font-size:.8125rem;font-weight:600;line-height:1.3;overflow:hidden}.wdb-divider{background:var(--primary);opacity:.25;flex-shrink:0;width:1px;height:28px}.wdb-stat{color:var(--text-muted);white-space:nowrap;align-items:center;gap:3px;font-size:.75rem;display:inline-flex}.wdb-model-badge{background:var(--success-light);color:var(--success);white-space:nowrap;border-radius:9999px;padding:3px 10px;font-size:.6875rem;font-weight:600}.wdb-clear{border-radius:var(--radius-md);width:28px;height:28px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.wdb-clear:hover{background:var(--error-light);color:var(--error)}.wdb-back-link{color:var(--text-primary);border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-card);transition:all var(--transition-fast);flex-shrink:0;align-items:center;gap:6px;margin-left:auto;padding:6px 10px;font-size:.75rem;font-weight:600;text-decoration:none;display:inline-flex}.wdb-back-link:hover{border-color:var(--primary);color:var(--primary)}.wf-no-dataset{align-items:center;gap:var(--space-3);padding:var(--space-8);text-align:center;color:var(--text-muted);flex-direction:column;display:flex}.wf-no-dataset svg{opacity:.3;width:48px;height:48px}.wf-no-dataset p{margin:0;font-size:.875rem}.btn-save-success{cursor:default;color:#16a34a!important;background:#22c55e26!important;border-color:#22c55e!important}.history-toolbar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.history-toolbar--stacked{flex-direction:column;align-items:stretch}.history-toolbar-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.history-toolbar-row--tabs{justify-content:space-between}.history-toolbar-label{color:var(--text-secondary);white-space:nowrap;font-size:.875rem;font-weight:500}.history-summary-col{min-width:9rem;max-width:14rem}.history-summary-lines{flex-direction:column;gap:2px;display:flex}.history-summary-line{white-space:nowrap;font-size:.85rem;line-height:1.35;display:block}.history-summary-empty{color:var(--text-muted)}.history-entity-cell{text-overflow:ellipsis;white-space:nowrap;max-width:10rem;overflow:hidden}.history-actions-col{width:7rem}.history-view-btn{align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.history-status-btn{cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.history-status-btn:hover .pred-train-status-badge--failed{filter:brightness(.95)}.history-job-id{color:var(--text-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem}.history-recipe-count{color:var(--text-primary);font-size:.85rem;font-weight:500}.history-batch-loading{color:var(--text-muted);align-items:center;gap:8px;font-size:.88rem;display:inline-flex}.history-batch-summary{margin:0 0 var(--space-3);color:var(--text-secondary);font-size:.88rem}.history-batch-child-list{gap:var(--space-3);flex-direction:column;display:flex}.history-batch-child-card{border:1px solid var(--border-default);border-radius:var(--radius-lg,12px);background:var(--bg-card);overflow:hidden}.history-batch-child-card--expanded{border-color:#3b82f659}.history-batch-child-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);display:flex}.history-batch-child-card-main{flex:1;min-width:0}.history-batch-child-card-title{color:var(--text-primary);font-size:.9rem;font-weight:600}.history-batch-child-targets{color:var(--text-secondary);margin-top:4px;font-size:.82rem}.history-batch-child-meta{margin-top:var(--space-2);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.history-batch-child-job-id{color:var(--text-muted);word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem}.history-batch-child-error{margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-3);color:#b91c1c;background:#ef444414;border:1px solid #ef444433;border-radius:8px;font-size:.82rem}.history-batch-child-toggle{border:1px solid var(--border-default);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border-radius:8px;flex-shrink:0;align-items:center;gap:4px;padding:4px 8px;font-size:.78rem;display:inline-flex}.history-batch-child-toggle:hover{color:var(--primary);border-color:#3b82f659}.history-batch-child-recipes{padding:0 var(--space-4) var(--space-4);border-top:1px solid var(--border-default)}.history-batch-error-modal{white-space:pre-wrap;color:var(--text-primary);font-size:.88rem;line-height:1.5}.history-shortcut-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.history-shortcut-actions--compact{margin-top:var(--space-2)}.history-shortcut-btn{align-items:center;gap:6px;font-size:.82rem;text-decoration:none;display:inline-flex}.history-detail-section{margin-bottom:var(--space-5)}.history-detail-section h4{margin:0 0 var(--space-2);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-size:.8rem}.history-detail-lines{margin:0;padding-left:1.1rem}.history-detail-lines.compact{margin-top:var(--space-1);padding-left:1rem}.history-detail-lines li{margin-bottom:4px;font-size:.88rem}.history-detail-empty{color:var(--text-muted);margin:0;font-size:.88rem}.history-metadata-list{gap:var(--space-2);margin:0;display:grid}.history-metadata-list div{gap:var(--space-2);grid-template-columns:120px 1fr;font-size:.88rem;display:grid}.history-metadata-list dt{color:var(--text-secondary);margin:0}.history-metadata-list dd{color:var(--text-primary);word-break:break-word;margin:0}.history-recipe-list{gap:var(--space-3);flex-direction:column;display:flex}.history-recipe-card{border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-3);background:var(--bg-secondary)}.history-recipe-card-title{margin-bottom:var(--space-2);font-size:.9rem;font-weight:600}.history-toolbar-group{flex:0 220px;min-width:200px}.history-toolbar-export{margin-left:auto}.history-tabs{gap:var(--space-2);margin-bottom:var(--space-5);border-bottom:2px solid var(--border-default);padding-bottom:0;display:flex}.history-tabs--inline{flex:auto;min-width:0;margin-bottom:0}.history-error{color:var(--danger,#ef4444);margin-bottom:1rem;font-size:.88rem}.history-loading{color:var(--text-secondary);align-items:center;gap:8px;margin-bottom:1rem;font-size:.88rem;display:flex}.history-table .history-date-col,.history-table .history-date-cell{width:8.5rem;min-width:8.5rem}.history-date-cell{vertical-align:top;white-space:nowrap}.history-date-primary,.history-date-secondary{line-height:1.35;display:block}.history-date-secondary{color:var(--text-secondary);font-size:.85rem}.history-empty{text-align:center;color:var(--text-muted);padding:var(--space-8)}.history-table-footer{justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.history-count{color:var(--text-secondary);margin:0}.history-tab{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;font-size:.9rem;font-weight:500;display:flex}.history-tab:hover{color:var(--text-primary);background:var(--bg-tertiary);border-radius:var(--radius-md) var(--radius-md) 0 0}.history-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.history-tab svg{width:16px;height:16px}.tab-count{background:var(--bg-tertiary);min-width:20px;height:20px;color:var(--text-muted);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:.7rem;font-weight:600;display:inline-flex}.history-tab.active .tab-count{color:var(--primary);background:#3b82f626}.opt-history-list{gap:var(--space-4);flex-direction:column;display:flex}.opt-history-card{overflow:hidden;padding:0!important}.opt-history-header{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast);display:flex}.opt-history-header:hover{background:var(--bg-tertiary)}.opt-history-left{align-items:center;gap:var(--space-3);flex:1;min-width:0;display:flex}.opt-history-icon{border-radius:var(--radius-md);width:36px;height:36px;color:var(--primary);background:#3b82f61f;flex-shrink:0;justify-content:center;align-items:center;display:flex}.opt-history-meta{min-width:0}.opt-history-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.opt-history-subtitle{align-items:center;gap:var(--space-2);color:var(--text-muted);flex-wrap:wrap;font-size:.8rem;display:flex}.opt-history-dot{color:var(--border-default)}.opt-history-dataset{font-style:italic}.opt-history-right{align-items:center;gap:var(--space-3);flex-shrink:0;display:flex}.opt-history-stats{align-items:center;gap:var(--space-3);display:flex}.opt-stat{color:var(--text-secondary);align-items:center;gap:4px;font-size:.8rem;display:flex}.opt-stat svg{width:14px;height:14px}.opt-stat--bookmark{color:#f59e0b}.opt-stat--bookmark svg{fill:#f59e0b}.opt-history-chevron{color:var(--text-muted);transition:transform .2s}.opt-history-chevron.open{transform:rotate(180deg)}.opt-history-detail{border-top:1px solid var(--border-default);padding:var(--space-4) var(--space-5)}.opt-history-section{margin-bottom:var(--space-4)}.opt-history-section:last-child{margin-bottom:0}.opt-history-section h4{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:var(--space-2);font-size:.8rem;font-weight:600}.opt-history-chips{flex-wrap:wrap;gap:6px;display:flex}.priority-tag{text-transform:uppercase;border-radius:3px;margin-left:4px;padding:0 4px;font-size:.6rem;font-weight:600}.priority-tag.priority-high{color:#ef4444;background:#ef444426}.priority-tag.priority-medium{color:#f59e0b;background:#f59e0b26}.opt-history-actions{padding-top:var(--space-3);border-top:1px solid var(--border-default);margin-top:var(--space-4);justify-content:flex-end;display:flex}.btn-danger-subtle{color:var(--text-muted)!important}.btn-danger-subtle:hover{color:#ef4444!important;background:#ef44441a!important;border-color:#ef44444d!important}.mobile-hamburger{top:var(--space-3);left:var(--space-3);z-index:200;border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-secondary);width:44px;height:44px;color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-sm);-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;display:none;position:fixed}.sidebar-overlay{z-index:99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;display:none;position:fixed;inset:0}.sidebar-close-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin-left:auto;display:none}.sidebar-close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.sidebar-collapse-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-self:center;align-items:center;display:flex}.sidebar-collapse-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.theme-toggle--collapsed{justify-content:center}.user-profile-btn--collapsed{padding:var(--space-2);grid-template-columns:unset;justify-content:center;display:flex}.user-profile-btn--collapsed .user-info{justify-content:center;display:flex}@media (max-width:1023px) and (min-width:768px){.main-content.ant-layout-content{padding:var(--space-6);margin-left:0}.main-content:has(.sticky-workflow-header){padding-top:0}.sticky-workflow-header{margin:0 calc(-1 * var(--space-6)) var(--space-4);padding:var(--space-4) var(--space-6) var(--space-2)}.project-shell .sticky-workflow-header{padding-left:var(--space-6);padding-right:var(--space-6);margin-left:0;margin-right:0}.page-header h1{font-size:1.25rem}.opt-setup-grid,.predict-container,.comparison-layout{grid-template-columns:1fr}.chart-header,.axis-selectors{gap:var(--space-2);flex-wrap:wrap}}@media (max-width:767px){.mobile-hamburger{display:flex}.sidebar-overlay{z-index:140;display:block}.app-shell-sider.ant-layout-sider{z-index:150;top:0;bottom:0;left:0;height:100vh!important;position:fixed!important}.app-root-layout>.app-shell-inner-layout{width:100%;min-height:100vh}.app-shell-sider .ant-menu-sub .ant-menu-item{min-height:44px;line-height:44px}.sidebar-close-btn{display:flex}.app-shell-logo:not(.app-shell-logo--collapsed){padding-inline:calc(var(--space-4) + 36px)}.app-shell-logo:not(.app-shell-logo--collapsed) .sidebar-close-btn{z-index:1;inset-inline-end:var(--space-4);margin-left:0;position:absolute;top:50%;transform:translateY(-50%)}.main-content.ant-layout-content{padding:var(--space-4);height:auto;min-height:100vh;margin-left:0;padding-top:60px}.main-content:has(.sticky-workflow-header){padding-top:56px}.sticky-workflow-header{margin:0 calc(-1 * var(--space-4)) var(--space-3);padding:var(--space-3) var(--space-4) var(--space-2)}.project-shell .sticky-workflow-header{padding-left:var(--space-4);padding-right:var(--space-4);margin-left:0;margin-right:0}.page-header{margin-bottom:var(--space-4)}.page-header h1{font-size:1.125rem}.page-header .subtitle{font-size:.75rem}.workflow-stepper{padding:var(--space-2);gap:var(--space-1)}.step-name{display:none}.workflow-connector{width:16px}.step-circle{width:28px;height:28px;font-size:.7rem}.workflow-dataset-banner{gap:var(--space-2);padding:var(--space-2) var(--space-3);flex-wrap:wrap}.wf-dataset-info{gap:var(--space-2);flex-wrap:wrap}.opt-setup-grid,.predict-container,.comparison-layout,.admin-analytics-grid,.admin-stats-grid,.report-type-grid,.quick-action-grid,.module-grid{grid-template-columns:1fr!important}.data-table th,.data-table td{padding:var(--space-2) var(--space-3);white-space:nowrap;font-size:.8rem}.data-table th{font-size:.7rem}.suggestions-panel{max-height:none}.opt-generate-bar{flex-direction:column;align-items:stretch;position:relative;top:auto}.opt-generate-right{justify-content:stretch}.opt-generate-right .btn-primary{flex:1}.opt-summary-chips{max-height:48px;overflow:hidden}.chart-header{align-items:flex-start;gap:var(--space-2);flex-direction:column}.chart-actions{justify-content:flex-end;width:100%;display:flex}.axis-selectors{gap:var(--space-2);flex-direction:column;width:100%}.axis-group{width:100%}.axis-group select{flex:1;min-width:0}#targetSpacePlot{height:300px!important}.plot-legend{gap:var(--space-3);padding:var(--space-3);flex-wrap:wrap;justify-content:flex-start}.suggestions-header{flex-direction:column;align-items:flex-start}.next-step-content{text-align:center;gap:var(--space-3);flex-direction:column}.next-step-text{flex-direction:column;align-items:center}.ai-insight-content,.insight-section{padding:var(--space-3)}.predict-panel-left,.predict-panel-right{min-width:0}.feature-importance-grid,.report-type-grid{grid-template-columns:1fr!important}.report-type-card{padding:var(--space-4)}.history-toolbar-row--tabs{flex-direction:column;align-items:stretch}.history-toolbar-export{justify-content:center;width:100%;margin-left:0}.history-toolbar-group{flex:auto;width:100%}.history-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.history-summary-line{white-space:normal}.history-table-footer{flex-direction:column;align-items:stretch}.history-tab{padding:var(--space-2) var(--space-3);white-space:nowrap;font-size:.8rem}.opt-history-header{padding:var(--space-3);flex-direction:column;align-items:flex-start}.opt-history-right{justify-content:space-between;width:100%}.opt-history-detail{padding:var(--space-3)}.opt-history-title{white-space:normal}.btn-primary,.btn-secondary{min-height:44px;padding:var(--space-3) var(--space-4);font-size:.875rem}.btn-icon{min-width:44px;min-height:44px}.rank-badge{width:32px;height:32px;font-size:.8rem}.target-value-inputs input,.constraint-config .target-value-inputs input{max-width:none}.target-priority-dropdown{flex-wrap:wrap;gap:4px}.opt-cards-grid{grid-template-columns:1fr}.opt-bottom-actions{flex-direction:column;width:100%}.opt-bottom-actions .next-step-btn{justify-content:center;width:100%}.upload-zone{padding:var(--space-4)}.viz-chart-grid{grid-template-columns:1fr!important}.glass-card{padding:var(--space-4)}.column-roles-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:400px){.main-content.ant-layout-content{padding:var(--space-3);padding-top:56px}.sticky-workflow-header{margin:0 calc(-1 * var(--space-3)) var(--space-2);padding:var(--space-2) var(--space-3) var(--space-1)}.project-shell .sticky-workflow-header{padding-left:var(--space-3);padding-right:var(--space-3);margin-left:0;margin-right:0}.page-header h1{font-size:1rem}.glass-card{padding:var(--space-3);border-radius:var(--radius-md)}.opt-panel-header h2{font-size:.95rem}.section-desc{font-size:.75rem}#targetSpacePlot{height:250px!important}.opt-chip{padding:1px 6px;font-size:.65rem}.data-table th,.data-table td{padding:var(--space-1) var(--space-2);font-size:.7rem}}body:has(.landing-page){height:auto;overflow:auto}.landing-page{--lp-max-w:1440px;background:var(--bg-primary);color:var(--text-primary);width:100%;min-height:100vh}.landing-container{max-width:var(--lp-max-w);margin:0 auto;padding:0 clamp(24px,5vw,80px)}.landing-nav{z-index:50;background:linear-gradient(180deg, rgba(var(--bg-primary-rgb,255, 255, 255), .92) 0%, rgba(var(--bg-primary-rgb,255, 255, 255), .78) 60%, rgba(var(--bg-primary-rgb,255, 255, 255), .58) 100%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-default);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.landing-nav{border-bottom:1px solid color-mix(in srgb, var(--border-default) 80%, transparent)}}body.dark-theme .landing-nav{background:linear-gradient(#050a1cd6 0%,#060d228f 60%,#07102838 100%);border-bottom-color:#38bdf824}.landing-nav-inner{max-width:var(--lp-max-w);padding:var(--space-4) clamp(24px, 5vw, 80px);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.landing-logo{cursor:pointer;align-items:center;gap:0;line-height:0;text-decoration:none;display:flex}.landing-logo-img{object-fit:contain;object-position:left center;width:auto;max-width:min(76vw,17.5rem);height:auto;max-height:clamp(4rem,20vw,8rem);display:block}.landing-nav-actions{align-items:center;gap:var(--space-3);display:flex}.landing-lang-toggle{border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:4px;padding:6px 12px;font-size:.82rem;display:flex}.landing-btn-signin{background:var(--primary);color:#fff;border-radius:10px;align-items:center;gap:6px;padding:8px 20px;font-size:.88rem;font-weight:600;text-decoration:none;transition:opacity .15s;display:inline-flex}.landing-btn-signin:hover{opacity:.9}.landing-hero{background:linear-gradient(135deg,#0ea5e90f,#8b5cf60a);align-items:center;min-height:calc(100vh - 60px);padding:40px 0;display:flex}.landing-hero-inner{max-width:var(--lp-max-w);grid-template-columns:1fr 1fr;align-items:center;gap:clamp(32px,5vw,80px);width:100%;margin:0 auto;padding:0 clamp(24px,5vw,80px);display:grid}.landing-hero-text h1{margin:0 0 var(--space-4);color:var(--text-primary);font-size:clamp(2rem,3.5vw,3.2rem);font-weight:800;line-height:1.12}.landing-hero-sub{color:var(--text-secondary);margin:0 0 var(--space-6);max-width:520px;font-size:clamp(1rem,1.2vw,1.2rem);line-height:1.6}.landing-hero-ctas{gap:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.landing-btn-primary{background:var(--primary);color:#fff;border-radius:12px;align-items:center;gap:8px;padding:14px 28px;font-size:1rem;font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-flex;box-shadow:0 4px 14px #0ea5e94d}.landing-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #0ea5e966}.landing-btn-ghost{color:var(--primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:12px 20px;font-size:.95rem;font-weight:500;display:inline-flex}.hero-workflow-stepper{background:var(--bg-primary);border:1px solid var(--border-default);padding:var(--space-5) var(--space-4);border-radius:20px;box-shadow:0 8px 30px #00000014}.hero-workflow-label{text-align:center;text-transform:uppercase;letter-spacing:.08em;color:var(--primary);margin-bottom:var(--space-5);font-size:.85rem;font-weight:700}.hero-workflow-steps{justify-content:center;align-items:flex-start;gap:0;display:flex}.hero-step-wrapper{align-items:center;display:flex}.hero-step{flex-direction:column;align-items:center;gap:10px;min-width:72px;transition:transform .3s;display:flex;position:relative}.hero-step-icon{background:var(--bg-secondary);border:2px solid var(--border);width:52px;height:52px;color:var(--text-secondary);border-radius:14px;justify-content:center;align-items:center;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex}.hero-step-icon svg{width:24px;height:24px}.hero-step-label{color:var(--text-secondary);text-align:center;white-space:nowrap;font-size:.75rem;font-weight:600;transition:color .3s}.hero-step.active{transform:translateY(-4px)}.hero-step.active .hero-step-icon{background:var(--step-color);border-color:var(--step-color);color:#fff;box-shadow:0 0 0 6px var(--step-color), 0 4px 16px var(--step-color)}@supports (color:color-mix(in lab, red, red)){.hero-step.active .hero-step-icon{box-shadow:0 0 0 6px color-mix(in srgb, var(--step-color) 20%, transparent), 0 4px 16px color-mix(in srgb, var(--step-color) 35%, transparent)}}.hero-step.active .hero-step-icon{animation:2s ease-in-out infinite stepPulse}.hero-step.active .hero-step-label{color:var(--text-primary);font-weight:700}.hero-step.done .hero-step-icon{background:var(--step-color)}@supports (color:color-mix(in lab, red, red)){.hero-step.done .hero-step-icon{background:color-mix(in srgb, var(--step-color) 15%, var(--bg-secondary))}}.hero-step.done .hero-step-icon{border-color:var(--step-color);color:var(--step-color)}.hero-step.done .hero-step-label{color:var(--text-primary)}.hero-step-connector{background:var(--border);border-radius:1px;width:28px;height:2px;margin:0 4px 24px;transition:background .4s}.hero-step-connector.done{background:var(--primary)}@keyframes stepPulse{0%,to{box-shadow:0 0 0 6px color-mix(in srgb, var(--step-color) 20%, transparent), 0 4px 16px color-mix(in srgb, var(--step-color) 35%, transparent)}50%{box-shadow:0 0 0 10px color-mix(in srgb, var(--step-color) 10%, transparent), 0 4px 20px color-mix(in srgb, var(--step-color) 25%, transparent)}}.hero-workflow-caption{text-align:center;color:var(--text-secondary);margin-top:var(--space-4);font-size:.8rem}.landing-section{opacity:0;padding:60px 0;transition:opacity .5s ease-out,transform .5s ease-out;transform:translateY(20px)}.landing-section.visible{opacity:1;transform:translateY(0)}.landing-section-title{text-align:center;margin:0 0 var(--space-3);font-size:1.8rem;font-weight:700}.landing-section-sub{text-align:center;color:var(--text-secondary);margin:0 0 var(--space-6);font-size:1.05rem}.pain-grid{gap:var(--space-4);margin-bottom:var(--space-8);flex-direction:column;display:flex}.pain-row{align-items:center;gap:var(--space-4);display:flex}.pain-before,.pain-after{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:12px;flex:1;display:flex}.pain-before{background:#ef44440f;border:1px solid #ef444426}.pain-after{background:#10b9810f;border:1px solid #10b98126}.pain-icon{color:#ef4444;background:#ef444426;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.8rem;font-weight:700;display:flex}.pain-icon.solution{color:#10b981;background:#10b98126}.pain-row p{color:var(--text-primary);margin:0;font-size:.92rem}.pain-arrow{width:20px;height:20px;color:var(--primary);flex-shrink:0}.compare-table-wrap{border:1px solid var(--border-default);border-radius:12px;overflow-x:auto}.compare-table{border-collapse:collapse;width:100%;font-size:.88rem}.compare-table th{text-align:left;background:var(--bg-secondary);border-bottom:2px solid var(--border);padding:12px 16px;font-weight:600}.compare-table th.highlight-col{color:var(--primary)}.compare-table td{border-bottom:1px solid var(--border);padding:10px 16px}.feature-cell{font-weight:500}.commercial-cell{color:var(--text-secondary)}.aibrain-cell.highlight{color:var(--primary);font-weight:600}.workflow-demo-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-3);text-align:center;font-size:.82rem;font-weight:600}.workflow-diagram{justify-content:center;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.wf-box{padding:var(--space-4);border:2px solid var(--border);background:var(--bg-primary);text-align:center;border-radius:12px;min-width:130px;transition:transform .15s,box-shadow .15s;position:relative}.wf-box:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.wf-box.wf-input{background:#3b82f60a;border-color:#3b82f6}.wf-box.wf-model{background:#10b9810a;border-color:#10b981}.wf-box.wf-output{background:#f59e0b0a;border-color:#f59e0b}.wf-box.wf-mid{background:#8b5cf60a;border-color:#8b5cf6}.wf-box.phase2{opacity:.7;border-style:dashed;border-color:#8b5cf6}.wf-box-icon{margin-bottom:4px;font-size:1.5rem}.wf-box-title{margin-bottom:4px;font-size:.9rem;font-weight:600}.wf-box-detail{color:var(--text-secondary);font-size:.78rem}.wf-badge{border-radius:10px;align-items:center;gap:4px;margin-top:6px;padding:2px 8px;font-size:.68rem;font-weight:600;display:inline-flex}.wf-badge.available{color:#059669;background:#10b9811f}.wf-badge.phase2{color:#7c3aed;background:#8b5cf61f;border:1px dashed #8b5cf6}.wf-arrow{color:var(--text-muted);flex-shrink:0}.wf-arrow svg{width:24px;height:24px}.workflow-explanation{max-width:700px;margin:var(--space-6) auto 0;text-align:center}.workflow-explanation p{color:var(--text-secondary);margin:0 0 var(--space-3);font-size:.92rem;line-height:1.6}.landing-capabilities{padding:clamp(40px,6vw,80px) 0}.landing-section-title{font-size:clamp(1.5rem,2.5vw,2rem)}.capabilities-grid{gap:var(--space-5);grid-template-columns:repeat(4,1fr);display:grid}.cap-card{padding:var(--space-5);text-align:center}.cap-icon{margin-bottom:var(--space-3)}.cap-icon svg{width:36px;height:36px}.cap-card h3{margin:0 0 var(--space-2);font-size:1.1rem}.cap-card p{color:var(--text-secondary);margin:0;font-size:.88rem;line-height:1.5}.groups-list{gap:var(--space-4);flex-direction:column;max-width:800px;margin:0 auto;display:flex}.group-row{padding:var(--space-4) var(--space-5)}.group-header{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.group-header h3{margin:0;font-size:1rem}.group-chain-label{color:var(--text-secondary);background:var(--bg-secondary);border-radius:6px;padding:3px 10px;font-family:monospace;font-size:.82rem;font-weight:500}.group-quote{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:.88rem;font-style:italic}.trust-grid{gap:var(--space-6);text-align:center;grid-template-columns:repeat(3,1fr);display:grid}.trust-card{padding:var(--space-5)}.trust-number{color:var(--primary);margin:var(--space-3) 0 var(--space-1);font-size:2.5rem;font-weight:800}.trust-label{margin-bottom:4px;font-size:1rem;font-weight:600}.trust-detail{color:var(--text-secondary);font-size:.85rem}.landing-final-cta{background:linear-gradient(135deg,#0ea5e90f,#8b5cf60a);padding:clamp(40px,6vw,80px) 0}.landing-final-cta h2{margin:0 0 var(--space-3);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700}.landing-final-cta p{color:var(--text-secondary);margin:0;font-size:1.05rem}.landing-contact{margin-top:var(--space-4)!important;color:var(--text-muted)!important;font-size:.85rem!important}.landing-footer{padding:var(--space-5);text-align:center;border-top:1px solid var(--border)}.landing-footer p{color:var(--text-muted);margin:0;font-size:.78rem}@media (max-width:1023px){.landing-hero{min-height:auto;padding:40px 0}.landing-hero-inner{grid-template-columns:1fr}.landing-hero-visual{max-width:500px;margin:0 auto}.hero-step-icon{width:46px;height:46px}.hero-step-connector{width:20px}.capabilities-grid{grid-template-columns:repeat(2,1fr)}.trust-grid{gap:var(--space-4);grid-template-columns:repeat(3,1fr)}}@media (max-width:767px){.landing-hero{padding:40px 0 30px}.landing-hero-text h1{font-size:1.7rem}.landing-hero-sub{font-size:.95rem}.landing-hero-ctas{flex-direction:column;width:100%}.hero-workflow-steps{flex-wrap:wrap;justify-content:center;gap:8px 0}.hero-step{min-width:60px}.hero-step-icon{border-radius:12px;width:42px;height:42px}.hero-step-icon svg{width:20px;height:20px}.hero-step-connector{width:16px}.hero-step-label{font-size:.68rem}.landing-section{padding:50px 0}.landing-section-title{font-size:1.4rem}.landing-section-sub{font-size:.9rem}.landing-final-cta{padding:50px 0}.landing-final-cta h2{font-size:1.4rem}.pain-row{flex-direction:column}.pain-arrow{transform:rotate(90deg)}.pain-before,.pain-after{padding:var(--space-3)}.workflow-diagram{flex-direction:column}.workflow-diagram.chained{gap:var(--space-2)}.wf-arrow svg{transform:rotate(90deg)}.wf-box{min-width:unset;width:100%;max-width:280px}.capabilities-grid{gap:var(--space-3);grid-template-columns:1fr}.trust-grid{gap:var(--space-4);grid-template-columns:1fr}.trust-number{font-size:2rem}.landing-btn-primary,.landing-btn-ghost{justify-content:center;width:100%}.group-header{flex-direction:column;align-items:flex-start}.compare-table{font-size:.78rem}.compare-table th,.compare-table td{padding:8px 10px}.landing-nav-inner{padding:var(--space-2) var(--space-3)}.landing-btn-signin{padding:6px 14px;font-size:.8rem}.landing-container{padding:0 var(--space-3)}}.project-shell{gap:var(--space-5);flex-direction:column;width:100%;display:flex}.project-shell-header{padding:var(--space-4) var(--space-5);margin-bottom:0}.project-shell-header.glass-card{padding:0;overflow:hidden}.project-shell-header-inner{padding:var(--space-5) var(--space-6) var(--space-4)}.project-shell-breadcrumb.ant-breadcrumb{font-size:.82rem;line-height:1.4}.project-shell-breadcrumb.ant-breadcrumb .ant-breadcrumb-separator{color:var(--text-muted);margin-inline:6px}.project-shell-breadcrumb.ant-breadcrumb .ant-breadcrumb-link{color:var(--text-primary)}.project-shell-breadcrumb.ant-breadcrumb a.project-breadcrumb-link{color:var(--primary);font-weight:500}.project-shell-breadcrumb.ant-breadcrumb .project-breadcrumb-current{color:var(--text-primary);font-weight:500}.project-shell-header.ant-card .ant-divider-horizontal{border-color:var(--border-default)}.project-shell-header .ant-typography-secondary{color:var(--text-secondary)!important}.project-shell-tabs-inner.ant-tabs .ant-tabs-tab{padding:12px 0;font-size:.9375rem;font-weight:500;color:var(--text-secondary)!important}.project-shell-tabs-inner.ant-tabs .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--text-primary)!important}.project-shell-tabs-inner .ant-tabs-ink-bar{border-radius:3px 3px 0 0;height:3px;background:var(--primary)!important}.project-shell-tabs-wrap{padding-bottom:var(--space-1)}.project-shell-icon-wrap{border-radius:var(--radius-lg);background:var(--primary);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}@supports (color:color-mix(in lab, red, red)){.project-shell-icon-wrap{background:color-mix(in srgb, var(--primary) 9%, transparent)}}.project-shell-icon-wrap{border:1px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.project-shell-icon-wrap{border:1px solid color-mix(in srgb, var(--primary) 16%, transparent)}}.project-shell-icon-wrap{box-shadow:0 1px 2px var(--primary)}@supports (color:color-mix(in lab, red, red)){.project-shell-icon-wrap{box-shadow:0 1px 2px color-mix(in srgb, var(--primary) 8%, transparent)}}.project-shell-tabs-inner .ant-tabs-nav{margin-bottom:0}.project-shell-tabs-inner .ant-tabs-nav:before{border-bottom:none}.project-breadcrumb{margin-bottom:var(--space-3);color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:6px;font-size:.82rem;display:flex}.project-breadcrumb-link{color:var(--primary);font-weight:500;text-decoration:none}.project-breadcrumb-link:hover{text-decoration:underline}.project-breadcrumb-sep{color:var(--text-muted);-webkit-user-select:none;user-select:none}.project-breadcrumb-current{color:var(--text-primary);word-break:break-word;min-width:0;font-weight:500}.project-back-link{color:var(--text-secondary);border:1px solid #0000;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;margin:-6px 0 -6px -6px;padding:6px 10px;font-size:.85rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.project-back-link:hover{color:var(--text-primary);background:var(--bg-secondary);border-color:var(--border)}.project-shell-title-row{align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.project-shell-title-block{flex:1;min-width:0}.project-shell-name{letter-spacing:-.02em;color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:600;line-height:1.3}.project-shell-title-block h3.project-shell-name.ant-typography{margin-top:0!important;margin-bottom:0!important;font-size:1.25rem!important}.project-shell-meta{align-items:center;gap:var(--space-2);color:var(--text-secondary);flex-wrap:wrap;margin-top:4px;font-size:.82rem;display:flex}.project-shell-group{opacity:.9}.project-shell-tabs{border-top:1px solid var(--border);padding-top:var(--space-3);flex-wrap:wrap;gap:6px;display:flex}.project-tab{color:var(--text-secondary);border:1px solid #0000;border-radius:8px;padding:8px 16px;font-size:.85rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s,border-color .15s}.project-tab:hover{color:var(--text-primary);background:var(--bg-secondary)}.project-tab--active{color:var(--primary);background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.project-tab--active{background:color-mix(in srgb, var(--primary) 12%, transparent)}}.project-tab--active{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.project-tab--active{border-color:color-mix(in srgb, var(--primary) 35%, transparent)}}.project-shell-body{min-height:40vh}.project-shell .sticky-workflow-header{padding-left:var(--space-6);padding-right:var(--space-6);margin-left:0;margin-right:0}.dash-summary-grid{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.dash-stat-card{padding:var(--space-4);background:var(--bg-secondary);border-radius:10px}.dash-stat-value{color:var(--text-primary);margin-bottom:4px;font-size:1.35rem;font-weight:700;line-height:1.2;display:block}.dash-stat-label{color:var(--text-secondary);word-break:break-word;font-size:.78rem;line-height:1.35;display:block}.dash-quick-row{margin-bottom:var(--space-4);flex-wrap:wrap;gap:10px;display:flex}.dash-section-title{margin:0 0 var(--space-3);align-items:center;gap:8px;font-size:.95rem;font-weight:600;display:flex}.dash-preview-block{margin-bottom:var(--space-5)}.fi-bar-legend-label--negative{color:var(--fi-negative)}.fi-bar-legend-label--positive{color:var(--fi-positive)}.fi-bar-legend-label--neutral{font-variant-numeric:tabular-nums;color:var(--fi-neutral);font-weight:600}.fi-bar-legend-divider{opacity:.45;color:var(--fi-neutral)}.fi-bar-center-line{background:var(--fi-neutral);opacity:.5;pointer-events:none;width:1px;position:absolute;top:-1px;bottom:-1px;left:50%;transform:translate(-50%)}.fi-bar-fill{height:100%;transition:width .2s ease, background-color var(--transition-fast);position:absolute;top:0}.fi-bar-fill--positive{background:var(--fi-positive)}.fi-bar-fill--negative{background:var(--fi-negative)}.fi-bar-row:hover .fi-bar-fill--positive{background:var(--fi-positive-hover)}.fi-bar-row:hover .fi-bar-fill--negative{background:var(--fi-negative-hover)}nextjs-portal{display:none}@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-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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}
