.filter-sidebar{width:100%;transition:opacity var(--transition-normal)}.filter-sidebar.is-pending{opacity:.5}.filter-sidebar-title{font-size:1.25rem;font-weight:var(--font-weight-bold);margin-bottom:var(--space-4);color:var(--color-text-primary)}.filter-group{margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border)}.filter-group:last-child{border-bottom:none;padding-bottom:0}.filter-group-title{font-weight:var(--font-weight-bold);margin-bottom:var(--space-3);color:var(--color-text-primary)}.filter-group-list{gap:var(--space-2);flex-direction:column;display:flex}.filter-label{cursor:pointer;align-items:center;display:flex}.filter-checkbox-wrapper{width:1.25rem;height:1.25rem;margin-right:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);transition:border-color var(--transition-fast);justify-content:center;align-items:center;display:flex;position:relative}.filter-label:hover .filter-checkbox-wrapper{border-color:var(--color-primary)}.filter-checkbox-input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.filter-checkbox-checked{background-color:var(--color-primary);border-radius:2px;width:.75rem;height:.75rem}.filter-label-text{font-size:var(--text-sm);color:var(--color-text-primary);flex:1}.filter-label-count{font-size:var(--text-xs);color:var(--color-text-secondary)}
.active-filter-chips{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);transition:opacity var(--transition-normal);flex-wrap:wrap;display:flex}.active-filter-chips.is-pending{opacity:.5}.active-filter-chips-label{font-size:var(--text-sm);color:var(--color-text-secondary);margin-right:var(--space-2)}.active-filter-chip{align-items:center;gap:var(--space-2);background-color:var(--color-surface);border:1px solid var(--color-border);padding:var(--space-1) var(--space-3);font-size:var(--text-sm);color:var(--color-text-primary);border-radius:9999px;display:flex}.active-filter-chip-remove{color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.active-filter-chip-remove:hover{color:#ef4444}.active-filter-chips-clear{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-primary);cursor:pointer;margin-left:var(--space-2);background:0 0;border:none;padding:0;text-decoration:none}.active-filter-chips-clear:hover{text-decoration:underline}
.sort-dropdown{align-items:center;gap:var(--space-3);transition:opacity var(--transition-normal);display:flex}.sort-dropdown.is-pending{opacity:.5}.sort-dropdown-label{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.sort-dropdown-select{font-size:var(--text-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);background-color:var(--color-surface);color:var(--color-text-primary);transition:border-color var(--transition-fast);cursor:pointer;outline:none}.sort-dropdown-select:focus,.sort-dropdown-select:hover{border-color:var(--color-primary)}
.pagination-container{justify-content:center;align-items:center;gap:var(--space-2);margin-top:var(--space-8);transition:opacity var(--transition-normal);display:flex}.pagination-container.is-pending{opacity:.5}.pagination-btn{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);cursor:pointer;transition:background-color var(--transition-fast), opacity var(--transition-fast);background-color:#0000}.pagination-btn:hover:not(:disabled){background-color:var(--color-surface)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-page{border-radius:var(--radius-sm);border:1px solid var(--color-border);width:2.5rem;height:2.5rem;color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);background-color:#0000;justify-content:center;align-items:center;display:flex}.pagination-page:hover:not(.is-active){background-color:var(--color-surface)}.pagination-page.is-active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.pagination-ellipsis{width:2.5rem;height:2.5rem;color:var(--color-text-secondary);justify-content:center;align-items:center;display:flex}
.catalog-page-wrapper{background-color:var(--color-background)}.catalog-search-bar{margin-bottom:var(--space-8);background-color:var(--color-surface);padding:var(--space-6);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.catalog-search-form{gap:var(--space-4);max-width:800px;margin:0 auto;display:flex}.catalog-search-input{padding:var(--space-3) var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-md);flex:1;transition:border-color .2s}.catalog-search-input:focus{border-color:var(--color-primary);outline:none}.catalog-content-split{gap:var(--space-8);display:flex}.catalog-sidebar{flex-shrink:0}.catalog-main{flex:1;min-width:0}.catalog-controls{align-items:center;gap:var(--space-4);display:flex}.view-mode-toggle{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;overflow:hidden}.view-btn{padding:var(--space-2) var(--space-3);cursor:pointer;font-size:var(--text-lg);color:var(--color-text-secondary);background:0 0;border:none;transition:all .2s}.view-btn:hover{background-color:var(--color-surface-hover)}.view-btn.active{background-color:var(--color-primary);color:#fff}.catalog-grid{gap:var(--space-6);margin-bottom:var(--space-8);display:grid}.catalog-grid.grid-mode{grid-template-columns:repeat(2,1fr)}@media (min-width:640px){.catalog-grid.grid-mode{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (min-width:1024px){.catalog-grid.grid-mode{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}.catalog-grid.list-mode{grid-template-columns:1fr}.catalog-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.catalog-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary-light);transform:translateY(-2px)}.catalog-card-list{flex-direction:row;align-items:center}.catalog-card-image-wrap{aspect-ratio:1;width:100%;padding:var(--space-4);background-color:#fff;position:relative}.catalog-card-list .catalog-card-image-wrap{border-right:1px solid var(--color-border);flex-shrink:0;width:200px;height:200px}.catalog-card-image-wrap img{object-fit:contain;width:100%;height:100%}.catalog-card-overlay-actions{top:var(--space-2);right:var(--space-2);gap:var(--space-2);flex-direction:column;display:flex;position:absolute}.catalog-card-content{padding:var(--space-4);flex-direction:column;flex:1;display:flex}.catalog-card-meta{margin-bottom:var(--space-2);font-size:var(--text-xs);justify-content:space-between;align-items:center;display:flex}.catalog-card-sku{background-color:var(--color-background);border-radius:var(--radius-sm);color:var(--color-text-secondary);padding:2px 6px;font-family:monospace}.catalog-card-brand{text-transform:uppercase;color:var(--color-primary);font-weight:600}.catalog-card-title{font-size:var(--text-md);color:var(--color-text-primary);margin-bottom:var(--space-3);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;text-decoration:none;display:-webkit-box;overflow:hidden}.catalog-card-title:hover{color:var(--color-primary)}.catalog-card-specs{gap:var(--space-1);margin-bottom:var(--space-4);flex-direction:column;flex:1;display:flex}.catalog-spec-item{font-size:var(--text-sm);border-bottom:1px dashed var(--color-border);justify-content:space-between;padding-bottom:2px;display:flex}.spec-label{color:var(--color-text-secondary)}.spec-value{font-weight:500}.catalog-card-footer{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);flex-wrap:wrap;margin-top:auto;display:flex}.catalog-card-list .catalog-card-footer{margin-top:var(--space-4);border-top:none;padding-top:0}.catalog-docs .doc-link{font-size:var(--text-xs);align-items:center;gap:var(--space-1);border-radius:var(--radius-sm);padding:4px 8px;text-decoration:none;display:flex}.valid-doc{color:#16a34a;background-color:#22c55e1a;font-weight:500}.valid-doc:hover{background-color:#22c55e33}.no-doc{color:var(--color-text-secondary);font-style:italic}.listing-empty-state{padding:var(--space-12) var(--space-6);text-align:center;background-color:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-lg);margin:var(--space-8) 0;flex-direction:column;justify-content:center;align-items:center;display:flex}.listing-empty-title{font-size:var(--text-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-2)}.listing-empty-desc{font-size:var(--text-base);color:var(--color-text-secondary);margin-bottom:var(--space-6);max-width:400px}.catalog-actions{gap:var(--space-2);display:flex}.catalog-table-container{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;margin-bottom:var(--space-8);overflow-x:auto}.catalog-table{border-collapse:collapse;width:100%;min-width:800px}.catalog-table th,.catalog-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);text-align:left;font-size:var(--text-sm)}.catalog-table th{background-color:var(--color-background);color:var(--color-text-secondary);font-weight:600}.catalog-table-img{object-fit:contain;border-radius:var(--radius-sm);background-color:#fff;width:40px;height:40px}.catalog-table-sku{color:var(--color-text-secondary);font-family:monospace}.catalog-table-name a{color:var(--color-text-primary);font-weight:500;text-decoration:none}.catalog-table-name a:hover{color:var(--color-primary)}.catalog-table-specs{color:var(--color-text-secondary);font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;max-width:250px;overflow:hidden}.catalog-table-price{color:var(--color-primary);font-weight:700}.catalog-table-actions{gap:var(--space-2);display:flex}@media (max-width:768px){.catalog-search-form,.catalog-card-list{flex-direction:column}.catalog-card-list .catalog-card-image-wrap{border-right:none;border-bottom:1px solid var(--color-border);width:100%}}@media print{.hidden-print{display:none!important}.catalog-page-wrapper{background:#fff!important;padding:0!important}.catalog-card{break-inside:avoid;border:1px solid #ccc;box-shadow:none!important}.catalog-grid{gap:16px}.catalog-table-container{border:none}.catalog-table th,.catalog-table td{border-bottom:1px solid #ddd;padding:8px;color:#000!important}body{background:#fff!important}}
.mobile-filter-bar{z-index:90;background-color:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--space-2) var(--space-4);margin-bottom:var(--space-4);position:sticky;top:60px}.mobile-filter-btn{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);font-weight:var(--font-weight-bold);color:var(--color-text-primary);box-shadow:var(--shadow-sm);cursor:pointer;display:flex}.mobile-filter-btn:active{background-color:var(--color-surface-hover)}.mobile-filter-modal{background-color:var(--color-background);z-index:1000;flex-direction:column;width:100vw;height:100vh;animation:.3s cubic-bezier(.4,0,.2,1) slideUp;display:flex;position:fixed;top:0;left:0}.mobile-filter-modal-header{padding:var(--space-4);border-bottom:1px solid var(--color-border);background-color:var(--color-surface);justify-content:space-between;align-items:center;display:flex}.mobile-filter-modal-header h3{font-size:var(--text-lg);margin:0}.mobile-filter-close{font-size:var(--text-xl);color:var(--color-text-secondary);cursor:pointer;padding:var(--space-2);background:0 0;border:none}.mobile-filter-modal-content{padding:var(--space-4);background-color:var(--color-background);flex:1;overflow-y:auto}.mobile-filter-modal-footer{padding:var(--space-4);border-top:1px solid var(--color-border);background-color:var(--color-surface);box-shadow:0 -4px 12px #0000000d}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (min-width:1024px){.mobile-filter-bar{display:none}}
