:root[data-theme=light]{--product-grid-padding: .8rem;--product-grid-gap: 1.2rem;--product-part-width: 120px;--bg-primary: #f3f2ed;--bg-secondary: #e9e7e0;--bg-tertiary: #dbd9d0;--bg-gradient-start: #f5f4ef;--bg-gradient-end: #eceae3;--text-primary: #2e3028;--text-secondary: #5c5a4e;--text-tertiary: #8e8c7e;--border-color: #c8c5b8;--border-color-light: #dad8ce;--accent-primary: #7b8a68;--accent-secondary: #6a7858;--accent-gradient-start: #7b8a68;--accent-gradient-end: #82906e;--card-bg: #f5f4ef;--card-border: #dad8ce;--header-bg-start: #3a3d32;--header-bg-end: #4a4d42;--header-text: #f3f2ed;--nav-bg: #f5f4ef;--nav-border: #dad8ce;--shadow-sm: rgba(50, 48, 40, .06);--shadow-md: rgba(50, 48, 40, .1);--shadow-lg: rgba(50, 48, 40, .14);--shadow-xl: rgba(50, 48, 40, .18);--glow-accent: rgba(123, 138, 104, .2);--success: #7b8a68;--warning: #b5a476;--danger: #a87a68}:root[data-theme=dark],:root{--product-grid-padding: .8rem;--product-grid-gap: 1.2rem;--product-part-width: 120px;--bg-primary: #1b1d19;--bg-secondary: #252821;--bg-tertiary: #33362e;--bg-gradient-start: #1b1d19;--bg-gradient-end: #252821;--text-primary: #e3e2dc;--text-secondary: #b8b5ab;--text-tertiary: #8e8c80;--border-color: #3a3d34;--border-color-light: #30322b;--accent-primary: #8b9874;--accent-secondary: #7b8865;--accent-gradient-start: #8b9874;--accent-gradient-end: #919c7a;--card-bg: #252821;--card-border: #3a3d34;--header-bg-start: #1b1d19;--header-bg-end: #252821;--header-text: #e3e2dc;--nav-bg: #252821;--nav-border: #3a3d34;--shadow-sm: rgba(0, 0, 0, .18);--shadow-md: rgba(0, 0, 0, .22);--shadow-lg: rgba(0, 0, 0, .28);--shadow-xl: rgba(0, 0, 0, .32);--glow-accent: rgba(139, 152, 116, .15);--success: #8b9874;--warning: #b5a476;--danger: #b08674}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 50%,var(--bg-primary) 100%);color:var(--text-primary);letter-spacing:0;font-weight:400;text-rendering:optimizeLegibility;font-size:15px;line-height:1.5}.app{min-height:100vh;display:flex;flex-direction:column}.header{background:linear-gradient(180deg,var(--card-bg) 0%,var(--bg-secondary) 100%);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:var(--text-primary);padding:.6rem 1.5rem;box-shadow:0 4px 12px var(--shadow-md),0 8px 24px var(--shadow-sm),inset 0 1px #ffffff1a;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;transition:all .3s cubic-bezier(.4,0,.2,1)}.header-left{display:flex;align-items:center;gap:1.2rem}.header h1{font-size:1.3rem;font-weight:700;background:linear-gradient(135deg,var(--accent-gradient-start),var(--accent-gradient-end));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em;margin:0}.theme-toggle{background:var(--accent-primary);border:none;border-radius:4px;padding:.45rem;color:var(--bg-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px var(--shadow-sm);width:36px;height:36px}.theme-toggle:hover{background:var(--accent-secondary);color:var(--bg-primary);transform:translateY(-1px);box-shadow:0 4px 12px var(--shadow-md),0 0 0 3px var(--glow-accent)}.theme-toggle svg{display:block;width:18px;height:18px}.nav{display:none}.nav-inline{display:flex;gap:.5rem;align-items:center}.nav-btn{display:inline-flex;align-items:center;padding:.4rem .8rem;text-decoration:none;color:var(--bg-primary);background:var(--accent-primary);border:none;border-radius:4px;font-weight:600;font-size:.95rem;letter-spacing:0;cursor:pointer;transition:all .2s;box-shadow:0 1px 3px var(--shadow-sm)}.nav-btn:hover{background:var(--accent-secondary);color:var(--bg-primary)}.nav-btn.active{background:var(--accent-secondary);color:var(--bg-primary);font-weight:700;box-shadow:0 2px 6px var(--shadow-md)}.container{max-width:1200px;margin:0 auto;padding:1.2rem 1.5rem;flex:1}.card{background:linear-gradient(135deg,var(--card-bg) 0%,var(--bg-secondary) 100%);border-radius:12px;padding:1rem;margin-bottom:1rem;box-shadow:0 4px 12px var(--shadow-md);border:1px solid var(--card-border)}.card h2{margin-bottom:.6rem;color:var(--text-primary)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.2rem}.stat-card{background:linear-gradient(135deg,var(--card-bg) 0%,var(--bg-secondary) 100%);border-radius:12px;padding:1rem;box-shadow:0 4px 12px var(--shadow-md);border:1px solid var(--card-border);transition:all .3s ease;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--accent-gradient-start) 0%,var(--accent-gradient-end) 100%)}.stat-card:hover{box-shadow:0 8px 24px var(--shadow-lg);transform:translateY(-4px)}.stat-card h3{font-size:.85rem;color:var(--text-secondary);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.5px}.stat-card .value{font-size:1.6rem;font-weight:700;background:linear-gradient(135deg,var(--accent-gradient-start) 0%,var(--accent-gradient-end) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.product-list{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.product-item{padding:1rem 1.5rem;border-bottom:1px solid #e0e0e0;transition:background-color .2s;cursor:pointer}.product-item:hover{background-color:#f8f9fa}.product-item:last-child{border-bottom:none}.product-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.product-title{font-weight:600;color:#333;font-size:1.25rem}.product-type{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.product-type.motor{background-color:#e3f2fd;color:#1976d2}.product-type.drive{background-color:#f3e5f5;color:#7b1fa2}.product-meta{color:#666;font-size:1rem}.filter-bar{margin-bottom:1.5rem;padding:1.5rem;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.filter-bar-header{margin-bottom:1rem}.filter-bar-controls{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.filter-bar-controls label{font-weight:600;color:#333}.filter-bar-select{padding:.5rem 1rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;background:#fff;cursor:pointer}.filter-bar-button{padding:.35rem .8rem;border:none;border-radius:4px;font-size:.85rem;cursor:pointer;transition:all .2s;font-weight:500}.filter-bar-button.primary{background-color:var(--accent-primary);color:var(--bg-primary)}.filter-bar-button.primary:hover{background-color:var(--accent-secondary);transform:translateY(-1px);box-shadow:0 2px 4px var(--shadow-md)}.filter-bar-button.secondary{background-color:var(--accent-primary);color:var(--bg-primary)}.filter-bar-button.secondary:hover{background-color:var(--accent-secondary)}.filter-bar-button.tertiary{background-color:var(--accent-primary);color:var(--bg-primary)}.filter-bar-button.tertiary:hover{background-color:var(--accent-secondary)}.filter-bar-chips{margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.filter-bar-chips-label{display:block;font-size:.85rem;font-weight:600;color:#666;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.5px}.filter-bar-chips-container{display:flex;flex-wrap:wrap;gap:.5rem}.filter-bar-help{margin-top:1rem;padding:.75rem;background-color:#f8f9fa;border-radius:4px;font-size:.85rem;color:#666}.filter-bar-help-text strong{color:#333;font-weight:600}.filter-bar-shortcuts{margin-top:.75rem;font-size:.75rem;color:#999;display:flex;align-items:center;gap:.25rem}.filter-bar-shortcuts kbd{padding:.1rem .4rem;background-color:#e9ecef;border:1px solid #ced4da;border-radius:3px;font-family:monospace;font-size:.75rem}.action-btn{padding:.2rem .6rem;background:transparent;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:500;transition:all .2s;color:var(--text-secondary)}.action-btn:hover{background-color:var(--bg-secondary);color:var(--text-primary);border-color:var(--text-secondary)}.action-btn.edit{color:var(--accent-primary);border-color:var(--accent-primary)}.action-btn.edit:hover{background-color:var(--accent-primary);color:#fff}.action-btn.delete{color:var(--danger);border-color:var(--danger)}.action-btn.delete:hover{background-color:var(--danger);color:#fff}.filter-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:20px;font-size:.95rem;transition:all .2s;border:2px solid transparent}.filter-chip-neutral{background-color:#e9ecef;color:#495057;border-color:#ced4da}.filter-chip-include{background-color:#d4edda;color:#155724;border-color:#28a745}.filter-chip-exclude{background-color:#f8d7da;color:#721c24;border-color:#dc3545}.filter-chip-mode{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;transition:all .2s}.filter-chip-mode:hover{background-color:#0000001a}.filter-chip-icon{font-size:1.4rem;font-weight:700}.filter-chip-content{display:flex;align-items:center;gap:.25rem}.filter-chip-attribute{font-weight:600}.filter-chip-separator{color:#999;margin:0 .25rem}.filter-chip-value{cursor:pointer;padding:.1rem .4rem;border-radius:3px;transition:background-color .2s}.filter-chip-value:hover{background-color:#0000001a}.filter-chip-input{border:1px solid #ced4da;border-radius:3px;padding:.1rem .4rem;font-size:.875rem;width:100px}.filter-chip-add-value{background:none;border:none;color:inherit;padding:.1rem .4rem;border-radius:3px;cursor:pointer;font-size:.75rem;transition:background-color .2s}.filter-chip-add-value:hover{background-color:#0000001a}.filter-chip-remove{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:1.6rem;line-height:1;color:inherit;transition:all .2s}.filter-chip-remove:hover{background-color:#0003}.attribute-selector-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:flex-start;justify-content:flex-end;padding-top:8rem;padding-right:2rem;z-index:1000;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.attribute-selector-modal{background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 16px var(--shadow-lg);width:260px;max-width:calc(100vw - 2rem);max-height:50vh;display:flex;flex-direction:column;animation:slideFromRight .15s ease-out}@keyframes slideFromRight{0%{transform:translate(30px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.attribute-selector-header{display:flex;align-items:center;gap:.3rem;padding:.4rem .5rem;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.attribute-selector-input{flex:1;border:none;outline:none;font-size:.8rem;padding:.25rem;background:transparent;color:var(--text-primary)}.attribute-selector-input::placeholder{color:var(--text-tertiary)}.attribute-selector-close{background:none;border:none;font-size:1rem;cursor:pointer;color:var(--text-tertiary);width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:3px;transition:all .15s;line-height:1;padding:0}.attribute-selector-close:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.attribute-selector-list{overflow-y:auto;max-height:calc(50vh - 60px)}.attribute-selector-item{padding:.3rem .5rem;cursor:pointer;transition:background-color .1s;border-bottom:1px solid var(--border-color-light)}.attribute-selector-item:hover,.attribute-selector-item.selected{background-color:var(--bg-secondary)}.attribute-selector-item.selected{border-left:2px solid var(--accent-primary)}.attribute-selector-item-content{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.attribute-selector-item-name{font-weight:500;color:var(--text-primary);flex:1;font-size:.75rem}.attribute-selector-item-unit{font-size:.65rem;font-weight:600;color:var(--text-tertiary);white-space:nowrap}.attribute-selector-item-meta{display:flex;gap:.75rem;font-size:.75rem;color:var(--text-tertiary)}.attribute-selector-item-key{font-family:monospace;background-color:var(--bg-tertiary);color:var(--text-secondary);padding:.1rem .4rem;border-radius:3px}.attribute-selector-item-type{text-transform:uppercase;letter-spacing:.5px}.attribute-selector-empty{padding:.75rem;text-align:center;color:var(--text-tertiary);font-size:.7rem}.attribute-selector-footer{padding:.3rem .5rem;border-top:1px solid var(--border-color);font-size:.6rem;color:var(--text-tertiary);text-align:center;background:var(--bg-secondary)}.product-list-actions{margin-bottom:1rem;display:flex;justify-content:flex-end}.product-list-summary{margin-top:1rem;padding:1rem;text-align:center;color:#666;font-size:.9rem;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}button{padding:.35rem .8rem;border:none;border-radius:4px;font-size:.85rem;cursor:pointer;transition:all .2s}button.primary{background-color:var(--accent-primary);color:var(--bg-primary)}button.primary:hover{background-color:var(--accent-secondary);color:var(--bg-primary)}button.secondary{background-color:var(--accent-primary);color:var(--bg-primary)}button.secondary:hover{background-color:var(--accent-secondary);color:var(--bg-primary)}.loading{text-align:center;padding:2rem;color:#666}.error{background-color:#f8d7da;color:#721c24;padding:1rem;border-radius:4px;margin-bottom:1rem}.empty-state{text-align:center;padding:3rem;color:#666}.empty-state h3{margin-bottom:.5rem;color:#333}.page-split-layout{min-height:calc(100vh - 200px);display:flex;background:linear-gradient(135deg,var(--bg-gradient-start) 0%,var(--bg-gradient-end) 100%)}.filter-sidebar{width:250px;min-width:250px;order:2;background:linear-gradient(180deg,var(--card-bg) 0%,var(--bg-secondary) 50%,var(--bg-tertiary) 100%);padding:1.2rem 1rem;align-self:flex-start;position:sticky;top:0;max-height:100vh;overflow-y:auto;box-shadow:-8px 0 24px var(--shadow-md),-4px 0 12px var(--shadow-sm),inset 1px 0 #ffffff1a;z-index:10}.results-main{flex:1;order:1;padding:0 1.5rem 0 0;overflow-y:auto;z-index:1}.page-minimal{min-height:calc(100vh - 200px);display:flex;flex-direction:column;background:#fafafa}.filter-section{padding:3rem 2rem;background:#fff;border-bottom:1px solid #e0e0e0}.filter-bar-minimal{width:100%}.filter-sidebar-title{font-size:1.2rem;font-weight:700;color:var(--text-primary);margin-bottom:.6rem;padding-bottom:.4rem;background:linear-gradient(90deg,var(--accent-gradient-start) 0%,var(--accent-gradient-end) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative}.filter-sidebar-title:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent-primary) 0%,transparent 100%);opacity:.3}.filter-controls-top{margin-bottom:.6rem}.filter-actions-container{display:flex;gap:.4rem;margin-bottom:.6rem}.product-type-select{width:100%;padding:.4rem 2rem .4rem .65rem;border:1px solid var(--border-color);border-radius:4px;font-size:.85rem;font-weight:600;background-color:var(--bg-tertiary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%237b8a68' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .65rem center;background-size:12px;color:var(--text-primary);cursor:pointer;outline:none;transition:all .2s ease;appearance:none;-webkit-appearance:none;-moz-appearance:none;box-shadow:0 1px 3px var(--shadow-sm);letter-spacing:0}.product-type-select:hover{background-color:var(--card-bg);border-color:var(--accent-primary);box-shadow:0 2px 6px var(--shadow-md)}.product-type-select:focus{background-color:var(--card-bg);border-color:var(--accent-primary);box-shadow:0 2px 6px var(--shadow-md)}.product-type-select:disabled{opacity:.6;cursor:wait}.product-type-select option{padding:.5rem;font-weight:600;background:var(--card-bg);color:var(--text-primary)}.btn-clear{flex:1;padding:.35rem .6rem;background:#b43c3226;border:1px solid rgba(180,60,50,.3);border-radius:4px;font-size:.75rem;color:#c45a50;cursor:pointer;transition:all .2s;font-weight:600;box-shadow:none}.btn-clear:hover{background:#b43c3240;border-color:#b43c3280;color:#d9534f}.filter-chips-container{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.6rem;min-height:30px}.filter-chip-minimal{display:flex;flex-direction:column;gap:.3rem;padding:.35rem .45rem;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);border:1px solid var(--border-color);border-radius:4px;font-size:.8rem;transition:all .2s;position:relative}.filter-chip-minimal:hover{border-color:var(--accent-primary);box-shadow:0 1px 4px var(--shadow-sm)}.filter-chip-minimal.filter-chip-exclude-mode{border-color:#c0392b;background:linear-gradient(135deg,#c0392b14,#c0392b26)}.filter-chip-minimal.filter-chip-exclude-mode:hover{border-color:#e74c3c;box-shadow:0 1px 4px #e74c3c33}.filter-mode-toggle{display:inline-flex;align-items:center;justify-content:center;padding:.05rem .35rem;border-radius:3px;font-size:.65rem;font-weight:700;letter-spacing:.03em;cursor:pointer;border:1px solid;transition:all .15s;line-height:1.4;flex-shrink:0}.filter-mode-include{background:#2ecc7126;border-color:#2ecc7166;color:#27ae60}.filter-mode-include:hover{background:#2ecc7140;border-color:#2ecc7199}.filter-mode-exclude{background:#e74c3c26;border-color:#e74c3c66;color:#c0392b}.filter-mode-exclude:hover{background:#e74c3c40;border-color:#e74c3c99}.filter-chip-header{display:flex;justify-content:space-between;align-items:center;gap:.3rem}.filter-attribute{font-weight:600;color:var(--text-primary);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;transition:all .2s;padding:.15rem .35rem;border-radius:3px}.filter-attribute:hover{background:var(--bg-tertiary);color:var(--accent-primary);text-decoration:underline}.filter-chip-controls{display:flex;align-items:center;gap:.35rem}.filter-operator-label{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:24px;padding:0 .3rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;font-size:.9rem;font-weight:600;color:var(--text-secondary);cursor:default;-webkit-user-select:none;user-select:none}.filter-operator{padding:.2rem .3rem;background:linear-gradient(135deg,var(--accent-gradient-start) 0%,var(--accent-gradient-end) 100%);color:#fff;border:1px solid var(--accent-primary);border-radius:3px;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .2s;text-align:center;box-shadow:0 1px 2px var(--shadow-sm);position:relative;min-width:22px;line-height:1;flex-shrink:0;height:22px;display:flex;align-items:center;justify-content:center}.filter-operator[data-operator="="]{background:var(--accent-primary);border-color:var(--accent-secondary)}.filter-operator[data-operator="!="]{background:var(--danger);border-color:#9a7060}.filter-operator[data-operator=">"],.filter-operator[data-operator="<"]{background:linear-gradient(135deg,var(--accent-gradient-start) 0%,var(--accent-gradient-end) 100%);border-color:var(--accent-primary)}.filter-operator:hover{background:linear-gradient(135deg,var(--accent-secondary) 0%,var(--accent-primary) 100%);border-color:var(--accent-secondary);box-shadow:0 2px 4px var(--shadow-md)}.filter-operator:active{transform:scale(.95);box-shadow:0 1px 2px var(--shadow-sm)}.filter-input-wrapper{position:relative;min-width:0;flex:1}.filter-input{width:100%;padding:.3rem .45rem;border:1px solid var(--border-color);border-radius:4px;font-size:.85rem;background:var(--bg-primary);color:var(--text-primary);outline:none;transition:all .2s}.filter-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--shadow-sm)}.filter-slider-wrapper{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:150px}.filter-slider-range-labels{display:flex;justify-content:space-between;font-size:.65rem;color:var(--text-tertiary);font-family:monospace;padding:0 2px;-webkit-user-select:none;user-select:none}.filter-slider-track-container{position:relative;height:22px;display:flex;align-items:center}.filter-slider-active-region{position:absolute;top:50%;transform:translateY(-50%);height:6px;border-radius:3px;background:var(--accent-primary);opacity:.45;pointer-events:none;z-index:1}.filter-slider{width:100%;height:6px;border-radius:3px;background:var(--bg-tertiary);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;position:relative;z-index:2}.filter-slider::-webkit-slider-track{width:100%;height:6px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:3px}.filter-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent-primary);border:2px solid var(--card-bg);cursor:pointer;box-shadow:0 0 0 2px var(--accent-primary),0 2px 6px var(--shadow-md)}.filter-slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 0 0 3px var(--accent-primary),0 3px 8px var(--shadow-md)}.filter-slider::-webkit-slider-thumb:active{transform:scale(1.05);box-shadow:0 0 0 2px var(--accent-secondary),0 1px 3px var(--shadow-sm)}.filter-slider::-moz-range-track{width:100%;height:6px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:3px}.filter-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--accent-primary);border:2px solid var(--card-bg);cursor:pointer;box-shadow:0 0 0 2px var(--accent-primary),0 2px 6px var(--shadow-md)}.filter-slider::-moz-range-thumb:hover{transform:scale(1.15);box-shadow:0 0 0 3px var(--accent-primary),0 3px 8px var(--shadow-md)}.filter-slider::-moz-range-thumb:active{transform:scale(1.05);box-shadow:0 0 0 2px var(--accent-secondary),0 1px 3px var(--shadow-sm)}.filter-slider:focus{background:var(--border-color)}.filter-slider-value{font-size:.85rem;color:var(--text-primary);text-align:center;font-weight:700;font-family:monospace;padding:.2rem .4rem;background:var(--bg-tertiary);border-radius:3px;border:1px solid var(--border-color);white-space:nowrap;overflow:visible}.filter-slider-operator{color:var(--accent-primary);font-weight:800;font-size:1.05rem}.filter-dropdown{position:fixed;background:var(--card-bg);border:1px solid var(--accent-primary);border-radius:4px;box-shadow:0 4px 16px var(--shadow-lg);max-height:180px;overflow-y:auto;z-index:9999;animation:dropdownSlideIn .15s ease-out}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.filter-dropdown-item{padding:.5rem .6rem;cursor:pointer;transition:all .15s;border-bottom:1px solid var(--border-color-light);font-size:.95rem;color:var(--text-primary)}.filter-dropdown-item:last-child{border-bottom:none}.filter-dropdown-item:hover{background:linear-gradient(90deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);color:var(--accent-primary);font-weight:600;padding-left:1rem}.filter-dropdown-item:active{background:var(--accent-primary);color:#fff}.filter-remove{width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:2px;font-size:1.1rem;color:var(--text-tertiary);cursor:pointer;transition:all .2s;line-height:1;flex-shrink:0;padding:0}.filter-remove:hover{background:#f4433633;color:#f44336}.btn-add-filter,.btn-add-sort{flex:1;padding:.4rem .65rem;background:var(--accent-primary);color:var(--bg-primary);border:none;border-radius:4px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px var(--shadow-sm);letter-spacing:0}.btn-add-filter:hover,.btn-add-sort:hover{transform:translateY(-2px);box-shadow:0 8px 16px var(--shadow-md),0 0 0 3px var(--glow-accent);background:var(--accent-secondary);color:var(--bg-primary)}.hint-text{display:block;margin-top:.3rem;font-size:.7rem;color:var(--text-tertiary);text-align:center}.sort-display{padding:.75rem;margin-bottom:1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.sort-label{font-size:.85rem;color:var(--text-tertiary);display:block;margin-bottom:.5rem}.sort-chip{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px}.sort-attribute{flex:1;font-size:.9rem;font-weight:500;color:var(--text-primary)}.sort-direction-btn{padding:.25rem .4rem;background:var(--accent-primary);color:#fff;border:none;border-radius:4px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .2s;line-height:1;min-width:32px;height:28px;display:flex;align-items:center;justify-content:center}.sort-direction-btn[data-direction=asc]{background:var(--accent-primary);color:#fff}.sort-direction-btn[data-direction=desc]{background:#fff;color:var(--accent-primary);border:2px solid var(--accent-primary)}.sort-direction-btn:hover{background:var(--accent-secondary);transform:scale(1.1)}.sort-direction-btn[data-direction=desc]:hover{background:var(--bg-tertiary);color:var(--accent-secondary);border-color:var(--accent-secondary)}.sort-remove-btn{padding:.2rem .3rem;background:transparent;color:var(--text-tertiary);border:none;border-radius:4px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s;min-width:24px;height:24px;display:flex;align-items:center;justify-content:center;line-height:1}.sort-remove-btn:hover{background:var(--bg-tertiary);color:#f44336}.results-section{max-width:1400px;margin:0 auto;padding:2rem}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0;padding:.8rem 1rem;border-bottom:2px solid var(--border-color);gap:.5rem;flex-wrap:wrap;background:var(--bg-primary)}.results-header-left{display:flex;align-items:center;gap:.4rem}.results-header-right{display:flex;align-items:center;gap:.5rem}.gear-ratio-control{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;padding:.75rem;margin-bottom:.75rem}.gear-ratio-header{display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem}.gear-ratio-icon{font-size:1rem}.gear-ratio-label{font-size:.8rem;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.03em}.gear-ratio-input-row{display:flex;align-items:center;gap:0}.gear-ratio-step{width:32px;height:36px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-size:1.1rem;font-weight:700;cursor:pointer;transition:background .15s;display:flex;align-items:center;justify-content:center}.gear-ratio-step:first-child{border-radius:4px 0 0 4px}.gear-ratio-step:last-child{border-radius:0 4px 4px 0}.gear-ratio-step:hover:not(:disabled){background:var(--bg-tertiary)}.gear-ratio-step:disabled{opacity:.3;cursor:default}.gear-ratio-display{flex:1;display:flex;align-items:center;justify-content:center;height:36px;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.gear-ratio-input{width:2.5rem;padding:0;border:none;background:transparent;color:var(--text-primary);font-size:1.1rem;font-weight:800;text-align:right;font-variant-numeric:tabular-nums;outline:none;-moz-appearance:textfield}.gear-ratio-input::-webkit-outer-spin-button,.gear-ratio-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.gear-ratio-suffix{font-size:1.1rem;font-weight:800;color:var(--text-tertiary);margin-left:.1rem}.gear-ratio-reset{width:100%;margin-top:.4rem;padding:.25rem;background:none;border:none;color:var(--text-tertiary);font-size:.65rem;cursor:pointer;text-align:center;transition:color .15s}.gear-ratio-reset:hover{color:var(--text-primary)}.gear-auto-toggle{margin-left:auto;padding:.15rem .5rem;border-radius:3px;font-size:.65rem;font-weight:700;letter-spacing:.03em;cursor:pointer;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);transition:all .15s}.gear-auto-toggle:hover{border-color:var(--accent-primary);color:var(--text-primary)}.gear-auto-toggle.gear-auto-active{background:#2ecc7126;border-color:#2ecc7166;color:#27ae60}.gear-auto-toggle.gear-auto-active:hover{background:#2ecc7140}.gear-auto-hint{font-size:.65rem;color:var(--text-tertiary);line-height:1.3;margin-top:.15rem}.gear-auto-summary{margin-top:.35rem;padding:.45rem .5rem;background:linear-gradient(135deg,#2ecc7114,#2ecc7126);border:1px solid rgba(46,204,113,.3);border-radius:4px}.gear-auto-range{display:flex;align-items:baseline;justify-content:center;gap:.15rem}.gear-auto-value{font-size:1.2rem;font-weight:800;color:var(--text-primary);font-variant-numeric:tabular-nums}.gear-auto-sep{font-size:.9rem;color:var(--text-tertiary);font-weight:600}.gear-auto-unit{font-size:.85rem;font-weight:700;color:var(--text-tertiary)}.gear-auto-detail{font-size:.65rem;color:var(--text-tertiary);text-align:center;margin-top:.2rem;line-height:1.3}.gear-ratio-col{text-align:center}.gear-ratio-cell{text-align:center;font-variant-numeric:tabular-nums}.transmission-type-row{display:flex;gap:0;margin-bottom:.6rem;border-radius:4px;overflow:hidden;border:1px solid var(--border-color)}.transmission-type-btn{flex:1;padding:.3rem 0;border:none;background:var(--bg-secondary);color:var(--text-secondary);font-size:.7rem;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:all .15s}.transmission-type-btn:not(:last-child){border-right:1px solid var(--border-color)}.transmission-type-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.transmission-type-btn.transmission-type-active{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);color:#fff}.transmission-param{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-color)}.transmission-param-label{display:block;font-size:.7rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.3rem}.transmission-param-input-row{display:flex;align-items:center;gap:.4rem}.transmission-param-input{flex:1;height:32px;padding:0 .4rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-tertiary);color:var(--text-primary);font-size:.9rem;font-weight:700;font-variant-numeric:tabular-nums;outline:none;-moz-appearance:textfield}.transmission-param-input::-webkit-outer-spin-button,.transmission-param-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.transmission-param-input:focus{border-color:var(--accent-primary)}.transmission-param-unit{font-size:.7rem;font-weight:600;color:var(--text-tertiary);white-space:nowrap}.transmission-param-hint{font-size:.65rem;color:var(--text-tertiary);line-height:1.3;margin-top:.2rem}.transmission-efficiency-slider{flex:1;height:4px;cursor:pointer;accent-color:var(--accent-primary)}.computed-col{background:#3498db0f}.computed-cell{background:#3498db0a;font-variant-numeric:tabular-nums}.computed-cell-warning{background:#e74c3c1f;color:#e74c3c}.results-count{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.pagination-controls{display:flex;align-items:center;gap:.5rem}.pagination-label{font-size:.9rem;color:var(--text-secondary);font-weight:500}.pagination-select{padding:.3rem .6rem;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-size:.8rem;font-weight:600;cursor:pointer;outline:none}.pagination-select:hover{border-color:var(--accent-primary);background:var(--bg-tertiary)}.pagination-select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--glow-accent)}.pagination-nav{display:flex;justify-content:center;align-items:center;gap:.6rem;margin-top:0;padding:1rem;border-top:2px solid var(--border-color);background:var(--bg-primary)}.pagination-info{font-size:.95rem;font-weight:600;color:var(--text-primary);min-width:120px;text-align:center}.pagination-btn{padding:.35rem .7rem;background:var(--accent-primary);border:none;color:var(--bg-primary);font-size:.85rem;font-weight:600;cursor:pointer;border-radius:4px;height:28px;display:flex;align-items:center;justify-content:center;min-width:32px}.pagination-btn:hover:not(:disabled){background:var(--accent-secondary);color:var(--bg-primary)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed;background:var(--bg-tertiary)}.btn-refresh{padding:.35rem .7rem;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 1px 2px var(--shadow-sm);white-space:nowrap;height:28px;display:flex;align-items:center;justify-content:center;gap:.3rem}.btn-refresh:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--accent-primary);transform:translateY(-1px);box-shadow:0 3px 8px var(--shadow-md)}.btn-refresh:disabled{opacity:.5;cursor:not-allowed}.btn-sort-inline{padding:.35rem .7rem;background:var(--accent-primary);color:var(--bg-primary);border:none;border-radius:4px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 1px 2px var(--shadow-sm);white-space:nowrap;height:28px;display:flex;align-items:center;justify-content:center;gap:.3rem}.btn-sort-inline:hover{background:var(--accent-secondary);color:var(--bg-primary);transform:translateY(-1px);box-shadow:0 3px 8px var(--shadow-md)}.sort-control-active{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.sort-chips-container{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.sort-label-inline{font-size:.9rem;color:var(--text-secondary);font-weight:500;white-space:nowrap}.sort-chip-inline{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px}.sort-chip-draggable{display:flex;align-items:center;gap:.3rem;padding:.2rem .4rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;cursor:grab;transition:all .2s;position:relative}.sort-chip-draggable:hover{border-color:var(--accent-primary);box-shadow:0 2px 8px var(--shadow-sm);transform:translateY(-1px)}.sort-chip-draggable.dragging{opacity:.5;cursor:grabbing}.sort-order-number{display:flex;align-items:center;justify-content:center;width:16px;height:16px;background:var(--accent-primary);color:#fff;border-radius:50%;font-size:.65rem;font-weight:700}.btn-add-sort-small{padding:.3rem .6rem;background:var(--accent-primary);color:var(--bg-primary);border:none;border-radius:4px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;height:24px;display:flex;align-items:center;justify-content:center}.btn-add-sort-small:hover{background:var(--accent-secondary);color:var(--bg-primary)}.sort-attribute-inline{font-size:.8rem;font-weight:600;color:var(--text-primary);white-space:nowrap;transition:all .2s;padding:.2rem .4rem;border-radius:3px}.sort-attribute-inline:hover{background:var(--bg-tertiary);color:var(--accent-primary);text-decoration:underline}.sort-direction-btn-inline{padding:.15rem .3rem;background:var(--accent-primary);color:#fff;border:none;border-radius:3px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap;line-height:1;display:flex;align-items:center;justify-content:center;min-width:24px;height:22px}.sort-direction-btn-inline[data-direction=asc]{background:var(--accent-primary);color:#fff}.sort-direction-btn-inline[data-direction=desc]{background:#fff;color:var(--accent-primary);border:2px solid var(--accent-primary)}.sort-direction-btn-inline:hover{background:var(--accent-secondary);transform:scale(1.05)}.sort-direction-btn-inline[data-direction=desc]:hover{background:var(--bg-tertiary);color:var(--accent-secondary);border-color:var(--accent-secondary)}.sort-remove-btn-inline{padding:0;background:transparent;color:var(--text-tertiary);border:none;border-radius:2px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;line-height:1;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.sort-remove-btn-inline:hover{background:var(--bg-tertiary);color:#f44336}.empty-state-minimal{text-align:center;padding:4rem 2rem;color:var(--text-tertiary)}.product-grid{display:table;table-layout:fixed;width:100%;border-collapse:separate;border-spacing:0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);overflow:hidden;margin:0}.product-grid-headers{display:table-row;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%)}.product-grid-header-item{display:table-cell;vertical-align:middle;text-align:center;padding:.3rem .4rem;border-bottom:2px solid var(--border-color);position:relative;background:var(--bg-secondary);overflow:hidden;text-overflow:ellipsis}.product-grid-header-item.clickable{cursor:pointer;transition:all .2s}.product-grid-header-item.clickable:hover{background:var(--bg-tertiary)}.product-grid-header-item.removable{padding-top:1rem}.column-remove-btn{position:absolute;top:2px;right:2px;width:16px;height:16px;border:none;background:var(--accent-primary);color:#fff;border-radius:50%;font-size:.9rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.7;transition:all .2s}.column-remove-btn:hover{opacity:1;transform:scale(1.1);background:var(--danger)}.add-column-btn{display:table-cell;padding:.6rem .8rem;background:var(--accent-primary);color:#fff;border:none;border-bottom:2px solid var(--border-color);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;text-align:center;vertical-align:middle}.add-column-btn:hover{background:var(--accent-secondary)}.col-resize-handle{position:absolute;top:0;right:0;width:5px;height:100%;cursor:col-resize;background:transparent;z-index:2;transition:background .15s}.col-resize-handle:hover,.col-resize-handle:active{background:var(--accent-primary)}.product-grid-header-label{font-size:.8rem;font-weight:600;color:var(--text-primary);text-align:center;line-height:1.3;display:block;gap:.3rem}.sort-indicator{display:inline-flex;align-items:center;gap:.15rem;font-size:.85rem;font-weight:700;color:var(--text-tertiary);transition:color .2s}.product-grid-header-item.clickable:hover .sort-indicator{color:var(--accent-primary)}.product-grid-header-item.clickable .sort-indicator:has(.sort-order){color:var(--accent-primary)}.sort-indicator:not(:empty):not(:has(:only-child)){color:var(--accent-primary)}.sort-order{font-size:.65rem;color:#fff;font-weight:700;background:var(--accent-primary);border-radius:50%;width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;line-height:1}.product-grid-header-unit{font-size:.7rem;font-weight:600;color:var(--text-tertiary);text-align:center;line-height:1;display:block;margin-top:.2rem}.product-grid-header-part{display:table-cell;position:relative;font-size:.8rem;font-weight:600;color:var(--text-secondary);border-right:2px solid var(--border-color);border-bottom:2px solid var(--border-color);text-align:left;vertical-align:middle;width:var(--product-part-width);padding:.3rem .8rem;background:var(--bg-secondary);cursor:pointer;transition:background-color .2s}.product-grid-header-part:hover{background:var(--bg-tertiary)}.product-card-minimal{display:table-row;background:var(--card-bg);transition:all .2s ease;cursor:pointer}.product-card-minimal:hover{background:var(--bg-secondary)}.product-card-minimal:nth-child(2n){background:var(--bg-primary)}.product-card-minimal:nth-child(2n):hover{background:var(--bg-secondary)}.product-card-minimal:last-child .product-card-info,.product-card-minimal:last-child .spec-header-item{border-bottom:none}.product-card-header{min-width:250px;padding-right:.7rem;border-right:1px solid var(--border-color-light)}.product-manufacturer{display:block;font-size:.8rem;color:var(--text-secondary);font-weight:500;margin-bottom:.05rem}.product-part{display:block;font-weight:700;color:var(--text-primary);font-size:1rem;font-family:IBM Plex Mono,Courier New,monospace}.product-name{display:block;font-size:.85rem;color:var(--text-secondary);font-weight:600;margin-top:.1rem;margin-bottom:.05rem}.product-card-specs{display:flex;flex-wrap:wrap;gap:.2rem;flex:1;align-items:center}.spec-header-item{display:table-cell;vertical-align:middle;text-align:center;padding:.3rem .4rem;border-bottom:1px solid var(--border-color-light);transition:all .2s;overflow:hidden;text-overflow:ellipsis}.spec-header-value{font-size:.85rem;font-weight:400;color:var(--text-primary);font-family:IBM Plex Mono,Courier New,monospace;line-height:1.3;text-align:center;display:block}.spec-header-item-filtered{background:var(--accent-primary)}.spec-header-item-filtered .spec-header-value{color:#fff;font-weight:700}.spec-header-item-sorted{background:#6495ed26}.spec-header-item-sorted .spec-header-value{color:var(--text-primary);font-weight:700}.product-card-info{display:table-cell;vertical-align:middle;text-align:left;width:var(--product-part-width);padding:.3rem .8rem;border-right:2px solid var(--border-color);border-bottom:1px solid var(--border-color-light)}.product-info-part{font-size:.85rem;color:var(--text-primary);font-weight:600;font-family:IBM Plex Mono,Courier New,monospace;white-space:nowrap;display:block;overflow:hidden;text-overflow:ellipsis;width:100%;text-align:left}.spec-item{padding:.15rem .45rem;background:linear-gradient(135deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%);border-radius:6px;font-size:.8rem;color:var(--text-secondary);border:1px solid var(--border-color-light);white-space:nowrap}.spec-item-sorted{background:linear-gradient(135deg,#6495ed47,#4682dc3b);border:1px solid rgba(100,149,237,.45);color:var(--text-primary);font-weight:600;box-shadow:0 1px 3px var(--shadow-sm)}.spec-item-filtered{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);border:1px solid var(--accent-primary);color:#fff;font-weight:700;box-shadow:0 2px 6px var(--shadow-sm)}.product-detail-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease-out}.product-detail-modal{background:linear-gradient(135deg,var(--card-bg) 0%,var(--bg-secondary) 100%);border:2px solid var(--border-color);border-radius:8px;box-shadow:0 20px 60px var(--shadow-lg);width:90%;max-width:600px;max-height:85vh;display:flex;flex-direction:column;animation:modalExpand .5s cubic-bezier(.34,1.15,.4,1);position:relative;overflow:hidden}@keyframes modalExpand{0%{transform:scale(.4);opacity:0}50%{transform:scale(1.03);opacity:1}75%{transform:scale(.98)}to{transform:scale(1);opacity:1}}.product-detail-modal:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent-gradient-start) 0%,var(--accent-gradient-end) 100%)}.product-detail-header{display:flex;justify-content:space-between;align-items:flex-start;padding:.8rem 1rem .6rem;border-bottom:2px solid var(--border-color);background:linear-gradient(180deg,var(--bg-secondary) 0%,var(--card-bg) 100%)}.product-detail-header h2{font-size:1.25rem;color:var(--text-primary);margin-bottom:.15rem;background:linear-gradient(135deg,var(--accent-gradient-start) 0%,var(--accent-gradient-end) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.product-detail-part{font-family:IBM Plex Mono,Courier New,monospace;font-size:1rem;color:var(--text-secondary);font-weight:600;margin:0}.product-detail-part-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--accent-primary);text-decoration:none;transition:all .2s;padding:.1rem 0;cursor:pointer}.product-detail-part-link:hover{color:var(--accent-secondary);gap:.65rem}.product-detail-part-link svg{opacity:.7;transition:all .2s;flex-shrink:0}.product-detail-part-link:hover svg{opacity:1;transform:translate(2px) translateY(-2px)}.product-detail-type{font-size:.8rem;color:var(--text-tertiary);margin-top:.1rem}.product-detail-pages{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;margin-top:.4rem}.product-detail-pages-label{font-size:.75rem;color:var(--text-tertiary);margin-right:.15rem}.product-detail-page-link{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;padding:0 .3rem;font-size:.75rem;font-weight:600;color:var(--accent-primary);background:var(--bg-tertiary);border:1px solid var(--border-color-light);border-radius:3px;text-decoration:none;transition:all .15s ease}.product-detail-page-link:hover{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.product-detail-close{background:var(--bg-tertiary);border:2px solid var(--border-color);font-size:1.2rem;cursor:pointer;color:var(--text-tertiary);width:28px;height:28px;min-width:28px;min-height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;flex-shrink:0;line-height:1;padding:0}.product-detail-close:hover{background:#b0867433;border-color:var(--danger);color:var(--danger);transform:rotate(90deg)}.product-detail-content{overflow-y:auto;padding:.5rem 1rem}.spec-category{margin-bottom:.5rem}.spec-category:last-child{margin-bottom:0}.spec-category-title{font-size:.85rem;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:1px;margin-bottom:.2rem;padding-bottom:.15rem;border-bottom:2px solid var(--border-color);background:linear-gradient(90deg,var(--accent-gradient-start) 0%,var(--accent-gradient-end) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.spec-table{width:100%;border-collapse:collapse}.spec-row{border-bottom:1px solid var(--border-color-light);transition:all .2s}.spec-row:last-child{border-bottom:none}.spec-row:hover{background:linear-gradient(90deg,var(--bg-secondary) 0%,transparent 100%)}.spec-label{padding:.2rem .5rem;font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:capitalize;width:40%;vertical-align:middle}.spec-value{padding:.2rem .5rem;font-size:.85rem;color:var(--text-primary);font-weight:500;font-family:IBM Plex Mono,Courier New,monospace;width:40%;vertical-align:middle}.spec-unit{padding:.2rem .5rem;font-size:.8rem;color:var(--text-tertiary);font-weight:600;text-align:right;width:20%;vertical-align:middle}.spec-row-nested{background:var(--bg-secondary)}.spec-value-nested{padding:.15rem 0}.spec-subtable{width:100%;border-collapse:collapse;margin:0}.spec-subrow{border-bottom:1px solid var(--border-color-light)}.spec-subrow:last-child{border-bottom:none}.spec-subrow:hover{background:linear-gradient(90deg,var(--bg-tertiary) 0%,transparent 100%)}.spec-sublabel{padding:.15rem .5rem .15rem 1.5rem;font-size:.8rem;font-weight:500;color:var(--text-tertiary);text-transform:capitalize;width:40%;vertical-align:middle}.spec-subvalue{padding:.15rem .5rem;font-size:.85rem;color:var(--text-primary);font-weight:400;font-family:IBM Plex Mono,Courier New,monospace;width:40%;vertical-align:middle}.spec-subunit{padding:.15rem .5rem;font-size:.8rem;color:var(--text-tertiary);font-weight:600;text-align:right;width:20%;vertical-align:middle}.recommendation-chat{display:flex;flex-direction:column;height:calc(100vh - 60px);background:var(--bg-primary)}.chat-messages{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.chat-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;text-align:center;color:var(--text-secondary);padding:2rem}.chat-welcome h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:.5rem}.chat-welcome p{margin-bottom:1.5rem;max-width:500px}.chat-suggestions{display:flex;flex-direction:column;gap:.5rem;max-width:500px;width:100%}.chat-suggestion-btn{background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;padding:.65rem 1rem;color:var(--text-secondary);font-size:.85rem;text-align:left;cursor:pointer;transition:all .15s ease}.chat-suggestion-btn:hover{border-color:var(--accent-primary);color:var(--text-primary);background:var(--bg-secondary)}.chat-bubble{max-width:80%;display:flex;flex-direction:column;gap:.5rem}.chat-bubble-user{align-self:flex-end}.chat-bubble-assistant{align-self:flex-start}.chat-bubble-content{padding:.75rem 1rem;border-radius:8px;font-size:.9rem;line-height:1.5;white-space:pre-wrap}.chat-bubble-user .chat-bubble-content{background:var(--accent-primary);color:#fff;border-bottom-right-radius:2px}.chat-bubble-assistant .chat-bubble-content{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-primary);border-bottom-left-radius:2px}.chat-loading{opacity:.6;font-style:italic}.chat-products{display:flex;flex-wrap:wrap;gap:.5rem}.chat-product-card{display:flex;flex-direction:column;gap:.2rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:.6rem .8rem;cursor:pointer;transition:all .15s ease;text-align:left;min-width:200px;max-width:280px}.chat-product-card:hover{border-color:var(--accent-primary);box-shadow:0 2px 8px var(--shadow-md)}.chat-product-header{display:flex;justify-content:space-between;align-items:center}.chat-product-manufacturer{font-weight:600;font-size:.8rem;color:var(--text-primary)}.chat-product-type{font-size:.7rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em}.chat-product-part{font-size:.85rem;color:var(--text-secondary);font-weight:500}.chat-product-part-link{font-size:.85rem;color:var(--accent-primary);font-weight:500;text-decoration:none}.chat-product-part-link:hover{text-decoration:underline}.chat-product-specs{font-size:.75rem;color:var(--text-tertiary)}.chat-error{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;background:#dc32321a;border:1px solid rgba(220,50,50,.3);border-radius:6px;color:#dc3232;font-size:.85rem}.chat-error button{background:none;border:none;color:inherit;text-decoration:underline;cursor:pointer;font-size:.8rem;padding:0;min-height:auto;min-width:auto}.chat-input-area{display:flex;gap:.5rem;padding:.75rem 1.5rem;border-top:1px solid var(--border-color);background:var(--card-bg)}.chat-input{flex:1;padding:.6rem .85rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:.9rem;outline:none;transition:border-color .15s}.chat-input:focus{border-color:var(--accent-primary)}.chat-input:disabled{opacity:.6}.chat-send-btn{padding:.6rem 1.2rem;background:var(--accent-primary);color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.9rem;cursor:pointer;transition:background .15s;min-height:auto}.chat-send-btn:hover:not(:disabled){background:var(--accent-secondary)}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.chat-messages{padding:1rem}.chat-bubble{max-width:92%}.chat-input-area{padding:.5rem .75rem}.chat-product-card{min-width:160px}.chat-suggestion-btn{font-size:.8rem}}.mobile-filter-toggle{display:none}@media(max-width:768px){.header{padding:1rem 1.25rem;flex-wrap:wrap}.header h1{font-size:1.25rem}.nav ul{flex-direction:column;gap:0}.nav li{width:100%;border-bottom:1px solid var(--border-color-light)}.nav li:last-child{border-bottom:none}.nav a{padding:1rem;display:block;min-height:44px}.filter-bar{width:100%;max-width:none;min-width:unset;border-right:none;border-bottom:1px solid var(--border-color)}.page-split,.page-split-layout{flex-direction:column}.filter-sidebar{width:100%;min-width:unset;position:static;height:auto;order:-1;border-right:none;border-bottom:1px solid var(--border-color);padding:0;max-height:none;overflow:visible;box-shadow:0 2px 8px var(--shadow-sm)}.mobile-filter-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem 1rem;background:var(--card-bg);border:none;border-bottom:1px solid var(--border-color-light);color:var(--text-primary);font-size:.95rem;font-weight:600;cursor:pointer;min-height:44px}.mobile-filter-toggle:active{background:var(--bg-secondary)}.mobile-filter-summary{display:flex;align-items:center;gap:.5rem}.mobile-filter-count{display:inline-flex;align-items:center;justify-content:center;background:var(--accent-primary);color:#fff;font-size:.75rem;font-weight:700;width:1.4rem;height:1.4rem;border-radius:50%}.mobile-filter-arrow{transition:transform .2s ease;font-size:.8rem;color:var(--text-secondary)}.mobile-filter-arrow.open{transform:rotate(180deg)}.filter-sidebar-body{display:none;padding:.75rem 1rem}.filter-sidebar-body.mobile-expanded{display:block}.results-main{padding:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.product-grid{min-width:600px}.results-header{padding:.8rem .5rem;overflow-x:auto}.product-card{padding:1rem}.filter-chips{gap:.5rem}.filter-chip{font-size:.85rem;padding:.5rem .75rem;min-height:44px}button{min-height:44px;min-width:44px;padding:.75rem 1rem}.modal-overlay{padding:0}.modal-content{max-width:100%;max-height:100%;margin:0;border-radius:0;width:100vw;height:100vh}.stats-grid{grid-template-columns:1fr;gap:1rem}.sort-controls{flex-direction:column;gap:.75rem}.attribute-selector{max-width:100%;max-height:100%;margin:0;border-radius:0;width:100vw;height:100vh}.attribute-selector-overlay{padding:1rem;justify-content:center;align-items:center}.attribute-selector-modal{width:calc(100vw - 2rem);max-width:260px;max-height:50vh}}@media(max-width:375px){.header h1{font-size:1.1rem}.filter-chip{font-size:.8rem;padding:.4rem .6rem}.product-card{padding:.75rem}}@media(max-width:768px)and (orientation:landscape){.modal-content,.attribute-selector{max-height:90vh;overflow-y:auto}}@media(min-width:769px)and (max-width:1024px){.filter-sidebar{width:280px;min-width:280px}.filter-bar{width:280px}.results-header{padding:.8rem}}@media(hover:none)and (pointer:coarse){.product-card:hover,.filter-chip:hover,button:hover{transform:none}.product-card:active{transform:scale(.98);opacity:.9}.filter-chip:active,button:active{transform:scale(.95);opacity:.8}.product-list,.modal-content,.attribute-selector{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}input,select,textarea{font-size:16px;min-height:44px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(prefers-color-scheme:dark){:root{--bg-primary: #000000;--bg-secondary: #0d1117}}@media(prefers-contrast:high){:root{--border-color: currentColor;--text-secondary: var(--text-primary)}.product-card,.filter-chip,button{border-width:2px}}.skeleton{background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-tertiary) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:4px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-card{height:200px;margin-bottom:1rem}.skeleton-text{height:1rem;margin-bottom:.5rem}.skeleton-text:last-child{width:60%}.error-container{text-align:center;padding:2rem;color:var(--text-secondary)}.retry-button{margin-top:1rem;padding:.75rem 1.5rem;background:var(--accent-primary);color:var(--bg-primary);border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;min-height:44px;transition:all .2s}.retry-button:hover{background:var(--accent-secondary);color:var(--bg-primary);transform:translateY(-2px)}.retry-button:active{transform:translateY(0)}.connection-status{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.5rem;animation:pulse 2s ease-in-out infinite}.connection-status.online{background:var(--success)}.connection-status.offline{background:var(--danger)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}*,*:before,*:after{transition:none!important;animation-duration:0s!important}.skeleton,.loading-spinner,.loading,[class*=loading],[aria-busy=true]{animation-duration:revert!important}.skeleton{animation:skeleton-loading 1.5s ease-in-out infinite!important}.connection-status{animation:pulse 2s ease-in-out infinite!important}[role=alert]{animation-duration:.3s!important}*{border-radius:0!important}h1,h2,h3,h4,h5,h6{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-weight:600;letter-spacing:0}code,pre,.monospace{font-family:IBM Plex Mono,Courier New,monospace;letter-spacing:.02em}.product-card,.card,.modal-content,.filter-chip,.button,button,input,select,textarea{border:1px solid var(--border-color)!important;box-shadow:0 1px 2px #00000014!important}.app:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;background:repeating-linear-gradient(0deg,#0000,#00000008,#0000 2px);z-index:999;opacity:.3}.header h1:before{content:"▸ ";color:var(--accent-primary);margin-right:.5rem}.header h1:after{content:" ◂";color:var(--accent-primary);margin-left:.5rem}.nav a:before{content:"> ";color:var(--accent-primary);margin-right:.25rem;font-weight:700}.nav a[aria-current=page]:before{content:"▸ "}button,.button{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-weight:500;letter-spacing:0;padding:.35rem .8rem!important;border:none!important;background:var(--accent-primary)!important;color:var(--bg-primary)!important;position:relative;box-shadow:1px 1px #0000001f,inset 0 1px #ffffff0f!important}button:hover,.button:hover{background:var(--accent-secondary)!important;color:var(--bg-primary)!important;box-shadow:1px 2px #00000029,inset 0 1px #ffffff14!important}.product-card:before,.card:before{content:"┌";position:absolute;top:-1px;left:-1px;color:var(--accent-primary);font-size:1.2rem;line-height:1;font-weight:700}.product-card:after,.card:after{content:"┘";position:absolute;bottom:-1px;right:-1px;color:var(--accent-primary);font-size:1.2rem;line-height:1;font-weight:700}.filter-chip{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:.85rem;font-weight:500;letter-spacing:0;background:var(--bg-tertiary)!important;border:1px solid var(--border-color)!important;padding:.4rem .8rem!important;position:relative}.filter-chip:before{content:"[";color:var(--accent-primary);margin-right:.25rem;font-weight:700}.filter-chip:after{content:"]";color:var(--accent-primary);margin-left:.25rem;font-weight:700}table{border-collapse:collapse;width:100%}table th{font-weight:600;border-bottom:2px solid var(--border-color);padding:.5rem .75rem;text-align:left;font-size:.85rem}table td{border-bottom:1px solid var(--border-color);padding:.5rem .75rem;font-weight:400}.status-indicator,.badge{font-weight:600;font-size:.8rem;padding:.2rem .5rem;border:1px solid currentColor;display:inline-block}.loading:after{content:"...";animation:terminal-loading 1.5s steps(4) infinite}@keyframes terminal-loading{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}.numeric-value,.spec-value{font-family:IBM Plex Mono,Courier New,monospace;font-weight:500;font-feature-settings:"tnum" 1;letter-spacing:0}input[type=text],input[type=search],input[type=number],select,textarea{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:var(--bg-tertiary)!important;border:1px solid var(--border-color)!important;color:var(--text-primary);padding:.5rem .75rem!important;font-weight:400;font-size:.9rem}input:focus,select:focus,textarea:focus{border-color:var(--accent-primary)!important;outline:none;box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--accent-primary)!important}.header{position:relative;border-bottom:3px solid var(--accent-primary)!important}.header:after{content:"";position:absolute;bottom:-3px;left:0;width:100%;height:1px;background:repeating-linear-gradient(90deg,var(--accent-primary) 0px,var(--accent-primary) 10px,transparent 10px,transparent 20px)}.product-grid{display:table;table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;padding:0;gap:0}.product-card{position:relative;background:var(--card-bg);border:2px solid var(--border-color)!important;padding:1.5rem}.product-card:hover{border-color:var(--accent-primary)!important}.attribute-label,.spec-label{font-weight:500;font-size:.85rem;color:var(--text-secondary)}.attribute-value,.spec-value{font-family:IBM Plex Mono,Courier New,monospace;font-weight:500;color:var(--text-primary)}.theme-toggle{border:none!important;background:var(--accent-primary)!important;color:var(--bg-primary)!important;padding:.45rem!important;width:36px;height:36px}.theme-toggle:hover{background:var(--accent-secondary)!important;color:var(--bg-primary)!important}.theme-toggle svg{width:18px!important;height:18px!important}[role=alert]{font-weight:600;border-bottom:2px solid currentColor!important}[role=alert]:before{content:"⚠ ";font-size:1.2rem;margin-right:.5rem}.modal-content{border:3px solid var(--border-color)!important;box-shadow:8px 8px #0003,inset 2px 2px #ffffff08!important}.modal-content:before{content:"";position:absolute;top:0;left:0;width:100%;height:2rem;background:var(--bg-tertiary);border-bottom:2px solid var(--accent-primary)}hr{border:none;border-top:2px solid var(--border-color);margin:1.5rem 0;position:relative}hr:after{content:"▸";position:absolute;top:-.75rem;left:50%;transform:translate(-50%);background:var(--bg-primary);padding:0 1rem;color:var(--accent-primary);font-weight:700}.numeric-display{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
