/* Inventory columns from the generation 43 live reference; shared table kit. */
:root {
  --inventory-columns: 24px minmax(200px, 1.5fr) 88px 96px 112px minmax(240px, 2fr) 128px 36px;
  --inventory-grid-min: 924px;
  --inventory-image-column: 32px;
  --inventory-menu-column: 36px;
  --inventory-thumbnail: 24px;
  --inventory-add-inset: 30px;
}
.inventory-page { max-width: none; }
.inventory-topbar-spacer { flex: 1; }
.inventory-page > .page-header .page-header__identity { flex: none; gap: var(--space-3); }
.inventory-page > .page-header .page-header__actions { min-width: 0; }
.inventory-query { --input-height: var(--control-height); width: var(--search-width); min-width: 0; flex-shrink: 1; height: var(--control-height); min-height: var(--control-height); padding: 0 var(--button-padding-x); line-height: var(--line-workspace); }
.inventory-query[hidden] { display: none; }
@media (max-width: 760px) {
  .inventory-page > .page-header { position: relative; }
  .inventory-query { position: absolute; top: calc(100% + var(--space-2)); left: var(--page-gutter); width: min(var(--search-width), calc(100vw - 2 * var(--page-gutter))); z-index: 3; }
}
.inventory-refresh-status:empty { display: none; }
.inventory-refresh-status { margin: 0; }
.inventory-sheet-wrap { padding: 0; }
.inventory-sheet-scroll { position: relative; width: 100%; }
.inventory-sheet { display: block; width: var(--column-resize-width, 100%); min-width: var(--column-resize-width, var(--inventory-grid-min)); letter-spacing: -.1px; }
.inventory-sheet :is(thead, tbody) { display: block; }
.inventory-sheet :is(thead > tr, .inventory-part-row, .inventory-catalog-row) { display: grid; grid-template-columns: var(--column-resize-tracks, var(--inventory-columns)); }
.inventory-sheet > thead > tr > th { position: static; display: flex; align-items: center; min-width: 0; height: 100%; padding: 0 var(--cell-padding-x); background: transparent; }
.inventory-sheet .data-grid__row { height: var(--row-height); }
.inventory-sheet .data-grid__row > :is(th, td) { height: 100%; box-shadow: none; display: flex; align-items: center; min-width: 0; padding: 0 var(--cell-padding-x); background: transparent; }
.inventory-sheet .data-grid__row > .data-grid__editable { display: block; padding: 0; }
.inventory-sheet :is(th, td).inventory-number { justify-content: flex-end; text-align: right; font-variant-numeric: tabular-nums; }
.inventory-number .grid-cell__read { text-align: right; }
.inventory-sheet .inventory-actions { padding: 0; justify-content: center; overflow: visible; }
.inventory-product-heading { display: block; }
.inventory-product-heading > th { display: flex; align-items: center; padding: 0; height: var(--header-height); border-bottom: 1px solid var(--line-soft); box-shadow: none; }
.inventory-product-block + .inventory-product-block .inventory-product-heading { box-shadow: inset 0 1px var(--line); }
.inventory-group-toggle { display: flex; align-items: center; width: 100%; height: var(--control-height); gap: 0; padding: 0; border: 0; border-radius: 0; color: var(--ink); background: transparent; font: inherit; line-height: 1.5; letter-spacing: -.1px; text-align: left; cursor: pointer; }
.inventory-group-toggle > .inventory-product-photo { width: var(--inventory-image-column); height: var(--inventory-thumbnail); }
.inventory-product-name { margin-left: var(--space-2); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.inventory-product-count { margin-left: var(--space-3); color: var(--muted); font-size: var(--text-meta); font-weight: 400; white-space: nowrap; }
.inventory-group-caret { display: grid; place-items: center; width: var(--inventory-menu-column); flex-shrink: 0; margin-left: auto; color: var(--muted); }
.inventory-group-toggle[aria-expanded="true"] .inventory-group-caret svg { transform: rotate(90deg); }
.inventory-product-photo { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: var(--inventory-thumbnail); height: var(--inventory-thumbnail); }
.inventory-product-photo > .record-photo-placeholder { display: grid; background: var(--thumbnail-placeholder); }
.inventory-product-photo > :is(img, span) { display: block; width: var(--inventory-thumbnail); height: var(--inventory-thumbnail); border-radius: var(--radius-thumbnail); background: var(--band); object-fit: contain; }
.inventory-sheet .data-grid__row > .inventory-thumbnail { justify-content: center; padding: 0; }
.inventory-part-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ink); font-weight: 400; }
.inventory-source { gap: var(--space-2); color: var(--muted); font-size: 12px; line-height: 18px; }
.inventory-source-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.inventory-source-kind { position: relative; top: 1px; margin-left: 8px; flex-shrink: 0; line-height: 11px; font-size: var(--text-tiny); color: var(--tertiary); white-space: nowrap; }
.inventory-stock-status { display: inline-flex; align-items: center; gap: var(--tab-count-gap); font-size: var(--text-meta); line-height: 18px; white-space: nowrap; }
.inventory-stock-status[data-state="low"] { color: var(--amber); }
.inventory-stock-status[data-state="shortage"] { color: var(--red); }
.inventory-stock-status:not(:empty)::before { content: ""; width: var(--status-dot-size); height: var(--status-dot-size); border-radius: 0; background: currentColor; }
.inventory-add-row { display: block; height: var(--row-height); border-top: 1px solid var(--line-soft); }
.inventory-add-row > td { display: flex; align-items: center; height: calc(var(--row-height) - 1px); padding: 0 0 0 var(--inventory-add-inset); }
.inventory-add-row .button { letter-spacing: var(--tracking-body); }
.inventory-row-error > td { padding: var(--space-2) var(--space-4); color: var(--red); font-size: var(--text-meta); }
.inventory-row-error .button { margin-left: var(--space-2); }
.inventory-empty { padding: var(--space-6); }
.inventory-page [hidden] { display: none !important; }

