/* Friendly products: catalog, recipe and declaration surfaces only.
   Screen-only; existing dialogs, recipe grid areas and permission states keep ownership. */
@media screen {
  body[data-design=workspace] #dishes-view .tool-controls {
    padding: 12px 14px;
    border: 1px solid var(--friendly-border);
    border-radius: var(--friendly-radius);
    background: var(--friendly-surface);
    box-shadow: none;
    gap: 10px 16px;
  }
  body[data-design=workspace] #dishes-view .tool-controls label { font-size: 12px; color: var(--friendly-muted); }
  body[data-design=workspace] #dishes-view .tool-check { min-height: 44px; margin: 0; }
  body[data-design=workspace] #dishes-view .catalog-toolbar-actions { align-items: stretch; gap: 9px; }
  body[data-design=workspace] #dishes-view .catalog-toolbar-actions .button { min-height: 40px; font-size: 13px; }
  body[data-design=workspace] #catalog-list {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    border: 1px solid var(--friendly-border);
    border-radius: 13px;
    background: var(--friendly-surface);
  }
  body[data-design=workspace] #catalog-list .catalog-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-content: start;
    gap: 0 18px;
    padding: 13px 16px;
    border: 0;
    border-bottom: 1px solid var(--friendly-border);
    border-radius: 0;
    background: var(--friendly-surface);
    box-shadow: none;
    transition: background-color 160ms var(--friendly-ease);
  }
  body[data-design=workspace] #catalog-list .catalog-card:first-child { border-radius: 12px 12px 0 0; }
  body[data-design=workspace] #catalog-list .catalog-card:last-child { border-bottom: 0; border-radius: 0 0 12px 12px; }
  body[data-design=workspace] #catalog-list .catalog-card:only-child { border-radius: 12px; }
  body[data-design=workspace] #catalog-list .catalog-card > :not(.catalog-card-head):not(h3) { grid-column: 1 / -1; }
  body[data-design=workspace] #catalog-list .catalog-card-head {
    display: contents;
  }
  body[data-design=workspace] #catalog-list .catalog-card-head > div { grid-column: 1; grid-row: 2; min-width: 0; margin-top: 3px; color: var(--friendly-muted); font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
  body[data-design=workspace] #catalog-list .catalog-price {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: start;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: var(--friendly-ink);
    font-size: 13px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
  }
  body[data-design=workspace] #catalog-list .catalog-card h3 {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    color: var(--friendly-ink);
    font-size: 13px;
    font-weight: 550;
    line-height: 1.5;
    letter-spacing: 0;
    overflow-wrap: anywhere;
  }
  body[data-design=workspace] #catalog-list .catalog-card p { margin-block: 5px; color: var(--friendly-muted); font-size: 12px; line-height: 1.55; }
  body[data-design=workspace] #catalog-list .catalog-card .catalog-detail { font-size: 11px; line-height: 1.6; }
  body[data-design=workspace] #catalog-list .catalog-detail strong { color: var(--friendly-ink); font-weight: 550; }
  body[data-design=workspace] #catalog-list .catalog-card-tags { margin-block: 7px 3px; gap: 5px; }
  body[data-design=workspace] #catalog-list .catalog-card-tags .catalog-tag {
    padding: 2px 7px;
    border-color: var(--friendly-border);
    border-radius: 5px;
    background: var(--friendly-surface-subtle);
    color: var(--friendly-accent);
    font-size: 11px;
  }
  body[data-design=workspace] #catalog-list .allergen-card-tags { margin: 6px 0; gap: 5px; }
  body[data-design=workspace] #catalog-list .allergen-chip { padding: 2px 6px; min-height: 23px; font-size: 11px; border-color: var(--friendly-border); }
  body[data-design=workspace] #catalog-list .allergen-unset { font-size: 11px; line-height: 1.6; }
  body[data-design=workspace] #catalog-list .catalog-card > .resource-actions {
    margin-top: 5px;
    padding-top: 5px;
    border-top: 0;
    align-items: center;
    gap: 5px 9px;
  }
  body[data-design=workspace] #catalog-list .resource-actions .text-button {
    min-height: 32px;
    padding: 5px 8px;
    border: 1px solid transparent;
    border-radius: var(--friendly-radius-small);
    font-size: 11px;
    line-height: 1.45;
    white-space: normal;
    text-align: start;
  }
  body[data-design=workspace] #catalog-list .resource-actions .text-button:first-child { background: var(--friendly-surface-subtle); color: var(--friendly-accent); }
  body[data-design=workspace] #catalog-list .catalog-card.is-archived {
    border: 0;
    border-bottom: 1px solid var(--friendly-border);
    background: #f0f3ed;
    box-shadow: none;
  }
  body[data-design=workspace] #catalog-list .catalog-card.is-archived:last-child { border-bottom: 0; }
  body[data-design=workspace] #catalog-list .catalog-card.is-archived > .resource-badge { background: #e4eadf; border-color: #c1cdba; color: #485d42; }
  body[data-design=workspace] #catalog-list .catalog-card-variants {
    margin: 8px 0 4px;
    padding: 8px 12px;
    border: 0;
    border-radius: 8px;
    background: var(--friendly-surface-subtle);
  }
  body[data-design=workspace] #catalog-list .catalog-card-variants > .catalog-detail { margin: 0 0 3px; font-size: 11px; color: var(--friendly-muted); }
  body[data-design=workspace] #catalog-list .catalog-card-variant { gap: 7px 10px; padding: 9px 0; border-bottom: 1px solid #edf1e9; }
  body[data-design=workspace] #catalog-list .catalog-card-variant:last-child { border-bottom: 0; }
  body[data-design=workspace] #catalog-list .catalog-card-variant > .text-button { min-width: 0; min-height: 32px; font-size: 13px; white-space: normal; overflow-wrap: anywhere; text-align: start; }
  body[data-design=workspace] #catalog-list .catalog-card-variant > strong { font-size: 13px; font-variant-numeric: tabular-nums; }
  body[data-design=workspace] #catalog-list .catalog-card-variant > .allergen-card-tags { margin: 0; }
  body[data-design=workspace] #catalog-list .catalog-archive-undo { border-color: #cedbc6; border-radius: var(--friendly-radius); background: var(--friendly-surface-subtle); color: var(--friendly-ink); }
  body[data-design=workspace] #catalog-list .section-empty { grid-column: 1 / -1; padding: 20px 16px; border-radius: 12px; background: var(--friendly-surface); color: var(--friendly-muted); }

  /* The large editor stays a real dialog with its existing sticky header/actions. */
  body[data-design=workspace] #catalog-dialog { width: min(900px, calc(100% - 40px)); max-width: 900px; }
  body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog, #ingredient-library-dialog, #catalog-archive-dialog, #catering-move-dialog) { --product-section-gap: 18px; }
  body[data-design=workspace] #catalog-form > label { margin-top: 16px; }
  body[data-design=workspace] #catalog-form .form-row { gap: 12px; }
  body[data-design=workspace] #catalog-form > .form-row { align-items: start; margin-top: 16px; }
  body[data-design=workspace] #catalog-form > .form-row > div > label { margin-top: 0; }
  body[data-design=workspace] #catalog-form > :is(.hours-hint, .field-hint) { margin-block: 8px 15px; font-size: 12px; line-height: 1.65; }
  body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) :is(textarea, .ui-control, .ui-select-trigger, .ui-time-text) { max-width: 100%; min-width: 0; }
  body[data-design=workspace] #catalog-dialog .catalog-category-editor { margin: 0; }
  body[data-design=workspace] #catalog-dialog .catalog-category-editor legend { color: var(--friendly-ink); font-size: 12px; font-weight: 500; line-height: 1.5; margin-bottom: 8px; padding: 0; }
  body[data-design=workspace] #catalog-dialog .catalog-category-controls { gap: 7px; }
  body[data-design=workspace] #catalog-dialog .catalog-category-controls :is(.catalog-tag, .catalog-tag-input) {
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid var(--friendly-border);
    border-radius: 20px;
    background: var(--friendly-surface);
    color: var(--friendly-accent);
    font-size: 13px;
    line-height: 1.4;
  }
  body[data-design=workspace] #catalog-dialog .catalog-category-controls .catalog-tag[aria-pressed=true] { border-color: #bccdb4; background: #e9f0e3; color: #365b43; }
  body[data-design=workspace] #catalog-dialog .catalog-category-controls .catalog-tag-input { cursor: text; }
  body[data-design=workspace] #catalog-dialog .recipe-editor { margin-block: var(--product-section-gap); }
  body[data-design=workspace] #catalog-dialog :is(.recipe-editor, .catalog-variants-editor) > legend { color: var(--friendly-ink); font-size: 15px; font-weight: 550; }
  body[data-design=workspace] #catalog-dialog .ingredient-rows { gap: 0; }
  body[data-design=workspace] #catalog-dialog .ingredient-row {
    min-width: 0;
    padding: 10px 0;
    border-bottom: 1px solid var(--friendly-border);
    column-gap: 10px;
    background: var(--friendly-surface);
  }
  body[data-design=workspace] #catalog-dialog .ingredient-row :is(.ingredient-name, .ingredient-quantity, .ingredient-unit) { margin: 0; }
  body[data-design=workspace] #catalog-dialog .ingredient-row :is(.ingredient-quantity, .ingredient-unit, .ui-select-trigger) { min-height: 44px; }
  body[data-design=workspace] #catalog-dialog .ingredient-identity { gap: 7px; }
  body[data-design=workspace] #catalog-dialog .ingredient-reference-hint { color: var(--friendly-muted); font-size: 12px; line-height: 1.6; }
  body[data-design=workspace] #catalog-dialog :is(.component-editor, .allergen-editor) {
    min-width: 0;
    margin-block: var(--product-section-gap);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: var(--friendly-surface);
  }
  body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) :is(.component-editor, .allergen-editor) > legend { box-sizing: border-box; width: 100%; margin-bottom: 10px; padding: 8px 10px; border-radius: 7px; background: var(--friendly-surface-subtle); color: var(--friendly-ink); font-size: 13px; font-weight: 550; line-height: 1.5; }
  body[data-design=workspace] #catalog-dialog .component-row { min-width: 0; column-gap: 10px; align-items: end; padding-bottom: 10px; }
  body[data-design=workspace] #catalog-dialog .component-row label { min-width: 0; font-size: 12px; color: var(--friendly-muted); }
  body[data-design=workspace] #catalog-dialog .component-row .ui-control { min-width: 0; }
  body[data-design=workspace] #catalog-dialog .component-preview { border-top-color: var(--friendly-border); font-size: 13px; }
  body[data-design=workspace] #catalog-dialog :is(.component-preview, .variant-replace-preview) p { font-size: 12px; line-height: 1.65; }
  body[data-design=workspace] #catalog-dialog :is(.component-editor-head > .hours-hint, .catalog-variant-details > .hours-hint) { margin-block: 7px 10px; font-size: 11px; line-height: 1.6; }
  body[data-design=workspace] #catalog-dialog :is(#catalog-components-empty, #catalog-variants-empty) { margin-block: 8px; font-size: 11px; line-height: 1.6; }
  body[data-design=workspace] #catalog-dialog :is(.ingredient-row, .component-row, .catalog-variant-actions) > .icon-button {
    border-color: #eadcda;
    border-radius: var(--friendly-radius-small);
    background-color: #fbf5f4;
    color: var(--friendly-danger);
    box-shadow: none;
  }
  body[data-design=workspace] #catalog-dialog .catalog-variants-editor { margin-top: 20px; padding-top: 16px; border-top-color: var(--friendly-border); }
  body[data-design=workspace] #catalog-dialog .catalog-variants { gap: 10px; margin-block: 14px; }
  body[data-design=workspace] #catalog-dialog .catalog-variant {
    padding: 14px;
    border: 1px solid var(--friendly-border);
    border-radius: var(--friendly-radius);
    background: var(--friendly-surface-subtle);
  }
  body[data-design=workspace] #catalog-dialog .catalog-variant.is-archived { background: #f0f2ed; border-color: #c6cfbf; }
  body[data-design=workspace] #catalog-dialog .catalog-variant-head { grid-template-columns: minmax(0, 1fr) minmax(130px, .45fr) auto; align-items: end; gap: 12px; }
  body[data-design=workspace] #catalog-dialog .catalog-variant-head label { font-size: 12px; }
  body[data-design=workspace] #catalog-dialog .catalog-variant-head input { margin-top: 7px; }
  body[data-design=workspace] #catalog-dialog .catalog-variant-actions { min-height: 44px; align-items: center; gap: 7px; }
  body[data-design=workspace] #catalog-dialog .catalog-variant-details {
    margin: 12px -14px -14px;
    padding: 10px 14px 14px;
    border-top: 1px solid var(--friendly-border);
    border-radius: 0 0 11px 11px;
    background: var(--friendly-surface);
  }
  body[data-design=workspace] #catalog-dialog .catalog-variant-details > summary { min-height: 32px; color: var(--friendly-accent); font-size: 13px; font-weight: 550; line-height: 1.5; }
  body[data-design=workspace] #catalog-dialog .catalog-variant-details > h4 { margin: 19px 0 10px; font-size: 14px; color: var(--friendly-ink); }
  body[data-design=workspace] #catalog-dialog .catalog-variant-recipe-actions { gap: 9px 16px; margin: 13px 0 19px; }
  body[data-design=workspace] #catalog-dialog .catalog-variant-recipe-actions .text-button { min-height: 36px; white-space: normal; text-align: start; }
  body[data-design=workspace] #catalog-dialog :is(.legacy-ingredients, .variant-replace-preview) { border-color: #d6e0ce; border-radius: var(--friendly-radius-small); background: var(--friendly-surface-subtle); color: var(--friendly-ink); }

  /* Declarations remain explicit, independently editable selections. */
  body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) .allergen-editor { padding: 0; border: 0; border-radius: 0; background: var(--friendly-surface); }
  body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) .allergen-section + .allergen-section { margin-top: 19px; padding-top: 18px; border-top-color: var(--friendly-border); }
  body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) .allergen-section h4 { margin-bottom: 10px; font-size: 14px; color: var(--friendly-ink); }
  body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) :is(.allergen-unset, .allergen-group-name, .hours-hint, .dietary-status) { color: var(--friendly-muted); font-size: 12px; line-height: 1.65; }
  body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) :is(.allergen-selected, .allergen-options) { gap: 7px; }
  body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) .allergen-chip {
    gap: 7px;
    min-height: 32px;
    padding: 5px 9px;
    border-color: #c5d4be;
    border-radius: 8px;
    background: #edf3e8;
    color: #365b43;
    font-size: 12px;
    line-height: 1.5;
  }
  body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) .allergen-chip.is-trace { background: #f7f9f4; border-style: dashed; color: var(--friendly-muted); }
  body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) .allergen-chip.additive-chip { background: #f4f7f0; border-color: #cad5c4; border-style: dashed; color: #4c6347; }
  body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) .allergen-remove { flex: 0 0 12px; width: 12px; height: 16px; font-size: 16px; line-height: 16px; text-align: center; color: currentColor; }
  body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) .allergen-options .catalog-tag {
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid var(--friendly-border);
    border-radius: 8px;
    background: var(--friendly-surface);
    color: var(--friendly-muted);
    font-size: 12px;
    line-height: 1.45;
    white-space: normal;
    text-align: start;
  }
  body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) .allergen-options .catalog-tag[aria-pressed=true] { background: #e9f0e3; color: #365b43; border-color: #bfd0b6; }
  body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) .allergen-options .catalog-tag[aria-pressed]::before {
    content: '';
    display: inline-block;
    flex: 0 0 11px;
    width: 11px;
    height: 11px;
    margin: 0 6px 0 0;
    background: transparent;
  }
  body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) .allergen-options .catalog-tag[aria-pressed=true]::before { background: currentColor; clip-path: polygon(0 46%, 15% 33%, 39% 58%, 83% 5%, 100% 19%, 40% 94%); }
  body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) .allergen-picker summary { padding-block: 9px; font-size: 13px; line-height: 1.5; color: var(--friendly-accent); }
  body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) .allergen-picker[open] { margin-top: 12px; padding: 2px 12px 12px; border: 1px solid var(--friendly-border); border-radius: var(--friendly-radius-small); background: #fafcf8; }
  body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) .allergen-suggestions { padding: 15px; border: 1px solid #ceddc5; border-radius: var(--friendly-radius-small); background: #f3f7ee; font-size: 13px; line-height: 1.65; color: var(--friendly-ink); }
  body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) .ingredient-allergen-suggestions { border-inline-start: 3px solid #8ca47e; }
  body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) .ingredient-suggestion-heading > strong { padding-top: 3px; font-size: 13px; line-height: 1.6; }
  body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) .ingredient-suggestion-heading > .icon-button { flex-shrink: 0; color: var(--friendly-muted); }
  body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) .spice-levels { flex-wrap: wrap; gap: 6px; }
  body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) .spice-level-value { font-size: 12px; color: var(--friendly-muted); }

  /* Standard ingredient library shares the catalog's divided list surface. */
  body[data-design=workspace] #ingredient-library-dialog { width: min(860px, calc(100% - 40px)); max-width: 860px; }
  body[data-design=workspace] #ingredient-library-dialog .ingredient-library-content { padding: 18px 20px; }
  body[data-design=workspace] #ingredient-library-dialog .ingredient-library-toolbar { gap: 12px; margin-block: 14px; }
  body[data-design=workspace] #ingredient-library-dialog .ingredient-library-toolbar .tool-check { margin: 0; min-height: 40px; font-size: 12px; }
  body[data-design=workspace] #ingredient-library-dialog .ingredient-library-filters { gap: 12px; margin-top: 16px; }
  body[data-design=workspace] #ingredient-library-dialog .ingredient-library-list { gap: 0; border: 1px solid var(--friendly-border); border-radius: 13px; background: var(--friendly-surface); }
  body[data-design=workspace] #ingredient-library-dialog .ingredient-library-card { padding: 12px 14px; border: 0; border-bottom: 1px solid var(--friendly-border); border-radius: 0; background: transparent; box-shadow: none; }
  body[data-design=workspace] #ingredient-library-dialog .ingredient-library-card:first-child { border-radius: 12px 12px 0 0; }
  body[data-design=workspace] #ingredient-library-dialog .ingredient-library-card:last-child { border-bottom: 0; border-radius: 0 0 12px 12px; }
  body[data-design=workspace] #ingredient-library-dialog .ingredient-library-card:only-child { border-radius: 12px; }
  body[data-design=workspace] #ingredient-library-dialog .ingredient-library-head { gap: 12px; align-items: baseline; }
  body[data-design=workspace] #ingredient-library-dialog .ingredient-library-head h3 { color: var(--friendly-ink); font-size: 13px; line-height: 1.5; font-weight: 550; }
  body[data-design=workspace] #ingredient-library-dialog .resource-badge { max-width: 100%; border-color: var(--friendly-border); border-radius: 5px; background: var(--friendly-surface-subtle); color: var(--friendly-muted); font-size: 11px; white-space: normal; }
  body[data-design=workspace] #ingredient-library-dialog :is(.ingredient-library-origin, .allergen-unset, .hours-hint) { font-size: 11px; line-height: 1.6; color: var(--friendly-muted); }
  body[data-design=workspace] #ingredient-library-dialog .ingredient-library-origin { margin-block: 3px 5px; }
  body[data-design=workspace] #ingredient-library-dialog .allergen-card-tags { margin-block: 5px; gap: 5px; }
  body[data-design=workspace] #ingredient-library-dialog .allergen-chip { min-height: 23px; padding: 2px 6px; font-size: 11px; }
  body[data-design=workspace] #ingredient-library-dialog .resource-actions { gap: 5px 12px; padding-top: 3px; border-top: 0; margin-top: 4px; }
  body[data-design=workspace] #ingredient-library-dialog .resource-actions .text-button { min-height: 32px; font-size: 11px; }
  body[data-design=workspace] #ingredient-record-dialog .allergen-editor { padding: 0; }
  body[data-design=workspace] #ingredient-record-template-note { margin-block: 0 14px; padding: 10px 12px; border: 1px solid var(--friendly-border); border-radius: 8px; background: var(--friendly-surface-subtle); color: var(--friendly-muted); font-size: 11px; line-height: 1.6; }
  body[data-design=workspace] :is(#catalog-archive-dialog, #catering-move-dialog) :is(p, label) { font-size: 14px; line-height: 1.65; }
  body[data-design=workspace] :is(#catalog-archive-dialog, #catering-move-dialog) .hours-hint { font-size: 12px; color: var(--friendly-muted); }
  body[data-design=workspace] #catalog-archive-dialog .catalog-archive-body { padding: 22px 24px; }

  @media (hover: hover) {
    body[data-design=workspace] #catalog-list .catalog-card:hover { background: #fbfcfa; box-shadow: none; }
    body[data-design=workspace] #catalog-list .resource-actions .text-button:hover:not(:disabled) { background: #edf3e7; color: var(--friendly-accent-hover); }
    body[data-design=workspace] #catalog-dialog :is(.ingredient-row, .component-row, .catalog-variant-actions) > .icon-button:hover:not(:disabled) { border-color: #dfc7c3; background: #f7ebe8; color: #963c3c; }
    body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) .allergen-options .catalog-tag:hover:not(:disabled) { border-color: #bdceb3; background: #f0f5eb; }
    body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) .allergen-picker summary:hover { color: var(--friendly-accent-hover); }
  }
  @media (min-width: 761px) {
    body[data-design=workspace] #catalog-dialog .ingredient-row { grid-template-columns: minmax(0, 1fr) 96px 84px 44px; }
  }
  @media (max-width: 760px) {
    body[data-design=workspace] #dishes-view .tool-controls { padding: 12px; gap: 10px; }
    body[data-design=workspace] #dishes-view .catalog-toolbar-actions { gap: 9px; }
    body[data-design=workspace] #dishes-view .catalog-toolbar-actions .button { min-height: 44px; font-size: 13px; }
    body[data-design=workspace] #catalog-list .catalog-card { padding: 12px; column-gap: 10px; }
    body[data-design=workspace] #catalog-list .catalog-card > .resource-actions { gap: 7px; }
    body[data-design=workspace] #catalog-list .resource-actions .text-button { min-height: 44px; padding: 7px; font-size: 12px; }
    body[data-design=workspace] #catalog-list .catalog-card-variant > .text-button { min-height: 44px; }
    body[data-design=workspace] :is(#catalog-dialog, #ingredient-library-dialog) { width: calc(100% - 24px); }
    body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog, #ingredient-library-dialog, #catalog-archive-dialog, #catering-move-dialog) { --product-section-gap: 18px; }
    body[data-design=workspace] #catalog-form .form-row { gap: 13px; }
    body[data-design=workspace] #catalog-dialog :is(.component-editor, .allergen-editor) { padding: 0; }
    body[data-design=workspace] #catalog-dialog .ingredient-row { gap: 8px; padding-block: 14px; }
    body[data-design=workspace] #catalog-dialog .ingredient-row :is(.ingredient-name, .ingredient-quantity, .ingredient-unit, .ui-select-trigger) { font-size: 16px; }
    body[data-design=workspace] #catalog-dialog .component-row { grid-template-columns: minmax(0, 1fr) 64px 44px; gap: 8px; }
    body[data-design=workspace] #catalog-dialog .component-row > .icon-button { width: 44px; height: 44px; min-height: 44px; margin-bottom: 0; }
    body[data-design=workspace] #catalog-dialog .catalog-variant { padding: 13px; }
    body[data-design=workspace] #catalog-dialog .catalog-variant-head { grid-template-columns: minmax(0, 1fr) minmax(80px, .65fr); gap: 11px; }
    body[data-design=workspace] #catalog-dialog .catalog-variant-actions { grid-column: 1 / -1; min-height: 40px; justify-content: flex-end; }
    body[data-design=workspace] #catalog-dialog .catalog-variant-details { margin: 15px -13px -13px; padding: 12px 13px 15px; }
    body[data-design=workspace] #catalog-dialog .catalog-variant-details > summary { min-height: 44px; font-size: 14px; }
    body[data-design=workspace] #catalog-dialog :is(.catalog-category-controls .catalog-tag, .catalog-category-controls .catalog-tag-input) { min-height: 44px; padding: 7px 10px; font-size: 16px; }
    body[data-design=workspace] #catalog-dialog .catalog-variant-recipe-actions .text-button { min-height: 44px; }
    body[data-design=workspace] #catalog-dialog .catalog-variant-actions > .icon-button { min-height: 44px; width: 44px; height: 44px; }
    body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) .allergen-picker summary { min-height: 44px; font-size: 14px; }
    body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) .allergen-options .catalog-tag { min-height: 44px; padding: 8px 10px; font-size: 13px; }
    body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) .allergen-chip:is(button) { min-height: 44px; }
    body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) .ingredient-suggestion-heading > .icon-button { width: 44px; height: 44px; min-height: 44px; flex-basis: 44px; }
    body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) .allergen-suggestions { padding: 13px 12px; }
    body[data-design=workspace] #ingredient-library-dialog .ingredient-library-content { padding: 17px 16px; }
    body[data-design=workspace] #ingredient-library-dialog .ingredient-library-toolbar { flex-wrap: wrap; }
    body[data-design=workspace] #ingredient-library-dialog .ingredient-library-toolbar .tool-check { min-height: 44px; }
    body[data-design=workspace] #ingredient-library-dialog .ingredient-library-head { align-items: flex-start; flex-wrap: wrap; gap: 6px 10px; }
    body[data-design=workspace] #ingredient-library-dialog .ingredient-library-card { padding: 12px; }
    body[data-design=workspace] #ingredient-library-dialog .resource-actions .text-button { min-height: 44px; font-size: 12px; }
    body[data-design=workspace] #catalog-archive-dialog .catalog-archive-body { padding: 18px 16px; }
  }
  @media (max-width: 480px) {
    body[data-design=workspace] #ingredient-library-dialog .ingredient-library-filters { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    body[data-design=workspace] #catalog-dialog .form-row { grid-template-columns: minmax(0, 1fr); }
    body[data-design=workspace] #catalog-dialog .catalog-variant-head { grid-template-columns: minmax(0, 1fr); }
    body[data-design=workspace] #catalog-dialog .catalog-variant-actions { grid-column: 1; }
  }
  @media (pointer: coarse) and (min-width: 761px) {
    body[data-design=workspace] #catalog-list .resource-actions .text-button,
    body[data-design=workspace] #catalog-list .catalog-card-variant > .text-button,
    body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) .allergen-options .catalog-tag,
    body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) .allergen-chip:is(button),
    body[data-design=workspace] #catalog-dialog .catalog-category-controls .catalog-tag,
    body[data-design=workspace] :is(#catalog-dialog, #ingredient-record-dialog) .allergen-picker summary { min-height: 44px; }
  }
  @media (prefers-reduced-motion: reduce) {
    body[data-design=workspace] #catalog-list .catalog-card { transition: none; }
  }
}
