#relatorio-bom .bom-toolbar, #relatorio-bom .bom-quantities { display:flex; flex-wrap:wrap; align-items:end; gap:14px; margin:18px 0; }
#relatorio-bom [hidden] { display:none !important; }
#relatorio-bom .bom-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; }
#relatorio-bom .bom-heading h2 { margin-bottom:4px; }
#relatorio-bom .bom-heading p { margin:0; color:var(--muted-text); }
#relatorio-bom button { width:auto; min-height:42px; margin:0; white-space:normal; }
#relatorio-bom .bom-settings { padding:16px; background:var(--bg-color); border:1px solid var(--border-color); border-radius:10px; }
#relatorio-bom .bom-settings label { flex:0 1 310px; }
#relatorio-bom .bom-nav { display:flex; flex-wrap:wrap; gap:6px; padding-bottom:12px; border-bottom:1px solid var(--border-color); }
#relatorio-bom .bom-nav button { flex:0 1 auto; background:transparent; color:var(--muted-text); border:1px solid transparent; box-shadow:none; padding:10px 16px; }
#relatorio-bom .bom-nav button:hover { background:var(--bg-color); color:var(--text-color); transform:none; }
#relatorio-bom .bom-nav button[aria-pressed="true"] { background:var(--accent-soft); color:var(--accent-color); border-color:var(--accent-color); }
#relatorio-bom .bom-panel { padding-top:8px; }
#relatorio-bom .bom-panel > h3 { margin:10px 0 6px; }
#relatorio-bom .bom-panel > p { color:var(--muted-text); margin-bottom:18px; max-width:100ch; }
#relatorio-bom .bom-cost-table { min-width:720px; }
#relatorio-bom .bom-cost-table th[scope="row"] { vertical-align:middle; }
#relatorio-bom .bom-cost-table td { vertical-align:middle; }
#relatorio-bom .bom-cost-detail { margin-top:24px; padding-top:20px; border-top:1px solid var(--border-color); }
#relatorio-bom .bom-cost-detail h4 { font-size:1.1rem; margin:0; }
#relatorio-bom .bom-cost-detail h5 { font-size:1rem; margin:24px 0 8px; }
#relatorio-bom .bom-equipment-button { background:transparent; color:var(--accent-color); box-shadow:none; padding:6px 0; text-align:left; text-decoration:underline; font:inherit; font-weight:700; }
#relatorio-bom .bom-cost-table tr.bom-selected { background:var(--accent-soft); }
#relatorio-bom .bom-cost-up { background:var(--status-error-bg); color:var(--status-error-text); }
#relatorio-bom .bom-cost-down { background:var(--status-online-bg); color:var(--status-online-text); }
#relatorio-bom .bom-full-composition { margin-top:24px; }
#relatorio-bom .bom-cost-detail > p { margin:8px 0 16px; color:var(--muted-text); }
#relatorio-bom .bom-footnote { margin:18px 0 0; font-size:.85rem; line-height:1.6; color:var(--muted-text); }
#relatorio-bom .bom-method { border-top:1px solid var(--border-color); margin-top:24px; padding-top:12px; color:var(--muted-text); font-size:.85rem; }
#relatorio-bom summary { cursor:pointer; padding:10px 0; font-weight:600; }
#relatorio-bom .bom-kit-details { padding:6px 16px; border:1px solid var(--border-color); border-radius:10px; }
#relatorio-bom label, #bom-editor label { display:grid; gap:6px; font-weight:600; color:var(--text-color); }
#relatorio-bom input, #relatorio-bom select, #bom-editor input, #bom-editor select { background:var(--card-bg); color:var(--text-color); border:1px solid var(--border-color); border-radius:8px; padding:10px; min-height:42px; width:100%; box-sizing:border-box; font:inherit; }
#relatorio-bom .bom-quantities label { flex:1 1 125px; }
.bom-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:12px; margin:18px 0; }
.bom-card { background:var(--card-bg); border:1px solid var(--border-color); border-radius:12px; padding:18px; }
.bom-card > span { font-size:.8rem; font-weight:700; color:var(--muted-text); }
.bom-card > strong { display:block; font-size:1.55rem; margin:8px 0; color:var(--text-color); }
.bom-card p, .bom-card small { margin:6px 0 0; font-size:.85rem; color:var(--muted-text); }
#relatorio-bom small, #bom-editor small { display:block; overflow-wrap:anywhere; }
.bom-note { padding:14px 18px; background:var(--accent-soft); border-left:3px solid var(--accent-color); border-radius:6px; color:var(--text-color); }
.bom-table-wrap { overflow:auto; max-width:100%; border:1px solid var(--border-color); border-radius:10px; }
#relatorio-bom table { width:100%; min-width:1050px; border-collapse:collapse; }
#relatorio-bom th, #relatorio-bom td { padding:12px; text-align:left; vertical-align:top; }
#relatorio-bom td:first-child { min-width:170px; max-width:280px; }
#relatorio-bom td:nth-child(2) { max-width:240px; }
#relatorio-bom small { color:var(--muted-text); margin-top:5px; }
.bom-badge { display:inline-block; padding:3px 8px; border-radius:6px; background:var(--status-online-bg); color:var(--status-online-text); font-size:.8rem; }
.bom-feeder-input { width:90px; min-height:36px; text-align:right; }
.bom-badge.bom-warning { background:var(--status-warning-bg); color:var(--status-warning-text); }
#relatorio-bom .bom-overdue, #bom-editor-error { color:var(--status-error-text); }
.bom-pagination { display:flex; gap:16px; align-items:center; justify-content:flex-end; margin-top:16px; flex-wrap:wrap; }
#bom-editor .modal-content { width:min(850px,94vw); max-height:90vh; overflow:auto; background:var(--card-bg); color:var(--text-color); }
#bom-config-fields { border:0; padding:0; margin:0; display:grid; gap:14px; grid-template-columns:1fr 1fr; }
#bom-config-fields .bom-wide { grid-column:1/-1; }
#bom-editor li { margin:10px 0; }
#bom-editor a { color:var(--accent-color); text-decoration:underline; }
#bom-editor details { margin:18px 0; }
@media(max-width:600px) { #bom-config-fields { grid-template-columns:1fr; } .bom-grid { grid-template-columns:1fr; } #relatorio-bom .bom-toolbar > label { flex:1 1 100%; } }
@media(max-width:600px) {
  #relatorio-bom .bom-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  #relatorio-bom .bom-nav button { padding:10px 8px; font-size:.85rem; }
  #relatorio-bom .bom-pagination { gap:10px; }
  #relatorio-bom .bom-pagination span { flex:1 1 100%; }
}
