@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";@import"https://fonts.googleapis.com/css2?family=Google+Sans:wght@400;500;700&display=swap";:root{--color-primary: #141415;--color-primary-light: #827E7C;--color-primary-dark: #000000;--color-accent: #141415;--color-accent-light: #827E7C;--color-accent-dark: #141415;--color-white: #ffffff;--color-black: #141415;--color-gray-50: #ffffff;--color-gray-100: #DDDBDA;--color-gray-200: #B5B3B1;--color-gray-300: #827E7C;--color-gray-400: #827E7C;--color-gray-500: #827E7C;--color-gray-600: #141415;--color-gray-700: #141415;--color-gray-800: #141415;--color-gray-900: #141415;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #3b82f6;--color-bg-primary: var(--color-white);--color-bg-secondary: var(--color-gray-50);--color-bg-tertiary: var(--color-gray-100);--color-text-primary: #141415;--color-text-secondary: #827E7C;--color-text-tertiary: #B5B3B1;--color-text-inverse: #ffffff;--color-border-default: #B5B3B1;--color-border-light: #DDDBDA;--color-border-dark: #827E7C;--gradient-primary: linear-gradient(90deg, #141415 0%, #827E7C 100%);--gradient-bar: linear-gradient(90deg, #141415 0%, #827E7C 100%);--font-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-mono: "JetBrains Mono", "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--spacing-0: 0;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--radius-none: 0;--radius-sm: 2px;--radius-default: 5px;--radius-md: 8px;--radius-lg: 15px;--radius-xl: 25px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-default: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--z-base: 0;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--transition-fast: .15s ease-in-out;--transition-base: .25s ease-in-out;--transition-slow: .35s ease-in-out}@font-face{font-family:Domaine Display Narrow;font-weight:400;font-style:normal;src:local("Domaine Display Narrow"),local("DomaineDisplayNarrow")}@font-face{font-family:Domaine Text;font-weight:400;font-style:normal;src:local("Domaine Text"),local("DomaineText")}@font-face{font-family:"DIN 1451 Std";font-weight:400;font-style:normal;src:local("DIN 1451 Std"),local("DIN1451Std")}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;line-height:1.6;font-weight:400;color-scheme:light;color:#141415;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}a{font-weight:500;color:#2563eb;text-decoration:none}a:hover{color:#1d4ed8;text-decoration:underline}h1,h2,h3,h4,h5,h6{margin:0;line-height:1.3}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1rem}p{margin:0 0 1rem}p:last-child{margin-bottom:0}ul,ol{margin:0 0 1rem;padding-left:1.5rem}li{margin-bottom:.25rem}code{font-family:JetBrains Mono,Fira Code,SF Mono,monospace;font-size:.875em;background:#1f293314;padding:.125rem .375rem;border-radius:3px}pre{margin:0}pre code{background:none;padding:0}button{border-radius:6px;border:1px solid #d4d9e2;padding:.5rem 1rem;font-size:.875rem;font-weight:500;font-family:inherit;background-color:#f0f2f5;color:#1f2933;cursor:pointer;transition:all .15s ease}button:hover{border-color:#2563eb;background-color:#e7ebf0}button:focus,button:focus-visible{outline:2px solid #2563eb;outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}table{border-collapse:collapse;width:100%}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f0f2f5}::-webkit-scrollbar-thumb{background:#cbd2dc;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#b5bcc7}::selection{background:#2563eb33}:focus-visible{outline:2px solid #2563eb;outline-offset:2px}:root{--color-bg-primary: #f6f7f9;--color-bg-secondary: #ffffff;--color-bg-tertiary: #f0f2f5;--color-bg-hover: #eef2f6;--color-text-primary: #1f2933;--color-text-secondary: #4b5563;--color-text-muted: #8a93a3;--color-accent-green: #1f7a3e;--color-accent-amber: #b45309;--color-accent-blue: #2563eb;--color-accent-red: #b91c1c;--color-accent-purple: #7c3aed;--color-accent-cyan: #0891b2;--color-border: #e2e6ee;--color-border-focus: #2563eb;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", "Consolas", monospace;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px}#root{max-width:1400px;margin:0 auto;padding:var(--spacing-lg);text-align:left;min-height:100vh;display:flex;flex-direction:column}.dashboard{display:flex;flex-direction:column;gap:var(--spacing-lg);flex:1}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-lg)}.dashboard-header h1{font-family:var(--font-sans);font-size:1.75rem;font-weight:600;color:var(--color-text-primary);margin:0;display:flex;align-items:center;gap:var(--spacing-sm)}.dashboard-header h1:before{content:"✓";color:var(--color-accent-blue);font-family:var(--font-mono)}.dashboard-subtitle{color:var(--color-text-secondary);font-size:.875rem;margin-top:var(--spacing-xs)}.dashboard-meta{text-align:right;font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted)}.dashboard-meta span{display:block}.validation-banner{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);padding:var(--spacing-md)}.validation-banner-title{font-family:var(--font-sans);font-size:.875rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.validation-banner-text{margin:0;font-size:.8125rem;color:var(--color-text-secondary)}.tabs{display:flex;gap:var(--spacing-xs);border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-xs)}.tab{padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:var(--color-text-secondary);font-family:var(--font-sans);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;position:relative}.tab:hover{color:var(--color-text-primary);background:var(--color-bg-tertiary)}.tab.active{color:var(--color-accent-blue);background:var(--color-bg-tertiary)}.tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--color-accent-blue)}.panel{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;box-shadow:0 1px 2px #0f172a0f}.panel-header{padding:var(--spacing-md);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.panel-title{font-family:var(--font-sans);font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0}.panel-body{padding:var(--spacing-md)}.rule-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.rule-card{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;transition:border-color .15s ease}.rule-card:hover{border-color:var(--color-border-focus)}.rule-card-header{padding:var(--spacing-md);cursor:pointer;display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md)}.rule-card-header:hover{background:var(--color-bg-hover)}.rule-card-main{flex:1}.rule-card-title{font-family:var(--font-sans);font-size:.9375rem;font-weight:500;color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0;display:flex;align-items:center;gap:var(--spacing-sm)}.rule-card-id{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted)}.rule-card-meta{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;margin-top:var(--spacing-xs)}.rule-card-body{padding:var(--spacing-md);border-top:1px solid var(--color-border);background:var(--color-bg-primary)}.rule-card-expand{color:var(--color-text-muted);font-size:.75rem;transition:transform .2s ease}.rule-card-expand.expanded{transform:rotate(180deg)}.badge{display:inline-flex;align-items:center;padding:.125rem .5rem;font-family:var(--font-mono);font-size:.6875rem;font-weight:500;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.025em}.badge-type{background:#61afef26;color:var(--color-accent-blue);border:1px solid rgba(97,175,239,.3)}.badge-category{background:#98c37926;color:var(--color-accent-green);border:1px solid rgba(152,195,121,.3)}.badge-system{background:#c678dd26;color:var(--color-accent-purple);border:1px solid rgba(198,120,221,.3)}.badge-priority-high{background:#e06c7526;color:var(--color-accent-red);border:1px solid rgba(224,108,117,.3)}.badge-priority-medium{background:#e5c07b26;color:var(--color-accent-amber);border:1px solid rgba(229,192,123,.3)}.badge-priority-low{background:#56b6c226;color:var(--color-accent-cyan);border:1px solid rgba(86,182,194,.3)}.rule-section{margin-bottom:var(--spacing-md)}.rule-section:last-child{margin-bottom:0}.rule-section-title{font-family:var(--font-mono);font-size:.6875rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-xs)}.rule-expression{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-mono);font-size:.8125rem;color:var(--color-accent-amber);overflow-x:auto}.rule-message{color:var(--color-text-primary);font-size:.875rem;font-style:italic}.rule-suggestions{display:flex;flex-direction:column;gap:var(--spacing-xs)}.rule-suggestion{display:flex;align-items:flex-start;gap:var(--spacing-sm);font-size:.8125rem;color:var(--color-text-secondary)}.rule-source{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted)}.rule-source a{color:var(--color-accent-blue);text-decoration:none}.rule-source a:hover{text-decoration:underline}.table-container{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:.8125rem}.data-table th,.data-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.data-table th{background:var(--color-bg-tertiary);color:var(--color-text-secondary);font-weight:600;text-transform:uppercase;font-size:.6875rem;letter-spacing:.05em;white-space:nowrap}.data-table td{color:var(--color-text-primary)}.data-table tr:hover td{background:var(--color-bg-hover)}.data-table td.number{text-align:right;color:var(--color-accent-amber)}.data-table td.boolean-true{color:var(--color-accent-green)}.data-table td.boolean-false{color:var(--color-text-muted)}.table-selector{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;margin-bottom:var(--spacing-md)}.table-selector-btn{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-family:var(--font-sans);font-size:.8125rem;cursor:pointer;transition:all .15s ease}.table-selector-btn:hover{border-color:var(--color-border-focus);color:var(--color-text-primary)}.table-selector-btn.active{border-color:var(--color-accent-blue);background:#2563eb14;color:var(--color-accent-blue)}.category-section{margin-bottom:var(--spacing-lg)}.category-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);cursor:pointer;padding:var(--spacing-sm);margin-left:calc(var(--spacing-sm) * -1);border-radius:var(--radius-sm)}.category-header:hover{background:var(--color-bg-tertiary)}.category-title{font-family:var(--font-sans);font-size:.875rem;font-weight:600;color:var(--color-text-primary);margin:0}.category-count{font-family:var(--font-mono);font-size:.6875rem;color:var(--color-text-muted);background:var(--color-bg-tertiary);padding:.125rem .375rem;border-radius:var(--radius-sm)}.category-toggle{color:var(--color-text-muted);font-size:.75rem;transition:transform .2s ease}.category-toggle.collapsed{transform:rotate(-90deg)}.loading{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);color:var(--color-text-muted);font-family:var(--font-mono);font-size:.875rem}.loading:before{content:"⟳";margin-right:var(--spacing-sm);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--color-text-muted)}.stats-row{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.stat-card{flex:1;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);box-shadow:0 1px 2px #0f172a0f}.stat-value{font-family:var(--font-mono);font-size:1.5rem;font-weight:600;color:var(--color-accent-green)}.stat-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:var(--spacing-xs)}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}@media(max-width:900px){.two-column{grid-template-columns:1fr}}.mono{font-family:var(--font-mono)}.muted{color:var(--color-text-muted)}.text-green{color:var(--color-accent-green)}.text-amber{color:var(--color-accent-amber)}.mt-md{margin-top:var(--spacing-md)}.mb-md{margin-bottom:var(--spacing-md)}.config-playground{display:flex;flex-direction:column;gap:var(--spacing-md)}.playground-column-label{margin-bottom:var(--spacing-md)}.column-title{font-family:var(--font-sans);font-size:.875rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.column-helper{margin:0;font-size:.75rem;color:var(--color-text-secondary)}.example-loader{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md)}.example-label{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.example-buttons{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.example-btn{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-family:var(--font-mono);font-size:.75rem;cursor:pointer;transition:all .15s ease}.example-btn:hover{border-color:var(--color-accent-blue);color:var(--color-text-primary)}.example-btn.reset{border-color:var(--color-accent-red);color:var(--color-accent-red)}.example-btn.reset:hover{background:#e06c751a}.playground-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);min-height:600px}@media(max-width:1000px){.playground-layout{grid-template-columns:1fr}}.playground-left,.playground-right{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);overflow-y:auto;max-height:70vh;box-shadow:0 1px 2px #0f172a0f}.compact-config-builder{display:flex;flex-direction:column;gap:var(--spacing-md)}.workflow-intro{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-tertiary);padding:var(--spacing-md)}.workflow-title{font-family:var(--font-sans);font-size:.875rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.workflow-steps{margin:0;padding-left:1.25rem;font-size:.75rem;color:var(--color-text-secondary)}.workflow-steps li{margin-bottom:.25rem}.workflow-steps li:last-child{margin-bottom:0}.workflow-note{margin-top:var(--spacing-sm);font-size:.75rem;color:var(--color-text-muted)}.config-section{border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-md)}.config-section:last-child{border-bottom:none;padding-bottom:0}.section-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.section-title{font-family:var(--font-mono);font-size:.6875rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.section-help{margin:0 0 var(--spacing-sm) 0;font-size:.75rem;color:var(--color-text-secondary)}.section-meta{font-family:var(--font-mono);font-size:.75rem;color:var(--color-accent-amber)}.config-row{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.config-label{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-secondary);width:60px;flex-shrink:0}.config-select{flex:1;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-family:var(--font-mono);font-size:.75rem;cursor:pointer}.config-select:focus{outline:none;border-color:var(--color-border-focus)}.pressure-buttons{display:flex;align-items:center;gap:var(--spacing-xs)}.pressure-btn{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-family:var(--font-mono);font-size:.75rem;cursor:pointer;transition:all .15s ease;min-width:36px}.pressure-btn:hover{border-color:var(--color-border-focus)}.pressure-btn.active{background:var(--color-accent-blue);border-color:var(--color-accent-blue);color:var(--color-bg-primary)}.pressure-unit{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted)}.preset-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.preset-btn{display:flex;flex-direction:column;padding:var(--spacing-sm);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;text-align:left}.preset-btn:hover{border-color:var(--color-accent-blue);background:var(--color-bg-hover)}.preset-name{font-family:var(--font-sans);font-size:.75rem;color:var(--color-text-primary)}.preset-flow{font-family:var(--font-mono);font-size:.6875rem;color:var(--color-text-muted)}.component-add-section{margin-bottom:var(--spacing-sm)}.browse-catalog-btn{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-accent-blue);border:none;border-radius:var(--radius-sm);color:#fff;font-family:var(--font-sans);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s ease}.browse-catalog-btn:hover:not(:disabled){background:var(--color-accent-blue-hover, #2563eb)}.browse-catalog-btn:disabled{background:var(--color-bg-tertiary);color:var(--color-text-muted);cursor:not-allowed}.component-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.component-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.component-info{display:flex;flex-direction:column;flex:1;min-width:0;overflow:hidden}.component-name{font-family:var(--font-sans);font-size:.75rem;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.component-sku{font-family:var(--font-mono);font-size:.625rem;color:var(--color-text-muted)}.component-finish{font-family:var(--font-sans);font-size:.625rem;color:var(--color-accent-amber);font-weight:500}.component-pricing{display:flex;flex-direction:column;align-items:flex-end;margin-right:var(--spacing-sm)}.component-unit-price{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-secondary)}.component-controls{display:flex;align-items:center;gap:var(--spacing-xs)}.qty-btn{width:20px;height:20px;padding:0;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:3px;color:var(--color-text-secondary);font-size:.875rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.qty-btn:hover:not(:disabled){border-color:var(--color-border-focus);color:var(--color-text-primary)}.qty-btn:disabled{opacity:.5;cursor:not-allowed}.qty-value{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-primary);min-width:16px;text-align:center}.component-flow{font-family:var(--font-mono);font-size:.6875rem;color:var(--color-accent-amber);min-width:32px;text-align:right}.remove-btn{width:20px;height:20px;padding:0;background:transparent;border:none;color:var(--color-accent-red);font-size:1rem;cursor:pointer;opacity:.6}.remove-btn:hover{opacity:1}.clear-btn{padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:1px solid var(--color-accent-red);border-radius:var(--radius-sm);color:var(--color-accent-red);font-family:var(--font-mono);font-size:.625rem;cursor:pointer;text-transform:uppercase}.clear-btn:hover{background:#e06c751a}.controls-subsection{margin-top:var(--spacing-sm)}.add-control-btn{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-tertiary);border:1px solid var(--color-accent-blue);border-radius:var(--radius-sm);color:var(--color-accent-blue);font-family:var(--font-mono);font-size:.6875rem;cursor:pointer}.add-control-btn:hover:not(:disabled){background:#2563eb14}.add-control-btn:disabled{opacity:.5;cursor:not-allowed}.assignment-matrix{margin-top:var(--spacing-sm);overflow-x:auto}.assignment-matrix.compact{font-size:.75rem}.matrix-header{display:flex;align-items:center;gap:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-xs)}.matrix-label{font-family:var(--font-mono);font-size:.6875rem;color:var(--color-text-muted);min-width:80px}.matrix-col-header{font-family:var(--font-mono);font-size:.6875rem;color:var(--color-accent-cyan);min-width:36px;text-align:center;display:flex;align-items:center;gap:2px}.remove-col-btn{background:transparent;border:none;color:var(--color-accent-red);font-size:.75rem;cursor:pointer;padding:0;line-height:1;opacity:.5}.remove-col-btn:hover{opacity:1}.matrix-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0}.matrix-row-label{font-family:var(--font-mono);font-size:.6875rem;color:var(--color-text-secondary);min-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.matrix-cell{min-width:36px;display:flex;justify-content:center}.matrix-cell input[type=checkbox]{cursor:pointer;accent-color:var(--color-accent-green)}.rule-firing-panel{display:flex;flex-direction:column;gap:var(--spacing-md)}.rule-firing-panel .status-banner{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-family:var(--font-mono)}.status-banner.status-ok{background:#98c37926;border:1px solid rgba(152,195,121,.3)}.status-banner.status-warn{background:#e5c07b26;border:1px solid rgba(229,192,123,.3)}.status-banner.status-fail{background:#e06c7526;border:1px solid rgba(224,108,117,.3)}.status-icon{font-size:1rem}.status-banner.status-ok .status-icon,.status-banner.status-ok .status-text{color:var(--color-accent-green)}.status-banner.status-warn .status-icon,.status-banner.status-warn .status-text{color:var(--color-accent-amber)}.status-banner.status-fail .status-icon,.status-banner.status-fail .status-text{color:var(--color-accent-red)}.status-label{font-family:var(--font-mono);font-size:.625rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.status-text{font-weight:600;font-size:.875rem}.status-meta{color:var(--color-text-muted);font-size:.75rem;margin-left:auto}.validation-hint{margin:0;font-size:.75rem;color:var(--color-text-secondary)}.flow-info{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-sm)}.flow-stat{display:flex;justify-content:space-between;align-items:center}.flow-label{font-family:var(--font-mono);font-size:.6875rem;color:var(--color-text-muted);text-transform:uppercase}.flow-value{font-family:var(--font-mono);font-size:1rem;color:var(--color-accent-amber);font-weight:600}.flow-breakdown{margin-top:var(--spacing-sm)}.flow-breakdown summary{font-family:var(--font-mono);font-size:.6875rem;color:var(--color-accent-blue);cursor:pointer}.flow-breakdown ul{margin:var(--spacing-xs) 0 0 0;padding-left:var(--spacing-md);font-family:var(--font-mono);font-size:.6875rem;color:var(--color-text-secondary);list-style:none}.flow-breakdown li:before{content:"→";margin-right:var(--spacing-xs);color:var(--color-text-muted)}.rule-stats{display:flex;gap:var(--spacing-sm)}.rule-stats .stat{flex:1;text-align:center;padding:var(--spacing-sm);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.rule-stats .stat-value{font-family:var(--font-mono);font-size:1.25rem;font-weight:600}.rule-stats .stat-label{font-family:var(--font-mono);font-size:.625rem;color:var(--color-text-muted);text-transform:uppercase;margin-top:2px}.rule-stats .stat.pass .stat-value{color:var(--color-accent-green)}.rule-stats .stat.fail .stat-value{color:var(--color-accent-red)}.rule-stats .stat.na .stat-value{color:var(--color-text-muted)}.messages-summary{display:flex;flex-direction:column;gap:var(--spacing-xs)}.messages-summary .message{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.6875rem}.messages-summary .message.error{background:#e06c751a;border:1px solid rgba(224,108,117,.3);color:var(--color-accent-red)}.messages-summary .message.warning{background:#e5c07b1a;border:1px solid rgba(229,192,123,.3);color:var(--color-accent-amber)}.rules-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.rules-header{font-family:var(--font-mono);font-size:.6875rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-xs)}.rules-hint{margin:0 0 var(--spacing-sm) 0;font-size:.75rem;color:var(--color-text-secondary)}.rule-item{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.rule-item:hover{border-color:var(--color-border-focus)}.rule-item.status-pass{border-left:3px solid var(--color-accent-green)}.rule-item.status-fail{border-left:3px solid var(--color-accent-red)}.rule-item.status-na{border-left:3px solid var(--color-text-muted)}.rule-item.status-warn{border-left:3px solid var(--color-accent-amber)}.rule-item.status-pass{background:#1f7a3e0d}.rule-item.status-fail{background:#b91c1c0f}.rule-item.status-warn{background:#b453090f}.rule-item.status-na{background:#8a93a30a}.rule-item .rule-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)}.rule-status-icon{font-size:.75rem}.rule-item.status-pass .rule-status-icon{color:var(--color-accent-green)}.rule-item.status-fail .rule-status-icon{color:var(--color-accent-red)}.rule-item.status-na .rule-status-icon{color:var(--color-text-muted)}.rule-item.status-warn .rule-status-icon{color:var(--color-accent-amber)}.rule-item .rule-name{flex:1;font-family:var(--font-sans);font-size:.75rem;color:var(--color-text-primary)}.rule-link{background:transparent;border:none;color:var(--color-accent-blue);font-size:.875rem;cursor:pointer;padding:0;opacity:.6}.rule-link:hover{opacity:1}.rule-details{padding:var(--spacing-sm);border-top:1px solid var(--color-border);background:var(--color-bg-primary)}.rule-details .rule-message{font-family:var(--font-mono);font-size:.6875rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.checks-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.check-item{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-secondary);border-radius:3px;font-family:var(--font-mono);font-size:.6875rem;gap:var(--spacing-sm)}.check-item.passed{color:var(--color-accent-green)}.check-item.failed{color:var(--color-accent-red)}.check-item.warning{color:var(--color-accent-amber)}.checks-explanation{font-family:var(--font-sans);font-size:.6875rem;color:var(--color-text-muted);padding:var(--spacing-xs) var(--spacing-sm);margin-bottom:var(--spacing-xs);background:var(--color-bg-tertiary);border-radius:3px;border-left:2px solid var(--color-accent-blue)}.check-desc{color:var(--color-text-secondary);flex:1}.check-warning-msg{display:block;font-size:.625rem;color:var(--color-accent-amber);margin-top:2px}.check-values{font-weight:500}.rule-details .suggestions{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border)}.suggestions-label{font-family:var(--font-mono);font-size:.6875rem;color:var(--color-text-muted);text-transform:uppercase;display:block;margin-bottom:var(--spacing-xs)}.rule-details .suggestion{font-family:var(--font-sans);font-size:.6875rem;color:var(--color-text-secondary);padding:var(--spacing-xs) 0}.rule-details .suggestion.priority-high{color:var(--color-accent-red)}.rule-details .suggestion.priority-medium{color:var(--color-accent-amber)}.rule-details .suggestion.priority-low{color:var(--color-accent-cyan)}.related-checks{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px dashed var(--color-border)}.related-checks-title{font-family:var(--font-mono);font-size:.6875rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-xs)}.related-checks-body{display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:.75rem;color:var(--color-text-secondary)}.related-checks-line{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.related-checks-label{font-family:var(--font-mono);color:var(--color-text-muted)}.combinations-summary{border-top:1px solid var(--color-border);padding-top:var(--spacing-md)}.combinations-header{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:.6875rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-sm)}.combinations-count{color:var(--color-text-secondary)}.combinations-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.combo-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.6875rem}.combo-item.passed .combo-icon{color:var(--color-accent-green)}.combo-item.failed .combo-icon{color:var(--color-accent-red)}.combo-desc{flex:1;color:var(--color-text-secondary)}.combo-flow{color:var(--color-accent-amber)}.assembly-summary{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);padding:var(--spacing-md);box-shadow:0 1px 2px #0f172a0a}.assembly-summary-title{font-family:var(--font-sans);font-size:.875rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.assembly-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}@media(max-width:900px){.assembly-summary-grid{grid-template-columns:1fr}}.summary-label{font-family:var(--font-mono);font-size:.6875rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.summary-value{font-size:.8125rem;color:var(--color-text-primary)}.summary-section{margin-top:var(--spacing-sm)}.summary-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.summary-list li{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm);font-size:.75rem;color:var(--color-text-secondary)}.summary-component-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.summary-component-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-component-finish{font-size:.625rem;color:var(--color-accent-purple);font-weight:500}.summary-meta{font-family:var(--font-mono);color:var(--color-text-muted);flex-shrink:0}.summary-stack{display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:.75rem;color:var(--color-text-secondary)}.summary-line{display:flex;gap:var(--spacing-xs)}.summary-muted{font-size:.75rem;color:var(--color-text-muted)}.finish-resolver{border:1px solid var(--color-accent-amber);border-radius:var(--radius-md);background:#fffbeb;padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.finish-resolver-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.finish-resolver-icon{font-size:1.25rem}.finish-resolver-title{font-family:var(--font-sans);font-size:.875rem;font-weight:600;color:var(--color-accent-amber)}.finish-resolver-desc{font-size:.75rem;color:var(--color-text-secondary);margin:0 0 var(--spacing-md) 0;line-height:1.4}.finish-breakdown{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-sm);margin-bottom:var(--spacing-md)}.finish-breakdown-title{font-family:var(--font-sans);font-size:.75rem;font-weight:600;color:var(--color-text-muted);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.05em}.finish-group{margin-bottom:var(--spacing-sm)}.finish-group:last-child{margin-bottom:0}.finish-group-header{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.75rem;font-weight:500;color:var(--color-text-primary)}.finish-swatch{width:12px;height:12px;border-radius:2px;border:1px solid rgba(0,0,0,.2)}.finish-name{flex:1}.finish-count{font-family:var(--font-mono);font-size:.625rem;color:var(--color-text-muted)}.finish-components{list-style:none;padding:0;margin:var(--spacing-xs) 0 0 calc(12px + var(--spacing-sm));font-size:.625rem;color:var(--color-text-muted)}.finish-components li{padding:2px 0}.finish-options{margin-bottom:var(--spacing-sm)}.finish-options-title{font-family:var(--font-sans);font-size:.75rem;font-weight:600;color:var(--color-text-muted);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.05em}.finish-options-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--spacing-sm)}.finish-option-btn{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.finish-option-btn:hover{border-color:var(--color-accent-blue);background:var(--color-bg-hover)}.finish-option-swatch{width:24px;height:24px;border-radius:var(--radius-sm);border:1px solid rgba(0,0,0,.2)}.finish-option-name{font-family:var(--font-sans);font-size:.625rem;font-weight:500;color:var(--color-text-primary);text-align:center}.finish-option-change{font-family:var(--font-mono);font-size:.5625rem}.finish-option-change .no-change{color:var(--color-accent-green)}.finish-option-change .will-change{color:var(--color-accent-amber)}.finish-resolver-note{font-size:.625rem;color:var(--color-text-muted);margin:0;line-height:1.4;font-style:italic}.product-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:9998;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.product-modal-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),0 25px 50px -12px #00000040;z-index:9999;display:flex;flex-direction:column;animation:slideInModal .3s ease-out;max-height:85vh;width:90vw;max-width:900px;overflow:hidden}@keyframes slideInModal{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.product-modal-header{background:var(--color-bg-primary);color:var(--color-text-primary);padding:var(--spacing-md) var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-border)}.product-modal-header h2{margin:0;font-family:var(--font-sans);font-size:1.125rem;font-weight:600;color:var(--color-text-primary)}.product-modal-back{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-accent-primary);font-family:var(--font-sans);font-size:.8125rem;font-weight:500;cursor:pointer;padding:var(--spacing-xs) var(--spacing-md);margin-right:var(--spacing-sm);transition:all .15s ease}.product-modal-back:hover{background:#e7f5ff;border-color:var(--color-accent-primary)}.product-modal-close{background:transparent;border:none;color:var(--color-text-muted);font-size:1.25rem;cursor:pointer;padding:var(--spacing-xs);width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all .15s ease}.product-modal-close:hover{color:var(--color-accent-error);background:#fff5f5}.product-modal-search{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary)}.product-modal-search-input{width:100%;padding:var(--spacing-md);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-sans);font-size:.9375rem;box-sizing:border-box}.product-modal-search-input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #228be61a}.product-modal-search-input::placeholder{color:var(--color-text-muted)}.product-modal-legend{margin-top:var(--spacing-md);display:flex;gap:var(--spacing-lg);align-items:center}.product-modal-legend-item{display:flex;align-items:center;gap:var(--spacing-sm);font-family:var(--font-sans);font-size:.8125rem;color:var(--color-text-secondary)}.product-modal-legend-color{width:16px;height:16px;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.product-modal-legend-color.missing{background:#fff9db;border-color:#ffec99}.product-modal-content{flex:1;overflow-y:auto;padding:var(--spacing-lg);background:var(--color-bg-secondary)}.product-modal-no-results{padding:var(--spacing-xl);text-align:center;color:var(--color-text-muted);font-family:var(--font-sans);font-size:1rem}.product-category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.product-category-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl) var(--spacing-lg);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;text-align:center;box-shadow:var(--shadow-sm)}.product-category-card:hover{border-color:var(--color-accent-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.product-category-label{font-family:var(--font-sans);font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.product-category-count{font-family:var(--font-sans);font-size:.875rem;color:var(--color-text-muted)}.product-subcategory-group{margin-bottom:var(--spacing-lg)}.product-subcategory-header{font-family:var(--font-sans);font-size:.8125rem;font-weight:600;color:var(--color-accent-primary);text-transform:uppercase;letter-spacing:.03em;padding:var(--spacing-sm) var(--spacing-md);background:#e7f5ff;border-left:4px solid var(--color-accent-primary);border-radius:0;margin-bottom:var(--spacing-md)}.product-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.product-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease}.product-item:hover{border-color:var(--color-accent-primary);box-shadow:var(--shadow-md)}.product-item.missing-gpm{background:#fffbeb;border-color:#fcd34d}.product-item.missing-gpm:hover{background:#fef3c7;border-color:var(--color-accent-warning)}.product-thumbnail{flex-shrink:0;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.product-thumbnail img{max-width:100%;max-height:100%;object-fit:contain}.product-no-image{font-family:var(--font-sans);font-size:.6875rem;color:var(--color-text-muted)}.product-modal-content .product-info{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.product-collection{font-family:var(--font-sans);font-size:.6875rem;font-weight:600;color:var(--color-accent-primary);text-transform:uppercase;letter-spacing:.03em}.product-model{font-family:var(--font-sans);font-size:.9375rem;font-weight:500;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-modal-content .product-sku{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted)}.product-modal-content .product-finish{font-family:var(--font-sans);font-size:.625rem;color:var(--color-accent-purple);font-weight:500;padding:2px 6px;background:#7c3aed1a;border-radius:3px;width:fit-content}.product-flow{font-family:var(--font-sans);font-size:1rem;font-weight:700;color:var(--color-accent-primary);flex-shrink:0;min-width:70px;text-align:right;background:#e7f5ff;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm)}@media(max-width:600px){.product-modal-container{width:95vw;max-height:90vh}.product-category-grid{grid-template-columns:1fr}.product-item{flex-wrap:wrap}.product-flow{width:100%;text-align:left;margin-top:var(--spacing-xs)}}.filter-panel{margin-bottom:var(--spacing-md)}.filter-bar{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md)}.filter-row{display:flex;flex-wrap:wrap;gap:var(--spacing-md);align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.filter-group-search{flex:1;min-width:200px}.filter-label{font-family:var(--font-sans);font-size:.6875rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.filter-input{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.875rem;color:var(--color-text-primary);width:100%;transition:border-color .15s ease}.filter-input:focus{outline:none;border-color:var(--color-border-focus)}.filter-input::placeholder{color:var(--color-text-muted)}.filter-select{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.8125rem;color:var(--color-text-primary);cursor:pointer;min-width:140px;transition:border-color .15s ease}.filter-select:focus{outline:none;border-color:var(--color-border-focus)}.filter-clear-btn{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.8125rem;color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease;white-space:nowrap}.filter-clear-btn:hover{background:var(--color-bg-hover);border-color:var(--color-border-focus);color:var(--color-text-primary)}.filter-toggles{gap:var(--spacing-sm)}.filter-toggle{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.75rem;color:var(--color-text-muted);cursor:pointer;transition:all .15s ease}.filter-toggle:hover{border-color:var(--color-border-focus);color:var(--color-text-secondary)}.filter-toggle.active{background:#2563eb14;border-color:var(--color-accent-blue);color:var(--color-accent-blue)}.results-summary{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;margin-bottom:var(--spacing-sm)}.results-count{font-family:var(--font-sans);font-size:.8125rem;color:var(--color-text-secondary)}.results-page{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted)}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) 0;border-top:1px solid var(--color-border);margin-top:var(--spacing-md)}.pagination-btn{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.8125rem;color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.pagination-btn:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-focus);color:var(--color-text-primary)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-family:var(--font-mono);font-size:.8125rem;color:var(--color-text-secondary)}.data-table td.mono{font-family:var(--font-mono);font-size:.75rem}.hero-section{padding:var(--spacing-6) var(--spacing-6) var(--spacing-16);background-color:var(--color-white);position:relative}.hero-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-16);max-width:1400px;margin-left:auto;margin-right:auto}.brizo-logo{display:flex;align-items:center;color:var(--color-text-primary)}.brizo-logo svg{color:var(--color-text-primary)}.hero-nav{display:flex;gap:var(--spacing-8);align-items:center}.nav-link{font-family:"DIN 1451 Std",Inter,sans-serif;font-size:15px;color:var(--color-text-primary);text-decoration:none;text-transform:uppercase;letter-spacing:.05em;transition:opacity var(--transition-fast)}.nav-link:hover{opacity:.7}.hero-content{max-width:900px;margin:0 auto;text-align:center;padding-top:var(--spacing-12)}.hero-label{font-family:"DIN 1451 Std",Inter,sans-serif;font-size:16px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.1em;margin:0 0 var(--spacing-6)}.hero-heading{font-family:Domaine Display Narrow,Georgia,serif;font-size:48px;font-weight:400;line-height:1.2;margin:0 0 var(--spacing-6);color:var(--color-text-primary);letter-spacing:-.01em}.hero-subtitle{font-family:Domaine Text,Georgia,serif;font-size:22px;line-height:1.5;color:var(--color-text-primary);font-weight:400;max-width:800px;margin:0 auto}@media(max-width:768px){.hero-section{padding:var(--spacing-4) var(--spacing-4) var(--spacing-10)}.hero-header{margin-bottom:var(--spacing-10)}.hero-nav{gap:var(--spacing-4)}.nav-link{font-size:13px}.hero-content{padding-top:var(--spacing-6)}.hero-label{font-size:14px}.hero-heading{font-size:36px}.hero-subtitle{font-size:18px}}.chat-prompt-container{padding:var(--spacing-12) var(--spacing-6);background-color:var(--color-white)}.concierge-section{max-width:1100px;margin:0 auto;border:1px solid var(--color-border-light);border-radius:8px;overflow:hidden}.concierge-content{display:grid;grid-template-columns:2fr 1px 1fr;gap:0;align-items:stretch}.concierge-divider{background-color:var(--color-border-light);width:1px;margin:0;padding:0}.ai-concierge{padding:var(--spacing-10);padding-right:var(--spacing-10)}.concierge-logo{text-align:center;margin-bottom:var(--spacing-5)}.logo-circle{width:48px;height:48px;background-color:var(--color-text-primary);color:var(--color-white);border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-2)}.logo-text{font-size:11px;font-weight:var(--font-weight-medium);letter-spacing:.08em;color:var(--color-text-primary);margin:0}.concierge-description{text-align:center;font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text-primary);margin:0 0 var(--spacing-6)}.chat-prompt-form{margin-bottom:var(--spacing-5)}.chat-input-wrapper{position:relative;display:flex;align-items:center;background:linear-gradient(90deg,#f4e3e4,#fbf4f6,#f9f3f1,#fbf5ef,#fbf4f6);border:none;border-radius:25px;padding:var(--spacing-2) var(--spacing-3)}.input-icon{width:32px;height:32px;background-color:var(--color-text-primary);color:var(--color-white);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);margin-right:var(--spacing-3);flex-shrink:0}.chat-input{flex:1;border:none;outline:none;font-size:var(--font-size-base);padding:var(--spacing-2) var(--spacing-3);background:transparent;color:var(--color-text-primary)}.chat-input::placeholder{color:var(--color-text-primary)}.chat-submit-button{flex-shrink:0;width:36px;height:36px;border:none;background-color:transparent;color:var(--color-text-primary);border-radius:var(--radius-full);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity var(--transition-fast);padding:0}.chat-submit-button:hover:not(:disabled){opacity:.7}.chat-submit-button:disabled{opacity:.3;cursor:not-allowed}.suggestion-pills{display:flex;flex-wrap:wrap;gap:var(--spacing-2);justify-content:center}.suggestion-pill{background-color:var(--color-text-primary);color:var(--color-white);border:none;padding:8px 16px;border-radius:100px;font-size:8.5px;cursor:pointer;transition:opacity var(--transition-fast);white-space:nowrap;font-weight:var(--font-weight-normal)}.suggestion-pill:hover{opacity:.85}.suggestion-pill.add-pill{width:32px;height:32px;padding:0;font-size:16px;font-weight:var(--font-weight-normal);display:flex;align-items:center;justify-content:center}.build-yourself{text-align:center;padding:var(--spacing-10);display:flex;flex-direction:column;align-items:center;justify-content:center}.build-description{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--color-text-primary);margin:0 0 var(--spacing-6)}.build-button{background-color:transparent;color:var(--color-text-primary);border:none;border-bottom:2px solid var(--color-text-primary);padding:var(--spacing-2) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:.05em;cursor:pointer;transition:opacity var(--transition-fast)}.build-button:hover{opacity:.7}@media(max-width:1024px){.concierge-content{grid-template-columns:1fr}.concierge-divider{display:none}.ai-concierge{padding-right:0}.build-yourself{max-width:100%;border-top:1px solid var(--color-border-light);padding-left:var(--spacing-6);padding-top:var(--spacing-8);margin-top:var(--spacing-8)}}@media(max-width:768px){.chat-prompt-container{padding:var(--spacing-8) var(--spacing-4)}.concierge-section{padding:var(--spacing-6)}.suggestion-pills{flex-direction:column}.suggestion-pill{width:100%;text-align:center}}.home-page{min-height:100vh;background-color:var(--color-white);display:flex;flex-direction:column;padding-bottom:var(--spacing-16)}.validation-panel{margin-top:12px;border-radius:6px;overflow:hidden;border:1px solid #e5e5e5;font-size:12px}.validation-panel.status-ok{border-color:#86efac}.validation-panel.status-warn{border-color:#fcd34d}.validation-panel.status-fail{border-color:#fca5a5}.validation-panel-header{display:flex;align-items:center;gap:6px;width:100%;padding:8px 10px;background:#f9f9f9;border:none;cursor:pointer;text-align:left;font-size:12px;font-family:inherit;line-height:1}.validation-panel.status-ok .validation-panel-header{background:#f0fdf4}.validation-panel.status-warn .validation-panel-header{background:#fffbeb}.validation-panel.status-fail .validation-panel-header{background:#fff1f2}.validation-status-icon{font-size:13px;flex-shrink:0}.validation-panel.status-ok .validation-status-icon{color:#16a34a}.validation-panel.status-warn .validation-status-icon{color:#d97706}.validation-panel.status-fail .validation-status-icon{color:#dc2626}.validation-status-label{flex:1;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#141415}.validation-status-badge{font-size:10px;font-weight:700;letter-spacing:.06em;padding:2px 6px;border-radius:3px}.validation-panel.status-ok .validation-status-badge{background:#dcfce7;color:#15803d}.validation-panel.status-warn .validation-status-badge{background:#fef3c7;color:#b45309}.validation-panel.status-fail .validation-status-badge{background:#fee2e2;color:#b91c1c}.validation-collapse-arrow{font-size:10px;color:#888;flex-shrink:0}.validation-panel-body{padding:8px 10px;background:#fff}.validation-pass-msg{margin:0;color:#16a34a;font-size:12px}.validation-flags{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.validation-flag{display:flex;align-items:flex-start;gap:6px}.flag-icon{flex-shrink:0;font-size:12px;margin-top:1px}.flag-error .flag-icon{color:#dc2626}.flag-warning .flag-icon{color:#d97706}.flag-content{display:flex;flex-direction:column;gap:2px}.flag-message{color:#141415;line-height:1.4}.flag-suggestion{color:#6b7280;font-style:italic;font-size:11px;line-height:1.3}.configurator-page{height:100vh;background-color:var(--color-white);display:flex;flex-direction:column;overflow:hidden}.configurator-container{flex:1;min-height:0;display:grid;grid-template-columns:200px 1fr 320px;gap:0;overflow:hidden}.configurator-sidebar{background-color:var(--color-white);border-right:1px solid var(--color-border-light);display:flex;flex-direction:column;overflow:hidden;padding-bottom:120px}.product-type-tabs{display:flex;flex-direction:column;padding:var(--spacing-4) var(--spacing-3);gap:var(--spacing-2);border-bottom:1px solid var(--color-border-light)}.product-type-tabs:before{content:"PRODUCT TYPES";font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--color-text-primary);margin-bottom:var(--spacing-2)}.product-type-tab{background-color:var(--color-white);border:1px solid var(--color-border-light);border-radius:0;padding:8px 12px;text-align:left;font-size:12px;cursor:pointer;transition:all var(--transition-fast);display:flex;justify-content:space-between;align-items:center;color:var(--color-text-primary);text-transform:lowercase;font-weight:400}.product-type-tab:hover{background-color:#f5f5f5}.product-type-tab.active{background-color:var(--color-text-primary);color:var(--color-white);border-color:var(--color-text-primary)}.tab-count{font-size:11px;padding:2px 8px;background-color:#eee;border-radius:3px;color:var(--color-text-primary);font-weight:500}.product-type-tab.active .tab-count{background-color:#ffffff40;color:var(--color-white)}.product-type-nav{flex:1;min-height:0;overflow-y:auto;padding:var(--spacing-3)}.product-type-nav:before{content:attr(data-section-name);display:block;font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--color-text-primary);margin-bottom:var(--spacing-3);text-transform:uppercase}.category-list,.package-list{display:flex;flex-direction:column;gap:4px}.nav-item{padding:6px var(--spacing-3);border-radius:0;font-size:var(--font-size-sm);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast);color:var(--color-text-primary);background-color:transparent}.checkbox-item{display:flex;align-items:center;gap:var(--spacing-3);cursor:pointer;padding:8px var(--spacing-3);transition:background-color var(--transition-fast);border-radius:0;background-color:transparent}.checkbox-item:hover{background-color:#f5f5f5}.checkbox-item:has(input:checked){background-color:#dddbda}.nav-item.loading{color:#b5b3b1;cursor:not-allowed;padding:8px var(--spacing-3)}.category-checkbox{width:15px;height:15px;cursor:pointer;flex-shrink:0;accent-color:var(--color-text-primary);margin:0}.category-label{flex:1;font-family:Domaine Text,Georgia,serif;font-size:10.5px;font-weight:400;color:var(--color-text-primary);line-height:1.3}.configurator-main{background-color:var(--color-white);display:flex;flex-direction:column;overflow:hidden;padding:var(--spacing-6);padding-bottom:120px}.product-grid-header{flex-shrink:0;margin-bottom:var(--spacing-5)}.product-grid-header h2{font-family:Domaine Display Narrow,Georgia,serif;font-size:32px;font-weight:400;margin:0 0 var(--spacing-4);color:var(--color-text-primary)}.filters{display:flex;gap:var(--spacing-3);align-items:center;flex-wrap:wrap}.filter-select{padding:var(--spacing-2) var(--spacing-4);border:1px solid var(--color-border-default);border-radius:5px;font-size:12px;text-transform:uppercase;background-color:var(--color-white);cursor:pointer}.clear-filters{background:none;border:none;font-size:12px;color:var(--color-text-secondary);cursor:pointer;text-transform:uppercase}.product-grid{flex:1;min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--spacing-5);align-content:start;padding-bottom:var(--spacing-6)}.empty-grid{text-align:center;color:var(--color-text-tertiary);padding:var(--spacing-10);grid-column:1 / -1}.product-card-grid{background-color:var(--color-white);border:1px solid var(--color-border-light);border-radius:8px;padding:var(--spacing-4);display:flex;flex-direction:column;position:relative;transition:box-shadow var(--transition-fast)}.product-card-grid:hover{box-shadow:var(--shadow-md)}.product-card-image{width:100%;height:200px;background-color:#f5f5f5;border-radius:5px;margin-bottom:var(--spacing-3)}.product-card-info{flex:1}.product-card-name{font-size:11px;font-weight:700;margin:0 0 var(--spacing-2);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.03em;line-height:1.3}.product-card-finish{font-size:10px;margin:0 0 var(--spacing-1);color:var(--color-text-secondary)}.product-card-finish em{font-style:italic}.product-card-sku{font-size:10px;margin:0;color:var(--color-text-secondary)}.add-product-btn{position:absolute;bottom:var(--spacing-4);right:var(--spacing-4);width:32px;height:32px;background-color:var(--color-white);border:1px solid var(--color-border-default);border-radius:5px;font-size:20px;color:var(--color-text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast)}.add-product-btn:hover{background-color:var(--color-text-primary);color:var(--color-white)}.shower-space-sidebar{background-color:#f5f5f5;border-left:1px solid var(--color-border-light);display:flex;flex-direction:column;overflow:hidden;padding-bottom:120px}.space-content{flex:1;min-height:0;display:flex;flex-direction:column}.system-selector{flex-shrink:0;padding:var(--spacing-4);border-bottom:1px solid var(--color-border-light);background-color:var(--color-white)}.system-label{font-size:11px;font-weight:600;color:var(--color-text-secondary);display:block;margin-bottom:var(--spacing-2);letter-spacing:.05em}.system-select{width:100%;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-border-default);border-radius:5px;font-size:14px;margin-bottom:var(--spacing-3);background-color:var(--color-white)}.add-system-btn{width:100%;padding:var(--spacing-2);background-color:var(--color-text-primary);color:var(--color-white);border:none;border-radius:5px;font-size:12px;font-weight:600;cursor:pointer;text-transform:uppercase;letter-spacing:.05em}.system-name-display{flex-shrink:0;padding:var(--spacing-4);border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;align-items:center;background-color:var(--color-white);position:relative}.system-name{font-family:Domaine Display Narrow,Georgia,serif;font-size:18px;font-weight:400;margin:0;color:var(--color-text-primary);cursor:pointer;flex:1}.system-name:hover{color:var(--color-text-secondary)}.system-name-input{font-family:Domaine Display Narrow,Georgia,serif;font-size:18px;font-weight:400;border:1px solid var(--color-primary);border-radius:3px;padding:4px 8px;outline:none;flex:1;color:var(--color-text-primary)}.system-menu-container{position:relative}.system-menu{background:none;border:none;font-size:20px;color:var(--color-text-primary);cursor:pointer;padding:var(--spacing-1);line-height:1}.system-menu:hover{color:var(--color-text-secondary)}.space-products{flex:1;min-height:0;overflow-y:auto}.shower-space-sidebar .validation-panel{flex-shrink:0;margin:0;max-height:35vh;overflow-y:auto;border-radius:0;border-left:none;border-right:none;border-bottom:none;z-index:1000000000}.empty-message{padding:var(--spacing-8) var(--spacing-4);text-align:center;color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.space-product-card{padding:var(--spacing-4);border-bottom:1px solid var(--color-border-light);display:flex;gap:var(--spacing-3);background-color:var(--color-white);align-items:flex-start}.space-product-card:last-child{border-bottom:none}.space-product-image{width:60px;height:60px;background-color:#f5f5f5;border-radius:5px;flex-shrink:0}.space-product-info{flex:1;min-width:0}.space-product-name{font-size:10px;font-weight:700;margin:0 0 4px;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.03em;line-height:1.3}.space-product-finish{font-size:9px;margin:0 0 2px;color:var(--color-text-secondary)}.space-product-finish em{font-style:italic}.space-product-sku{font-size:9px;margin:0;color:var(--color-text-secondary)}.space-product-qty{display:flex;align-items:center;gap:4px;margin-top:2px}.qty-btn{background:none;border:1px solid var(--color-border, #ccc);border-radius:3px;width:16px;height:16px;font-size:11px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;color:var(--color-text-secondary)}.qty-btn:hover{background:var(--color-surface-hover, #f0f0f0)}.qty-value{font-size:11px;min-width:14px;text-align:center;color:var(--color-text-secondary)}.product-menu-container{position:relative}.product-menu-btn{background:none;border:none;font-size:16px;color:var(--color-text-primary);cursor:pointer;padding:var(--spacing-1);line-height:1}.product-menu-btn:hover{color:var(--color-text-secondary)}.product-dropdown-menu{position:absolute;right:0;top:100%;background-color:var(--color-white);border:1px solid var(--color-border-default);border-radius:5px;box-shadow:var(--shadow-md);min-width:120px;z-index:100;overflow:hidden}.menu-option{width:100%;padding:var(--spacing-3) var(--spacing-4);border:none;background:none;text-align:left;font-size:13px;color:var(--color-text-primary);cursor:pointer;transition:background-color var(--transition-fast);border-bottom:1px solid var(--color-border-light)}.menu-option:last-child{border-bottom:none}.menu-option:hover{background-color:#f5f5f5}.menu-option:active{background-color:#eee}.menu-option.delete{color:var(--color-error)}.menu-option.delete:hover{background-color:#fee}.embedded-chat-bar{position:fixed;bottom:var(--spacing-5);left:50%;transform:translate(-50%);width:calc(100% - 80px);max-width:1400px;z-index:var(--z-sticky);background:linear-gradient(90deg,#f4e3e4,#fbf4f6,#f9f3f1,#fbf5ef,#fbf4f6);border-radius:25px;box-shadow:0 4px 20px #0000001f;transition:all var(--transition-base)}.embedded-chat-bar.expanded{bottom:var(--spacing-5)}.chat-bar-logo{width:36px;height:36px;background-color:var(--color-text-primary);color:var(--color-white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex-shrink:0}.chat-bar-title{font-family:Google Sans,Inter,sans-serif;font-size:12px;font-weight:500;letter-spacing:.1em;color:var(--color-text-primary)}.chat-bar-icon{background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;flex-shrink:0}.chat-bar-input{flex:1;border:none;background:transparent;padding:var(--spacing-2) 0;font-size:15px;outline:none;color:var(--color-text-primary)}.chat-bar-input::placeholder{color:var(--color-text-secondary)}.chat-bar-send{width:32px;height:32px;background-color:var(--color-text-primary);color:var(--color-white);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-bar-send:disabled{opacity:.5;cursor:not-allowed}.collapsed-row-brand{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-5) 0}.collapsed-row-input{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-5) var(--spacing-3)}.collapsed-expand-arrow{background:none;border:none;font-size:16px;cursor:pointer;color:var(--color-text-primary);padding:0 var(--spacing-2);flex-shrink:0}.collapsed-input-form{flex:1;display:flex;align-items:center;gap:var(--spacing-2)}.expanded-collapse-row{text-align:center;padding:var(--spacing-2) 0}.collapse-toggle{background:none;border:none;font-size:10px;color:var(--color-text-secondary);cursor:pointer;text-transform:uppercase;letter-spacing:.08em;font-weight:500}.expanded-header{background:linear-gradient(90deg,#f4e3e4,#fbf4f6,#f9f3f1,#fbf5ef,#fbf4f6);padding:var(--spacing-4) var(--spacing-5);display:flex;align-items:center;gap:var(--spacing-2)}.expanded-input-area{background-color:var(--color-white);padding:var(--spacing-4) var(--spacing-5)}.expanded-textarea{width:100%;border:none;outline:none;font-size:15px;font-family:inherit;resize:none;color:var(--color-text-primary);min-height:60px}.expanded-textarea::placeholder{color:var(--color-text-secondary)}.expanded-bottom{background-color:var(--color-white);padding:var(--spacing-3) var(--spacing-5) var(--spacing-4);border-radius:0 0 25px 25px;display:flex;justify-content:space-between;align-items:center}.expanded-left-actions{display:flex;gap:var(--spacing-2)}.action-button{background-color:#dddbda;color:var(--color-text-primary);border:none;border-radius:20px;padding:8px 16px;font-size:12px;cursor:pointer;transition:background-color var(--transition-fast);white-space:nowrap}.action-button:hover{background-color:#cecbc9}.send-button{background-color:var(--color-text-primary);color:var(--color-white);border:none;border-radius:20px;padding:8px 20px;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;transition:opacity var(--transition-fast);white-space:nowrap}.send-button:hover:not(:disabled){opacity:.9}.send-button:disabled{opacity:.5;cursor:not-allowed}.send-button svg{stroke:currentColor}.chat-bar-messages{padding:var(--spacing-3) var(--spacing-5);display:flex;flex-direction:column;gap:var(--spacing-2);max-height:200px;overflow-y:auto}.mini-msg{display:flex;align-items:flex-start;gap:var(--spacing-2)}.mini-msg.user{justify-content:flex-end}.mini-avatar{width:24px;height:24px;background-color:var(--color-text-primary);color:var(--color-white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.mini-text{max-width:75%;padding:var(--spacing-2) var(--spacing-3);font-size:13px;line-height:1.4;border-radius:12px}.mini-msg.assistant .mini-text{background-color:var(--color-white);color:var(--color-text-primary);border-radius:12px 12px 12px 0}.mini-msg.user .mini-text{background-color:var(--color-text-primary);color:var(--color-white);border-radius:12px 12px 0}.mini-loading-dots{display:flex;gap:4px;padding:var(--spacing-2)}.mini-loading-dots span{width:5px;height:5px;background-color:var(--color-text-secondary);border-radius:50%;animation:typing 1.4s infinite}.mini-loading-dots span:nth-child(2){animation-delay:.2s}.mini-loading-dots span:nth-child(3){animation-delay:.4s}.chat-suggested-products{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-2);padding-top:var(--spacing-2);border-top:1px solid var(--color-border-light);margin-top:var(--spacing-3)}.chat-suggestion-card{display:flex;align-items:center;gap:var(--spacing-3);background:var(--color-white);border:1px solid var(--color-border-light);border-radius:8px;padding:var(--spacing-2) var(--spacing-3)}.chat-suggestion-image{width:56px;height:56px;flex-shrink:0;background-color:#f5f5f5;border-radius:4px}.chat-suggestion-info{flex:1;min-width:0}.chat-suggestion-name{font-size:11px;font-weight:500;color:var(--color-text-primary);margin:0 0 2px;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.chat-suggestion-sku{font-size:10px;color:var(--color-text-secondary);margin:0}.chat-suggestion-add{width:28px;height:28px;border-radius:50%;border:1px solid var(--color-text-primary);background:transparent;color:var(--color-text-primary);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s}.chat-suggestion-add:hover{background:var(--color-text-primary);color:var(--color-white)}@media(max-width:1400px){.configurator-container{grid-template-columns:200px 1fr 280px}}@media(max-width:1024px){.configurator-container{grid-template-columns:1fr}.configurator-sidebar,.shower-space-sidebar{display:none}}.chat-page-wrapper{min-height:100vh;background-color:var(--color-white);display:flex;flex-direction:column}.chat-top-nav{background-color:var(--color-white);padding:var(--spacing-4) var(--spacing-6);display:flex;justify-content:space-between;align-items:center}.nav-left{display:flex;gap:var(--spacing-3);align-items:center}.nav-tab{background:none;border:none;padding:var(--spacing-2) var(--spacing-4);font-size:13px;font-weight:600;color:var(--color-text-secondary);cursor:pointer;text-transform:uppercase;letter-spacing:.05em}.nav-tab.active{color:var(--color-text-primary)}.nav-right{display:flex;gap:var(--spacing-3)}.header-btn{padding:var(--spacing-2) var(--spacing-5);border-radius:5px;font-size:13px;font-weight:600;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;border:none}.header-btn.secondary{background-color:#dddbda;color:var(--color-text-primary)}.header-btn.primary{background-color:var(--color-text-primary);color:var(--color-white)}.chat-two-panel{flex:1;display:grid;grid-template-columns:280px 1fr;gap:var(--spacing-6);padding:var(--spacing-6)}.shower-space-panel{background-color:var(--color-white);border:1px solid var(--color-border-light);border-radius:8px;display:flex;flex-direction:column;height:fit-content;max-height:calc(100vh - 150px)}.panel-header{padding:var(--spacing-5);border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;align-items:center;background-color:#eee;border-radius:8px 8px 0 0}.panel-title{font-family:Domaine Display Narrow,Georgia,serif;font-size:20px;font-weight:400;margin:0;color:var(--color-text-primary)}.menu-dots{background:none;border:none;font-size:20px;color:var(--color-text-primary);cursor:pointer;padding:0;line-height:1}.products-scroll{overflow-y:auto;max-height:calc(100vh - 250px)}.product-item{padding:var(--spacing-4);border-bottom:1px solid var(--color-border-light);display:flex;gap:var(--spacing-3)}.product-item:last-child{border-bottom:none}.product-thumbnail{width:70px;height:70px;background-color:#f5f5f5;border-radius:5px;flex-shrink:0}.product-details{flex:1;min-width:0}.product-name{font-size:10px;font-weight:700;margin:0 0 4px;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.03em;line-height:1.3}.product-finish{font-size:9px;margin:0 0 2px;color:var(--color-text-secondary)}.product-finish em{font-style:italic}.product-sku{font-size:9px;margin:0;color:var(--color-text-secondary)}.product-qty{display:flex;align-items:center;gap:4px;margin-top:2px}.product-qty .qty-btn{background:none;border:1px solid var(--color-border, #ccc);border-radius:3px;width:16px;height:16px;font-size:11px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;color:var(--color-text-secondary)}.product-qty .qty-btn:hover{background:var(--color-surface-hover, #f0f0f0)}.product-qty .qty-value{font-size:11px;min-width:14px;text-align:center;color:var(--color-text-secondary)}.empty-products{padding:var(--spacing-8) var(--spacing-4);text-align:center;color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.chat-interface-panel{background:radial-gradient(at 20% 20%,#FAF6E4 0%,transparent 50%),radial-gradient(at 50% 20%,#F4E3E4 0%,transparent 50%),radial-gradient(at 80% 20%,#EEE9ED 0%,transparent 50%),radial-gradient(at 50% 50%,#FBF5EF 0%,transparent 50%),radial-gradient(at 20% 80%,#F9F3F1 0%,transparent 50%),radial-gradient(at 50% 80%,#FCFAF3 0%,transparent 50%),radial-gradient(at 80% 80%,#FBFAF6 0%,transparent 50%),#fafafa;border-radius:8px;display:flex;flex-direction:column;height:calc(100vh - 150px)}.chat-brand{padding:var(--spacing-8) var(--spacing-6) var(--spacing-6);text-align:center}.brand-circle{width:52px;height:52px;background-color:var(--color-text-primary);color:var(--color-white);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:26px;font-weight:700;margin-bottom:var(--spacing-3)}.brand-title{font-family:Google Sans,Inter,sans-serif;font-size:14px;font-weight:500;letter-spacing:.12em;margin:0;color:var(--color-text-primary)}.messages-area{flex:1;overflow-y:auto;padding:0 var(--spacing-6);display:flex;flex-direction:column;gap:var(--spacing-5)}.msg-row{display:flex;gap:var(--spacing-3);align-items:flex-start}.msg-row.user{justify-content:flex-end}.msg-avatar{width:32px;height:32px;background-color:var(--color-text-primary);color:var(--color-white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.msg-bubble{max-width:500px;padding:var(--spacing-4) var(--spacing-5);line-height:1.5;font-size:15px}.msg-bubble.user{background-color:var(--color-text-primary);color:var(--color-white);border-radius:20px 20px 0}.msg-bubble.assistant{background-color:var(--color-white);color:var(--color-text-primary);border-radius:20px 20px 20px 0}.msg-bubble.assistant a{color:inherit;text-decoration:underline;text-underline-offset:2px;word-break:break-all}.msg-bubble.assistant a:hover{opacity:.75}.msg-design-action{padding-left:calc(32px + var(--spacing-3));margin-top:var(--spacing-2)}.msg-bubble.typing{padding:var(--spacing-3);display:flex;gap:6px}.msg-bubble.typing span{width:8px;height:8px;background-color:var(--color-text-secondary);border-radius:50%;animation:typing 1.4s infinite}.msg-bubble.typing span:nth-child(2){animation-delay:.2s}.msg-bubble.typing span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.3}30%{opacity:1}}.chat-input-section{padding:var(--spacing-6)}.input-container{background-color:var(--color-white);border-radius:25px;padding:var(--spacing-4)}.input-row{display:flex;gap:var(--spacing-3);align-items:center;margin-bottom:var(--spacing-3)}.text-input{flex:1;border:none;outline:none;padding:var(--spacing-2) var(--spacing-3);font-size:15px;background:transparent}.text-input::placeholder{color:var(--color-text-tertiary)}.send-btn{width:40px;height:40px;background-color:var(--color-text-primary);color:var(--color-white);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.send-btn:disabled{opacity:.5;cursor:not-allowed}.action-row{display:flex;gap:var(--spacing-2);align-items:center}.icon-btn{background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}.icon-btn svg{display:block}.design-btn{background:none;border:1px solid var(--color-border-default);border-radius:100px;padding:0 var(--spacing-4);height:29px;font-size:13px;font-family:Google Sans,Inter,sans-serif;font-weight:400;color:var(--color-text-secondary);cursor:pointer;white-space:nowrap}.design-btn:hover{background-color:#f5f5f5}@media(max-width:1024px){.chat-two-panel{grid-template-columns:1fr}.shower-space-panel{display:none}}
