.panel-header p { margin: 3px 0 0; color: var(--muted); }
.form-actions { flex-wrap: wrap; }
.filter-bar.extended { grid-template-columns: minmax(230px,2fr) repeat(5,minmax(115px,1fr)) auto; }
.formula-filters { grid-template-columns: minmax(260px,2fr) minmax(240px,1fr) auto; }
.missing-rm-filters { grid-template-columns: minmax(280px,2fr) repeat(3,minmax(170px,1fr)) auto; }
.formula-entry { display: grid; grid-template-columns: minmax(260px,1fr) 150px auto; gap: 10px; align-items: end; margin-bottom: 10px; }
.missing-rm-page { max-width: 1760px; }
.column-picker { padding: 14px 18px; }
.column-picker summary { cursor: pointer; font-weight: 700; }
.column-picker[open] summary { margin-bottom: 14px; }
.missing-rm-table table { min-width: 1500px; }
.missing-rm-table th:first-child { min-width: 300px; }
.missing-rm-table td { min-width: 130px; }
.missing-rm-table .description-cell { min-width: 260px; max-width: 420px; }
.missing-rm-table textarea.review-notes { min-width: 220px; min-height: 88px; }
.missing-rm-table a { overflow-wrap: anywhere; }
.missing-rm-group + .missing-rm-group .target-row td { border-top: 12px solid var(--bg); }
.target-row td { background: var(--panel); }
.target-row td:first-child { box-shadow: inset 4px 0 0 var(--accent); }
.row-type-label, .candidate-rank { display: block; margin-bottom: 4px; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.candidate-row td { background: var(--panel-soft); }
.candidate-row td:first-child { padding-left: 28px; }
.candidate-row:hover td { background: #f5f7f5; }
.candidate-row:has(.candidate-choice:checked) td { background: var(--accent-soft); }
.candidate-row:has(.candidate-choice:checked) td:first-child { box-shadow: inset 4px 0 0 var(--accent); }
.candidate-identity { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: start; gap: 10px; }
.candidate-choice, .manual-choice input[type="radio"], .decision-line input { width: auto; min-height: auto; margin-top: 3px; }
.candidate-rank { cursor: pointer; }
.score-badge { display: inline-flex; margin-left: 6px; padding: 1px 5px; border-radius: 999px; background: #eceeec; color: var(--muted); font-size: 10px; }
.replacement-action-row td { background: var(--panel); padding: 14px 16px 18px; border-bottom: 1px solid var(--line-strong); }
.replacement-action-row:hover td { background: var(--panel); }
.replacement-actions { display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: end; }
.current-decision { display: flex; flex: 1 1 260px; flex-wrap: wrap; gap: 8px; align-items: center; min-height: 39px; }
.manual-choice { display: grid; flex: 2 1 420px; gap: 6px; font-weight: 600; }
.manual-choice > span, .decision-line { display: flex; align-items: center; gap: 7px; }
.decision-line { align-self: center; font-weight: 500; white-space: nowrap; }
.replacement-actions .button { align-self: end; }
@media (max-width:1240px) {
  .filter-bar.extended, .missing-rm-filters { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .filter-bar input:first-child, .missing-rm-filters input:first-child { grid-column: 1 / -1; }
}
@media (max-width:1040px) {
  .filter-bar.extended, .missing-rm-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .filter-bar.extended, .missing-rm-filters, .formula-filters, .formula-entry { grid-template-columns: 1fr; }
  .filter-bar input:first-child, .missing-rm-filters input:first-child { grid-column: auto; }
  .pagination { align-items: flex-start; flex-direction: column; }
}

/* Raw-material list and record detail */
.raw-materials-page { max-width: 1760px; }
.raw-material-filters { grid-template-columns: minmax(280px, 2fr) repeat(6, minmax(135px, 1fr)) auto; }
.raw-materials-table table { min-width: 1680px; }
.raw-materials-table th:first-child { min-width: 280px; }
.raw-materials-table th { white-space: nowrap; }
.rm-sort { display: inline-flex; align-items: center; gap: 4px; width: 100%; margin: 0; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; font-weight: inherit; line-height: 1.2; text-align: left; cursor: pointer; }
.rm-sort:hover { color: var(--accent-dark); }
.rm-sort:focus-visible { outline: 1px solid var(--accent); outline-offset: 2px; border-radius: 2px; }
.rm-sort-arrow { display: inline-block; flex: 0 0 .8em; width: .8em; color: var(--line-strong); font-size: 9px; line-height: 1; text-align: center; }
.rm-sort-arrow.active { color: var(--accent); }
.raw-materials-table td { min-width: 120px; }
.raw-materials-table .description-cell { min-width: 250px; max-width: 420px; white-space: normal; }
.material-detail-page { max-width: 1480px; }
.material-detail-page .table-panel table { min-width: 820px; }
.record-block { padding: 16px 0; border-top: 1px solid var(--line); }
.record-block:first-of-type { padding-top: 0; border-top: 0; }
.record-block > strong { display: block; margin-bottom: 10px; }
.data-json { max-height: 420px; overflow: auto; margin: 10px 0 0; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel-soft); white-space: pre-wrap; overflow-wrap: anywhere; font: 12px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; }
input[readonly] { background: var(--panel-soft); color: var(--muted); }

@media (max-width: 1480px) {
  .raw-material-filters { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .raw-material-filters input:first-child { grid-column: 1 / -1; }
}
@media (max-width: 1040px) {
  .raw-material-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .raw-material-filters { grid-template-columns: 1fr; }
  .raw-material-filters input:first-child { grid-column: auto; }
}

/* Controlled raw-material identity */
.field-warning { display: block; margin-top: 6px; color: var(--danger); font-size: 12px; font-weight: 700; }
.field-warning[hidden] { display: none; }
select:disabled { background: var(--panel-soft); color: var(--muted); }
.compact-table table { min-width: 480px; }
.purchase-history-table table { min-width: 1260px; }
.organ-dilution-options { padding: 12px 0 2px; }
.record-name { font-weight: 700; }