.inventory-edit-page { max-width: 920px; }
.inventory-component-fields { border: 0; border-radius: 0; background: var(--surface); }
.inventory-component-field { display: flex; align-items: center; justify-content: space-between; gap: var(--space-6); padding: var(--space-3) var(--space-4); }
.inventory-component-field + .inventory-component-field { border-top: 0; }
.inventory-component-field > label { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.inventory-component-field > div { display: flex; flex: 0 0 auto; align-items: center; gap: var(--space-2); color: var(--muted); font-size: var(--text-meta); }
.inventory-component-field .text-input { width: 90px; font-variant-numeric: tabular-nums; }
@media (max-width: 760px) {
  .inventory-component-field { align-items: flex-start; gap: var(--space-3); padding: var(--space-3); }
  .inventory-component-field .text-input { font-size: var(--text-body); width: 76px; }
  .inventory-component-field > div { flex-direction: column; gap: var(--space-1); }
}
.inventory-movements { margin-top: var(--space-6); }
.inventory-movements h2 { margin-bottom: var(--space-4); font-size: var(--title-section); }
.inventory-movement-table { min-width: 650px; }
.inventory-refresh-status { margin: 0 0 var(--space-4); color: var(--muted); font-size: var(--text-dense); }
.inventory-refresh-status:empty { display: none; }
.order-panel .inventory-edit-page .page-header { padding-right: var(--space-12); margin-bottom: var(--space-4); }
.order-panel .inventory-edit-page .page-header__actions { align-self: flex-start; }
.order-panel .inventory-edit-page .form-actions { z-index: 1; border-top: 1px solid var(--line); }
.order-panel .inventory-edit-page .inventory-removal { margin-top: var(--space-6); padding-top: var(--space-6); }
.order-panel .inventory-edit-page .inventory-create-part { padding-top: var(--space-4); border-top: 1px solid var(--line); }
.inventory-supplier-content { display: flex; align-items: center; min-width: 0; min-height: var(--row-height); }
.inventory-fabricator { flex: 0 1 48%; max-width: 48%; min-width: 0; margin-right: var(--space-2); padding-left: var(--cell-padding-x); color: var(--muted); font-size: var(--text-meta); line-height: var(--line-meta); overflow: hidden; text-overflow: ellipsis; }
.inventory-supplier-content > .grid-input { flex: 1 1 0; width: 0; }
.inventory-supplier-content > span:not(.inventory-fabricator) { min-width: 0; padding-inline: var(--cell-padding-x); overflow: hidden; text-overflow: ellipsis; }

.inventory-alert-history { margin: 0 0 var(--space-6); border-block: 1px solid var(--line); scroll-margin-top: var(--space-6); }
.inventory-alert-history > summary { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-3); min-height: var(--row-height); padding: var(--space-2) 0; cursor: pointer; font-size: var(--text-ui); }
.inventory-alert-history > summary::before { content: "+"; color: var(--ink); }
.inventory-alert-history[open] > summary::before { content: "−"; }
.inventory-alert-empty { padding: 0 0 var(--space-4); font-size: var(--text-ui); }
.page-tabs__count[hidden] { display: none; }

