.scm-consumables { width:100%; min-width:0; margin-block:1rem; padding:1rem; border:1px solid var(--bs-border-color,#dee2e6); border-radius:.5rem; background:var(--bs-body-bg,#fff); }
.scm-consumables h3 { margin:0; font-size:1.05rem; }
.scm-consumables__toolbar,.scm-consumables__root { display:flex; align-items:center; justify-content:space-between; gap:.75rem; flex-wrap:wrap; margin-block:.75rem; }
.scm-consumables__root { padding:.75rem; background:var(--bs-tertiary-bg,#f6f7fb); }
.scm-consumables__tree,.scm-consumables__branches { list-style:none; padding-left:1rem; margin:.75rem 0; border-left:2px solid var(--bs-border-color,#dee2e6); }
.scm-consumables__item { padding:.75rem 0 .75rem .75rem; border-bottom:1px solid var(--bs-border-color,#dee2e6); }
.scm-consumables__row { display:grid; grid-template-columns:minmax(0,2fr) minmax(8rem,1fr) minmax(8rem,1fr) auto; gap:.75rem; align-items:end; }
.scm-consumables__identity { display:flex; flex-direction:column; gap:.25rem; overflow-wrap:anywhere; }
.scm-consumables__identity small { max-height:5rem; overflow:auto; color:var(--bs-secondary-color,#667085); }
.scm-consumables__source { font-size:.8rem; color:var(--bs-secondary-color,#667085); }
.scm-consumables__original { padding:.75rem 0 .75rem .75rem; border-bottom:1px solid var(--bs-border-color,#dee2e6); }
.scm-consumables__original-row { display:flex; align-items:center; justify-content:space-between; gap:.75rem; flex-wrap:wrap; }
.scm-consumables__original-row > .scm-consumables__identity { flex:1 1 12rem; }
.scm-consumables__empty { padding:.75rem; color:var(--bs-secondary-color,#667085); }
.scm-consumables__row label { display:flex; flex-direction:column; gap:.35rem; font-size:.85rem; min-width:0; }
.scm-consumables input { width:100%; min-width:0; }
.scm-consumables__bom { margin-top:.75rem; overflow-wrap:anywhere; }
.scm-consumables__bom summary { cursor:pointer; padding:.35rem 0; }
.scm-consumables__branches ul { list-style:none; margin:.4rem 0; padding-left:1rem; border-left:1px solid var(--bs-border-color,#dee2e6); }
.scm-consumables__branches li { padding:.25rem .4rem; font-size:.85rem; }
@media(max-width:900px) { .scm-consumables__row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); } .scm-consumables__identity { grid-column:1/-1; } }
@media(max-width:520px) { .scm-consumables__row { grid-template-columns:minmax(0,1fr); } .scm-consumables__tree { padding-left:.4rem; } .scm-consumables { padding:.75rem; } }
