.catalog-review { min-width: 0; padding: 16px; background: white; }
.catalog-review h2, .catalog-dialog h2 { font-size: 20px; margin: 0 0 16px; }
.catalog-filters { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin: 16px 0; }
.catalog-filters input[type=search] { width: 260px; max-width: 100%; }
.catalog-filters label { display: flex; align-items: center; gap: 6px; }
.catalog-filters input[type=checkbox] { width: 16px; height: 16px; }
.catalog-table-wrap { overflow: auto; }
.catalog-table-wrap table { width: 100%; min-width: 850px; border-collapse: collapse; }
.catalog-table-wrap td, .catalog-table-wrap th { padding: 10px; border-bottom: 1px solid #dde3e6; text-align: left; vertical-align: middle; }
.catalog-table-wrap td:nth-child(3) { max-width: 340px; overflow-wrap: anywhere; }
.catalog-table-wrap img { object-fit: contain; background: #f5f7f7; }
.catalog-table-wrap strong { font-weight: 500; }
.catalog-table-wrap button { white-space: nowrap; min-width: 54px; }
.catalog-pagination { display: flex; gap: 14px; align-items: center; justify-content: flex-end; padding: 18px 0; }
.catalog-error { color: #b42318; }
.catalog-dialog { width: min(820px, calc(100vw - 32px)); max-height: 90vh; overflow: auto; border: 1px solid #c7d1d5; border-radius: 6px; padding: 24px; }
.catalog-dialog::backdrop { background: #0007; }
.catalog-images { display: flex; overflow-x: auto; gap: 12px; margin: 18px 0; }
.catalog-images img { width: 140px; height: 140px; object-fit: contain; flex-shrink: 0; }
.catalog-dialog pre { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 280px; overflow: auto; font-size: 12px; }
.catalog-editor { display: grid; gap: 16px; margin-top: 18px; }
.catalog-editor label { display: grid; gap: 6px; }
.catalog-editor fieldset { min-width: 0; border: 0; border-top: 1px solid #dde3e6; padding: 16px 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.catalog-editor legend { max-width: 100%; overflow-wrap: anywhere; font-weight: 600; }
.catalog-editor fieldset p { margin: 0; align-self: center; overflow-wrap: anywhere; }
.catalog-editor .catalog-images { margin: 0; }
.catalog-editor .catalog-images img { width: 80px; height: 80px; }
@media (max-width: 600px) { .catalog-editor fieldset { grid-template-columns: minmax(0, 1fr); } .catalog-dialog { padding: 12px; box-sizing: border-box; } }
.catalog-editor input, .catalog-editor textarea, .catalog-editor select { width: 100%; box-sizing: border-box; }
.catalog-review button:disabled { opacity: .5; cursor: default; }