.inventory-edit-page .inventory-part-form .form-actions { margin-top: var(--space-4); }

.order-panel:has(.inventory-detail-page) .order-panel__identity, .order-panel:has(.inventory-detail-page) .order-panel__view { display: none; }
.order-panel .maker-page.inventory-detail-page { max-width: none; padding: 0; }
.inventory-detail-heading { display: flex; align-items: center; padding: var(--panel-gutter); border-bottom: 1px solid var(--line); }
.inventory-detail-heading .record-panel-header { width: 100%; }
.inventory-detail-heading .order-panel__actions { top: 0; right: calc(var(--control-height) + var(--space-2)); }

.workspace-shell .inventory-detail-page > .page-tabs { margin: var(--space-4) 0; padding: 0 0 var(--space-3); gap: var(--space-2); border-bottom: 1px solid var(--line); overflow: visible; }
.inventory-detail-panel { padding: 0 var(--panel-gutter); border: 0; border-radius: 0; }
.inventory-create-panel { padding-block: var(--panel-gutter); }
.inventory-header-overflow { display: none; }
@media (max-width: 639px) {
  .inventory-page .inventory-header-secondary { display: none; }
  .inventory-header-overflow { display: block; }
}
.inventory-detail-panel > .edit-group, .inventory-detail-panel > .inventory-part-summary, .inventory-detail-panel > .inventory-component-detail { padding: var(--section-padding) 0; }
.inventory-detail-panel > :is(.edit-group, .inventory-part-summary, .inventory-component-detail) + :is(.edit-group, .inventory-part-summary, .inventory-component-detail) { border-top: 1px solid var(--line); }
.order-panel .inventory-detail-panel .section-heading { min-height: var(--control-height); margin-bottom: var(--space-3); }
.inventory-detail-panel .section-heading h2 { font: 600 var(--title-section)/var(--line-body) var(--sans); }
.inventory-detail-list { margin: 0; }
.inventory-detail-list > div { display: grid; grid-template-columns: var(--field-label-width) minmax(0, 1fr); align-items: center; gap: var(--space-3); min-height: var(--field-row-height); padding: 0; border-bottom: 0; }
.inventory-detail-list > div:last-child { border-bottom: 0; }
.inventory-detail-list dt { color: var(--muted); font-size: var(--text-meta); font-weight: 400; }
.inventory-detail-list dd { margin: 0; overflow-wrap: anywhere; }
.inventory-routing-summary { padding: var(--section-padding) 0; border-top: 1px solid var(--line); }
.inventory-routing-summary > p { margin-bottom: var(--space-4); color: var(--muted); font-size: var(--text-meta); line-height: var(--line-meta); }
.order-panel .inventory-routing-summary .section-heading { min-height: var(--control-height); }
.inventory-routing-table { width: 100%; border: 0; border-radius: 0; border-spacing: 0; font-size: var(--text-dense); }
.inventory-routing-table th, .inventory-routing-table td { height: var(--row-height); padding: var(--space-2) var(--space-3); text-align: left; vertical-align: middle; border-bottom: 1px solid var(--line-soft); font-weight: 400; }
.inventory-routing-table th { height: var(--header-height); padding-block: 0; color: var(--muted); background: var(--table-header); font-size: var(--text-meta); }
.inventory-routing-table th:first-child { width: 56px; }
.inventory-routing-table td:first-child { font: var(--text-meta)/var(--line-meta) var(--mono); color: var(--muted); }
.inventory-routing-table tr:last-child td { border-bottom: 0; }
.inventory-routing-table small { display: block; margin-top: var(--space-1); color: var(--muted); font-size: var(--text-tiny); }
.inventory-detail-empty { margin: var(--space-6) 0; color: var(--muted); }
.inventory-detail-panel > .button { margin-bottom: var(--space-6); }
@media (max-width: 760px) {
  .inventory-overview__toolbar { flex-direction: column; gap: var(--space-3); }
  .inventory-detail-panel { padding-inline: var(--space-4); }
  .inventory-detail-panel > .edit-group, .inventory-detail-panel > .inventory-part-summary, .inventory-detail-panel > .inventory-component-detail, .inventory-routing-summary { padding-block: var(--space-4); }
  .inventory-detail-panel .section-heading { min-height: var(--control-height); }
  .inventory-routing-table th:last-child { display: none; }
  .inventory-routing-table td:nth-child(2) { border-bottom: 0; }
  .inventory-routing-table td:last-child { display: block; margin-left: var(--space-12); padding-top: 0; }
  .inventory-routing-table tbody tr { display: grid; grid-template-columns: 56px minmax(0, 1fr); }
  .inventory-routing-table td:last-child { grid-column: 1 / -1; }
}

