.ft-inventory { margin-bottom: 24px; padding-bottom: 20px; border-bottom: 1px solid var(--color-border); }
.ft-inventory h2 { margin: 0 0 4px; font-size: 18px; }
.ft-inventory-totals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding: 14px 0 18px; }
.ft-inventory-totals > div { border-left: 3px solid var(--color-border); padding-left: 12px; }
.ft-inventory-totals > div:last-child { border-color: var(--color-primary); }
.ft-inventory-totals span { display: block; font-size: 12px; color: var(--color-text-muted); }
.ft-inventory-totals strong { display: block; margin: 4px 0; font-size: 22px; color: var(--color-text); }
.ft-inventory-scroll { overflow-x: auto; }
.ft-inventory table { width: 100%; min-width: 900px; border-collapse: collapse; table-layout: fixed; }
.ft-inventory th, .ft-inventory td { padding: 12px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--color-border); font-size: 13px; overflow-wrap: anywhere; }
.ft-inventory thead { background: var(--color-surface-2); }
.ft-inventory thead th { color: var(--color-text-muted); font-size: 11px; }
.ft-inventory th:first-child { width: 22%; }
.ft-inventory th:nth-child(4) { width: 26%; }
.ft-inventory th:last-child { width: 12%; }
.ft-inventory .ft-inventory-total { text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; }
.ft-inventory th:last-child { text-align: right; }
.ft-inventory-secondary { display: block; color: var(--color-text-muted); font-size: 12px; margin: 3px 0; }
.ft-inventory-size { font-variant-numeric: tabular-nums; margin-top: 4px; }
.ft-inventory details { margin-top: 8px; font-size: 12px; }
.ft-inventory summary { cursor: pointer; color: var(--color-primary); }
.ft-inventory ul { list-style: none; padding: 0; margin: 6px 0 0; }
.ft-inventory li { margin-top: 8px; }
.ft-inventory-filter { display: flex; align-items: center; gap: 10px; margin: 14px 0; font-size: 13px; }
.ft-inventory-filter select { max-width: 100%; padding: 7px; border: 1px solid var(--color-border); border-radius: 4px; background: var(--color-surface); color: var(--color-text); font: inherit; }
.ft-attention-banner { display: flex; flex-wrap: wrap; gap: 6px 20px; padding: 12px; border-left: 4px solid var(--color-primary); background: var(--color-surface-2); font-size: 14px; }
.ft-attention-banner.critical { border-color: var(--color-error); }
.ft-attention-banner.watch { border-color: var(--color-warning); }
.ft-status { display: table; margin: 8px 0 4px; padding: 3px 6px; border: 1px solid currentColor; border-radius: 4px; font-size: 12px; }
.ft-status.critical { color: var(--color-error); }
.ft-status.watch { color: var(--color-warning); }
.ft-status.ok { color: var(--color-text-muted); }
.ft-stock-critical > th:first-child { border-left: 3px solid var(--color-error); }
.ft-stock-watch > th:first-child { border-left: 3px solid var(--color-warning); }
@media (max-width: 600px) {
  .ft-inventory-totals { gap: 8px; }
  .ft-inventory-totals strong { font-size: 17px; }
  .ft-inventory-totals > div { padding-left: 7px; }
  .ft-inventory .ft-panel-head { flex-wrap: wrap; }
}
