.catalog-dialog {
  width: min(1600px, calc(100vw - 20px));
}

.catalog-toolbar {
  display: flex;
  align-items: center;
  gap: 9px;
}

.catalog-toolbar input {
  flex: 1;
  min-width: 260px;
}

.catalog-server-table {
  max-height: 58vh;
}

#catalogTable {
  min-width: 1450px;
  table-layout: auto;
}

/* Keep catalog values readable when the entire page, rather than the table, scrolls. */
#catalogTable th:not(.catalog-expand-heading),
#catalogTable td:not(:first-child) {
  min-width: 150px;
}

#catalogTable th[data-catalog-sort="productKey"] {
  min-width: 230px;
}

#catalogTable th[data-catalog-sort="productName"],
#catalogTable th[data-catalog-sort="title"] {
  min-width: 280px;
}

#catalogTable th[data-catalog-sort="barcodes"] {
  min-width: 200px;
}

#catalogTable th {
  cursor: pointer;
  white-space: nowrap;
}

#catalogTable td {
  max-width: 320px;
  overflow-wrap: anywhere;
  vertical-align: top;
}

.catalog-expand-heading {
  width: 38px;
  min-width: 38px !important;
  padding-left: 7px !important;
  padding-right: 7px !important;
}

.bundle-toggle {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  padding: 0;
  border-radius: 6px;
  background: #e5eeff;
  color: #2251aa;
  font-size: 18px;
  line-height: 1;
}

.catalog-bundle-row {
  background: #f7f9fd;
  font-weight: 600;
}

.catalog-component-row {
  background: #fbfcfe;
  box-shadow: inset 4px 0 #8baaf6;
}

.catalog-component-row td {
  color: #45536a;
  font-size: 13px;
}

.catalog-component-row td:nth-child(5) {
  padding-left: 28px;
}

.component-branch {
  display: inline-block;
  padding-left: 6px;
  color: #7890bd;
  font-size: 17px;
}

.bundle-empty {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fee7e7;
  color: #9e2525;
  font-weight: 800;
}

#catalogTable .filter-row th {
  padding: 5px;
}

#catalogTable .filter-row input {
  min-width: 90px;
  padding: 6px;
  font-size: 12px;
}

.catalog-archived {
  background: #f1f2f4;
  color: #7b8492;
}

.catalog-history {
  max-height: 220px;
}
.wb-card-details-dialog { width: min(1100px,calc(100vw - 40px)); max-width: calc(100vw - 40px); max-height: 90vh; padding: 0; border: 1px solid #dfe5ef; border-radius: 16px; color: #202b40; }
.wb-card-details-dialog::backdrop { background: #101a30a6; }
.wb-card-details-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 24px; border-bottom: 1px solid #e5eaf2; }
.wb-card-details-heading h2 { margin: 0; font-size: 22px; }
.wb-card-details-heading p { margin: 8px 0 0; color: #738199; }
.wb-card-details-content { padding: 0 24px 24px; overflow: auto; max-height: 70vh; }
.wb-card-details-content table { width: 100%; table-layout: fixed; }
.wb-card-details-content th { width: 230px; text-align: left; vertical-align: top; text-transform: none; }
.wb-card-details-content td,.wb-card-details-content th { padding: 12px; border-bottom: 1px solid #e5eaf2; }
.wb-card-details-content small { display: block; margin-top: 5px; font-weight: normal; color: #738199; overflow-wrap: anywhere; }
.wb-card-details-content pre { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; font: 13px/1.5 monospace; }
.column-menu .order-column-option { display: flex; align-items: center; gap: 6px; padding: 3px 0; }
.column-menu .order-column-option label { flex: 1; min-width: 0; }
.column-menu .order-column-move { display: flex; gap: 3px; flex-shrink: 0; }
.column-menu .order-column-move button { padding: 6px 8px; min-width: 28px; }
.column-menu:has([data-ui-column-move]) { min-width: 300px; max-width: calc(100vw - 24px); max-height: 70vh; overflow-y: auto; }