/* Creator and explicit Edit actions share the form-drawer section/footer kit. */
.inventory-form-page { display: flex; flex-direction: column; }
.inventory-form-page .record-panel-header { padding-right: calc(var(--control-height) + var(--space-3)); }
.inventory-form { display: flex; flex-direction: column; flex: 1; min-height: 0; }
.inventory-form-fields { padding: var(--space-3) var(--panel-gutter) var(--panel-gutter); }
.inventory-form-fields .text-input { padding-block: 0; line-height: var(--line-workspace); }
.inventory-form-fields .select-input { padding-block: 0; line-height: var(--line-workspace); }
.inventory-form .form-field { min-height: var(--field-row-height); }
.inventory-form .panel-edit-footer { margin: auto 0 0; padding: var(--space-3) var(--panel-gutter); }
.inventory-form-fields .inventory-form-multiline { align-items: start; padding-block: var(--space-1); }
.inventory-form-fields .inventory-form-multiline .field-label { padding-top: var(--tab-count-gap); }
.inventory-form-fields .inventory-form-multiline textarea.text-input { height: var(--settings-textarea-height); min-height: var(--settings-textarea-height); padding: var(--tab-count-gap) var(--space-2); line-height: var(--line-body); }
.inventory-form textarea { height: var(--form-textarea-height); min-height: var(--form-textarea-height); padding: var(--space-1) var(--space-2); resize: vertical; }
.inventory-image-controls { display: flex; align-items: center; gap: var(--space-2); min-width: 0; color: var(--muted); }
.inventory-image-controls img { width: var(--inventory-thumbnail); height: var(--inventory-thumbnail); object-fit: contain; border-radius: var(--radius-thumbnail); }
.inventory-image-field .image-upload-status:empty { display: none; }
.inventory-form-create-part { padding: var(--space-2) var(--panel-gutter) var(--space-4); }

.inventory-number { font-size: 12px; line-height: 18px; }
.inventory-sheet .inventory-number :is(.grid-cell__read, .grid-input:not([type="checkbox"])) { min-height: 0; height: 100%; font-size: 12px; line-height: 18px; padding-block: 0; align-content: center; }
.inventory-sheet .inventory-actions .button > svg { width: 18px; height: 18px; }
