.compositions-shell{align-items:start}
.compositions-shell > *,
.compositions-shell .form-card,
.composition-filters > *,
#compositionList{min-width:0;max-width:100%}
.composition-filters{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:end;margin-top:16px}
.composition-filters button{min-height:44px}
.composition-table{min-width:760px;table-layout:fixed}
.composition-table th:first-child,.composition-table td:first-child{width:46px;text-align:center}
.composition-table th:nth-child(2),.composition-table td:nth-child(2){width:84px}
.composition-table th:nth-child(4),.composition-table td:nth-child(4){width:72px}
.composition-table th:nth-child(5),.composition-table td:nth-child(5){width:82px;text-align:right}
.composition-table th:nth-child(6),.composition-table td:nth-child(6){width:118px;text-align:center}
.composition-quotes-button{width:100%;min-height:36px;padding:6px 8px;white-space:normal}
.composition-table tbody tr{cursor:pointer}
.composition-table tbody tr:hover td{background:#edf6ff}
.composition-table input[type="checkbox"]{width:18px;height:18px;accent-color:var(--amfri-blue)}
.composition-code{font-family:var(--mono);font-weight:700;color:var(--amfri-blue)}
.composition-description{font-weight:700;line-height:1.25}
.composition-export-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.composition-audit-card{margin-top:18px}
.composition-audit-section+.composition-audit-section{margin-top:22px;padding-top:20px;border-top:1px solid #bfd5ea}
.composition-audit-section h4{margin:0 0 10px;color:var(--amfri-blue);font-family:var(--head);font-size:18px;line-height:1.15;text-transform:uppercase}
.composition-audit-table-wrap{max-width:100%;margin-top:10px}
.composition-audit-table{width:100%;min-width:0;table-layout:fixed}
.composition-audit-table th:nth-child(1),.composition-audit-table td:nth-child(1){width:82px}
.composition-audit-table th:nth-child(2),.composition-audit-table td:nth-child(2){width:72px}
.composition-audit-table th:nth-child(4),.composition-audit-table td:nth-child(4){width:150px}
.composition-audit-table td{overflow-wrap:anywhere}
.audit-warning{color:#a45c00}
.audit-ok{margin:0;padding:12px;border:1px solid #a8dcd3;background:#effbf8;color:#087665;font-weight:700}
.composition-modal-card{width:1120px;max-width:calc(100vw - 40px);min-width:0;overflow-x:hidden;padding:20px}
.composition-modal-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}
.composition-modal-head h2{margin:4px 0 0;color:var(--amfri-blue);font-family:var(--head);font-size:26px;line-height:1.1}
.composition-spreadsheet{overflow:auto;border:1px solid #7e8a91;background:#fff}
.composition-spreadsheet table{width:100%;min-width:780px;border-collapse:collapse;table-layout:fixed;font-size:13px}
.composition-spreadsheet th,.composition-spreadsheet td{border:1px dotted #67727a;padding:7px 9px;text-align:left;vertical-align:top}
.composition-spreadsheet thead th{background:#f0f0f0;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.composition-spreadsheet .composition-main-row td{background:#fff79c;font-weight:700}
.composition-spreadsheet .composition-main-row td:nth-child(1),.composition-spreadsheet .composition-main-row td:nth-child(2),.composition-spreadsheet .composition-main-row td:nth-child(4),.composition-spreadsheet .composition-main-row td:nth-child(5){text-align:center}
.composition-spreadsheet .component-row td{background:#fffbd0}
.composition-spreadsheet th:nth-child(1),.composition-spreadsheet td:nth-child(1){width:100px}
.composition-spreadsheet th:nth-child(2),.composition-spreadsheet td:nth-child(2){width:90px}
.composition-spreadsheet th:nth-child(4),.composition-spreadsheet td:nth-child(4){width:80px}
.composition-spreadsheet th:nth-child(5),.composition-spreadsheet td:nth-child(5){width:100px;text-align:right}
.composition-spreadsheet .missing-description{color:#74859a;font-style:italic;font-weight:400}
.composition-modal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.composition-modal-actions .secondary{width:auto}
body.composition-modal-open{overflow:hidden}

@media (max-width:800px){
  .composition-filters{grid-template-columns:1fr}
  .composition-filters .field{grid-column:auto}
  .composition-filters button{width:100%;padding-inline:12px}
  .composition-export-actions{grid-template-columns:1fr}
  .composition-modal-head{display:grid}
  .composition-audit-table{min-width:520px}
}
