.supplier-catalog { min-width: 0; }
.supplier-catalog [hidden] { display: none !important; }
.supplier-catalog .sc-help { margin: 0 0 14px; }
.supplier-catalog .sc-categories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; max-height: 260px; overflow-y: auto; padding: 8px 4px; margin: 6px 0; }
.supplier-catalog .sc-category, .supplier-catalog .sc-product { display: flex; flex-direction: row; align-items: center; gap: 10px; margin: 0; padding: 11px 10px; min-height: 44px; border-radius: 8px; cursor: pointer; font-weight: 500; overflow-wrap: anywhere; }
.supplier-catalog .sc-category:hover, .supplier-catalog .sc-product:hover { background: #edf5e9; }
.supplier-catalog .sc-category:has(input:checked), .supplier-catalog .sc-product:has(input:checked) { background: #e6f1e0; }
.supplier-catalog input[type="checkbox"] { flex: 0 0 auto; width: 18px; height: 18px; margin: 0; accent-color: #4e8f43; }
.supplier-catalog .sc-category-count { margin-left: auto; }
.supplier-catalog [data-sc-category-count] { margin-left: auto; color: #2c642c; }
.supplier-catalog .sc-selection { margin: 18px 0; padding: 14px; border: 1px solid #cbddc4; border-radius: 10px; background: #f5f9f2; }
.supplier-catalog .sc-summary-group { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.supplier-catalog .sc-summary-group > strong { flex-basis: 100%; font-size: 14px; }
.supplier-catalog .sc-chip { max-width: 100%; white-space: normal; overflow-wrap: anywhere; background: white; color: #234921; border: 1px solid #bdcfb5; border-radius: 20px; min-height: 40px; padding: 7px 12px; cursor: pointer; font: inherit; }
.supplier-catalog .sc-panel { min-width: 0; padding: 14px; margin-top: 14px; border: 1px solid #d5e2cf; border-radius: 10px; }
.supplier-catalog .sc-panel h3 { margin: 0 0 12px; font-size: 18px; overflow-wrap: anywhere; }
.supplier-catalog .sc-search { display: block; font-size: 14px; }
.supplier-catalog .sc-search input { width: 100%; min-width: 0; box-sizing: border-box; margin: 6px 0 10px; }
.supplier-catalog .sc-products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px; max-height: 280px; overflow-y: auto; }
.supplier-catalog .sc-empty { margin: 8px 0; }
.supplier-catalog .sc-error { color: #a22323; font-weight: 600; }
.supplier-catalog :focus-visible { outline: 3px solid #397c35; outline-offset: 2px; }
@media(max-width: 560px) { .supplier-catalog .sc-categories, .supplier-catalog .sc-products { grid-template-columns: 1fr; } .supplier-catalog .sc-panel { padding: 10px; } }
