/* Kitchen CORE — composition for ingredient categories and stock suppliers.
   Controls use kc-components.css; IDs and data attributes retain their controllers. */
.ingredient-classification-manager {
  padding: var(--kc-space-7);
  background: var(--kc-color-overlay);
}
.ingredient-classification-manager .manager-dialog {
  width: min(1320px, 100%);
  height: min(880px, calc(100dvh - var(--kc-space-7) * 2));
  max-height: calc(100dvh - var(--kc-space-7) * 2);
  padding: 0;
}
.ingredient-classification-manager .kc-modal__header { margin: 0; }
.ingredient-classification-manager .kc-modal__title { overflow-wrap: anywhere; }
.ingredient-classification-manager [hidden] { display: none !important; }
.ingredient-classification-manager .kc-choice { height: auto; text-transform: none; letter-spacing: normal; }
.ingredient-classification-manager .kc-button--ghost { border-color: transparent !important; background: transparent; }
.ingredient-classification-manager .kc-button--ghost:hover { background: var(--kc-color-surface-muted); }
.ingredient-classification-manager .kc-tab[aria-pressed="false"] { background: transparent !important; color: var(--kc-color-text-muted) !important; }
.ingredient-classification-manager .close-btn { position: static; height: var(--kc-touch-target-min); }
.ingredient-classification-manager .manager-workspace {
  display: grid;
  grid-template-columns: minmax(300px, 340px) minmax(0, 1fr);
  gap: var(--kc-space-7);
  min-height: 0;
  overflow: hidden;
}
.ingredient-classification-manager .manager-mobile-switch { display: none; }
.ingredient-classification-manager :is(.manager-directory, .manager-assignment-panel) {
  display: flex;
  flex-direction: column;
  gap: var(--kc-space-4);
  min-width: 0;
  min-height: 0;
  padding: var(--kc-space-7);
  overflow: hidden;
}
.ingredient-classification-manager :is(.manager-directory-head, .manager-assignment-head, .manager-filter-head, .manager-category-batch-head) {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--kc-space-4);
  min-width: 0;
}
.ingredient-classification-manager :is(.manager-directory-head, .manager-assignment-head) > div { min-width: 0; }
.ingredient-classification-manager .manager-directory-head strong { display: block; font-size: var(--kc-font-size-lg); }
.ingredient-classification-manager .manager-directory-head span {
  display: block;
  margin-top: var(--kc-space-1);
  color: var(--kc-color-text-muted);
  font-size: var(--kc-font-size-caption);
  line-height: var(--kc-line-height-body);
}
.ingredient-classification-manager .manager-create-box { display: none; flex: 0 0 auto; padding: var(--kc-space-4); }
.ingredient-classification-manager .manager-create-box.active { display: block; }
.ingredient-classification-manager .manager-create-fields { display: flex; flex-wrap: wrap; gap: var(--kc-space-3); }
.ingredient-classification-manager .manager-create-fields > div { flex: 1 0 100%; display: grid; gap: var(--kc-space-3); min-width: 0; }
.ingredient-classification-manager :is(.kc-field, .kc-field__label) { margin: 0; }
.ingredient-classification-manager .kc-textarea { min-height: 88px; resize: vertical; }
.ingredient-classification-manager .manager-create-fields > button { flex: 1; }
.ingredient-classification-manager .manager-color-field { display: grid; gap: var(--kc-space-3); margin-top: var(--kc-space-5); }
.ingredient-classification-manager .entity-color-options { grid-template-columns: repeat(auto-fit, minmax(44px, 1fr)); width: 100%; gap: var(--kc-space-2); padding: var(--kc-space-2); }
.ingredient-classification-manager .entity-color-option { width: var(--kc-touch-target-min); height: var(--kc-touch-target-min); min-width: var(--kc-touch-target-min); }
.ingredient-classification-manager .manager-feedback:empty { display: none; }
.ingredient-classification-manager .manager-feedback { color: var(--kc-color-danger-surface-text); font-size: var(--kc-font-size-caption); }
.ingredient-classification-manager .manager-directory-search { flex: 0 0 auto; }
.ingredient-classification-manager .manager-directory-list {
  display: grid;
  align-content: start;
  grid-auto-rows: max-content;
  gap: var(--kc-space-3);
  min-height: 0;
  flex: 1;
  overflow: auto;
  padding: var(--kc-space-1);
  scrollbar-gutter: stable;
}
.ingredient-classification-manager .ingredient-manager-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--kc-space-2);
  padding: var(--kc-space-2);
}
.ingredient-classification-manager .ingredient-manager-row.entity-color-block {
  border-left: 1px solid var(--kc-color-border) !important;
  background: var(--kc-color-surface-card) !important;
}
.ingredient-classification-manager .ingredient-manager-row.active {
  outline: 2px solid var(--kc-color-primary);
  outline-offset: -2px;
  background: var(--kc-color-primary-surface) !important;
}
.ingredient-classification-manager .ingredient-manager-select {
  display: block;
  width: 100%;
  text-align: left;
  padding-inline: var(--kc-space-3);
}
.ingredient-classification-manager .ingredient-manager-name { display: flex; align-items: center; gap: var(--kc-space-3); }
.ingredient-classification-manager .entity-color-dot { flex: 0 0 var(--kc-space-4); width: var(--kc-space-4); height: var(--kc-space-4); }
.ingredient-classification-manager .ingredient-manager-name strong { font-weight: var(--kc-font-weight-semibold); overflow-wrap: anywhere; }
.ingredient-classification-manager .ingredient-manager-select small { display: block; margin-top: var(--kc-space-1); color: var(--kc-color-text-muted); font-size: var(--kc-font-size-caption); }
.ingredient-classification-manager .ingredient-manager-actions { display: flex; gap: var(--kc-space-1); }
.ingredient-classification-manager :is(.manager-delete, .manager-remove-link) { color: var(--kc-color-danger-surface-text) !important; }
.ingredient-classification-manager .manager-assignment-content { display: flex; flex-direction: column; gap: var(--kc-space-4); flex: 1; min-height: 0; overflow: hidden; }
.ingredient-classification-manager .manager-assignment-head { flex-wrap: wrap; padding-bottom: var(--kc-space-4); border-bottom: 1px solid var(--kc-color-border); }
.ingredient-classification-manager .manager-assignment-head > div:first-child { flex: 1 1 220px; }
.ingredient-classification-manager .manager-assignment-head > div:first-child > span { display: block; color: var(--kc-color-text-muted); font-size: var(--kc-font-size-caption); }
.ingredient-classification-manager .manager-assignment-head strong { display: block; margin-top: var(--kc-space-1); font-size: var(--kc-font-size-2xl); font-weight: var(--kc-font-weight-semibold); line-height: var(--kc-line-height-heading); overflow-wrap: anywhere; }
.ingredient-classification-manager .manager-assignment-head-actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--kc-space-3); }
.ingredient-classification-manager .manager-assignment-content > .kc-field__help { margin: 0; }
.ingredient-classification-manager .manager-assignment-content > .kc-field__help:empty { display: none; }
.ingredient-classification-manager .manager-filter-block { display: grid; gap: var(--kc-space-3); flex: 0 0 auto; padding: var(--kc-space-4); }
.ingredient-classification-manager .manager-filter-head { align-items: center; }
.ingredient-classification-manager .manager-filter-title { display: flex; align-items: center; gap: var(--kc-space-2); }
.ingredient-classification-manager .kc-help__trigger { width: var(--kc-touch-target-min); height: var(--kc-touch-target-min); min-width: var(--kc-touch-target-min); min-height: var(--kc-touch-target-min); }
html[data-kc-page="admin"] .ingredient-classification-manager .kc-help__trigger { border-radius: var(--kc-radius-round) !important; }
.ingredient-classification-manager .manager-filter-title strong { font-size: var(--kc-font-size-body); font-weight: var(--kc-font-weight-semibold); }
.ingredient-classification-manager .manager-assignment-tools { display: grid; grid-template-columns: minmax(0, 1.3fr) repeat(2, minmax(0, 1fr)); align-items: end; gap: var(--kc-space-4); }
.ingredient-classification-manager .manager-select-visible { align-items: center; min-height: var(--kc-touch-target-min); flex-wrap: wrap; margin: 0; padding-block: var(--kc-space-2); }
.ingredient-classification-manager .manager-select-visible > span:not(.kc-choice__control) { flex: 1; min-width: 0; }
.ingredient-classification-manager .manager-selected-count { margin-left: auto; }
.ingredient-classification-manager .manager-product-list { display: grid; align-content: start; grid-auto-rows: max-content; gap: var(--kc-space-3); min-height: 100px; flex: 1 0 100px; overflow: auto; padding: var(--kc-space-1); scrollbar-gutter: stable; }
.ingredient-classification-manager .manager-product-row { display: flex; align-items: center; flex-wrap: wrap; margin: 0; padding: var(--kc-space-4); }
.ingredient-classification-manager .manager-product-copy { display: grid; gap: var(--kc-space-1); flex: 1 1 180px; min-width: 0; overflow-wrap: anywhere; }
.ingredient-classification-manager .manager-product-copy strong { font-size: var(--kc-font-size-body); font-weight: var(--kc-font-weight-semibold); }
.ingredient-classification-manager .manager-product-copy small { color: var(--kc-color-text-muted); font-size: var(--kc-font-size-caption); line-height: var(--kc-line-height-body); }
.ingredient-classification-manager .manager-list-status { display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--kc-space-2); color: var(--kc-color-text-muted); font-size: var(--kc-font-size-caption); }
.ingredient-classification-manager .manager-bulk-actions { display: flex; justify-content: flex-end; align-items: end; flex-wrap: wrap; flex: 0 0 auto; gap: var(--kc-space-3); padding-top: var(--kc-space-4); border-top: 1px solid var(--kc-color-border); }
.ingredient-classification-manager .manager-move-destination { flex: 1 1 200px; }
.ingredient-classification-manager :is(.manager-directory-empty, .manager-product-empty, .manager-assignment-empty) { font-size: var(--kc-font-size-body); line-height: var(--kc-line-height-body); }
.ingredient-classification-manager .manager-assignment-empty { margin-block: auto; }
.ingredient-classification-manager .manager-category-batch { display: grid; gap: var(--kc-space-4); padding: var(--kc-space-4); }
.ingredient-classification-manager .manager-category-batch-head span { display: block; margin-top: var(--kc-space-1); color: var(--kc-color-text-muted); font-size: var(--kc-font-size-caption); line-height: var(--kc-line-height-body); }
.ingredient-classification-manager .manager-category-batch-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--kc-space-2); max-height: 180px; overflow: auto; padding: var(--kc-space-1); }
.ingredient-classification-manager .manager-category-batch-options label { flex-wrap: wrap; margin: 0; }
.ingredient-classification-manager .manager-category-batch-options label span:not(.kc-choice__control) { flex: 1; overflow-wrap: anywhere; }
.ingredient-classification-manager .manager-category-batch-options small { color: var(--kc-color-text-muted); }
.ingredient-classification-manager .manager-category-batch-actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--kc-space-3); }
.ingredient-classification-manager .manager-category-batch-count { color: var(--kc-color-text-muted); font-size: var(--kc-font-size-caption); }
@media (max-width: 1100px) {
  .ingredient-classification-manager .manager-workspace { grid-template-columns: 300px minmax(0, 1fr); gap: var(--kc-space-4); }
  .ingredient-classification-manager .manager-assignment-tools { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ingredient-classification-manager .manager-filter-search { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .ingredient-classification-manager { padding: 0; align-items: stretch; }
  html[data-kc-page="admin"] .ingredient-classification-manager .manager-dialog { width: 100%; max-width: 100%; height: 100dvh; max-height: 100dvh; border: 0; border-radius: 0 !important; }
  .ingredient-classification-manager .manager-workspace { display: flex; flex-direction: column; padding: var(--kc-space-4); gap: var(--kc-space-4); }
  .ingredient-classification-manager .manager-mobile-switch { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); flex: 0 0 auto; }
  .ingredient-classification-manager .manager-mobile-switch button { min-height: var(--kc-touch-target-min); }
  .ingredient-classification-manager :is(.manager-directory, .manager-assignment-panel) { flex: 1; padding: var(--kc-space-4); }
  .ingredient-classification-manager .manager-directory { overflow-y: auto; }
  .ingredient-classification-manager .manager-assignment-content { overflow-y: auto; scrollbar-gutter: stable; padding: var(--kc-space-1); }
  .ingredient-classification-manager .manager-product-list { flex-basis: 180px; min-height: 180px; }
  .ingredient-classification-manager[data-manager-view="directory"] .manager-assignment-panel,
  .ingredient-classification-manager[data-manager-view="products"] .manager-directory { display: none; }
  .ingredient-classification-manager .manager-assignment-head strong { font-size: var(--kc-font-size-xl); }
  .ingredient-classification-manager .manager-category-batch-options { grid-template-columns: 1fr; }
  .ingredient-classification-manager .manager-bulk-actions > button { flex: 1 1 140px; }
  .ingredient-classification-manager .manager-move-destination { flex-basis: 100%; }
}
@media (max-width: 380px) {
  .ingredient-classification-manager .manager-assignment-tools { grid-template-columns: minmax(0, 1fr); }
  .ingredient-classification-manager .manager-filter-search { grid-column: auto; }
  .ingredient-classification-manager .ingredient-manager-row { grid-template-columns: minmax(0, 1fr); }
  .ingredient-classification-manager .ingredient-manager-actions { justify-content: flex-end; }
}
@media (max-height: 700px) and (min-width: 761px) {
  .ingredient-classification-manager :is(.manager-directory, .manager-assignment-content) { overflow-y: auto; }
  .ingredient-classification-manager .manager-directory-list { flex: 1 0 160px; }
}
