/*
 * caliber_rm.css - Caliber Studio core requirements-management screens (U1): suspect links, trace policy, reuse and sync,
 * baseline tools, review deadlines and verdicts, variant baselines. Carbon tokens only, logical properties only, one
 * canonical breakpoint (671px) for the small-screen rules. Scoped to the classes caliber_rm_*.js draws.
 */
.rm-filters { align-items: flex-end; }
.rm-filters .hx-field { margin-block-end: 0; min-inline-size: 12rem; flex: 1 1 12rem; max-inline-size: 22rem; }
.rm-filters .hx-field--check { min-inline-size: 0; flex: 0 0 auto; }

.rm-bulk { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cds-spacing-04); margin-block-end: var(--cds-spacing-04); padding: var(--cds-spacing-03) var(--cds-spacing-04); background: var(--cds-layer-02); border: 1px solid var(--cds-border-subtle-01); }
.rm-bulk__count { color: var(--cds-text-secondary); margin-inline-end: auto; }
.rm-bulk .ct-acts { display: flex; flex-wrap: wrap; gap: var(--cds-spacing-03); }

.rm-pick { inline-size: 1.25rem; block-size: 1.25rem; accent-color: var(--cds-interactive); }
tr.is-selected > * { background: var(--cds-layer-selected-01, var(--cds-background-selected)); }
.rm-reason { display: block; min-inline-size: 16ch; max-inline-size: 26ch; overflow-wrap: anywhere; }
.rm-ref { overflow-wrap: anywhere; }
.rm-chip { display: inline-block; max-inline-size: 11rem; white-space: normal; vertical-align: top; }
.rm-chip .ct-req { white-space: normal; }
.rm-chip .ct-ref { white-space: nowrap; margin-inline-end: var(--cds-spacing-02); }
.rm-pair { display: grid; gap: var(--cds-spacing-02); justify-items: start; min-inline-size: 14rem; }
.rm-withheld { display: inline-flex; align-items: center; gap: var(--cds-spacing-02); }

.rm-pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--cds-spacing-04); margin-block-start: var(--cds-spacing-04); }

.rm-sides { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--cds-spacing-05); }
.rm-side { min-inline-size: 0; padding: var(--cds-spacing-04); background: var(--cds-layer-01); border: 1px solid var(--cds-border-subtle-01); }
.rm-side__text { overflow-wrap: anywhere; color: var(--cds-text-secondary); }

.rm-rule { min-inline-size: 12rem; max-inline-size: 34ch; }
.rm-rule .hx-muted { margin-block-start: var(--cds-spacing-02); }
.rm-meter-cell { display: inline-flex; align-items: center; gap: var(--cds-spacing-03); white-space: nowrap; }
.rm-meter { inline-size: 4rem; block-size: 0.5rem; border: 0; background: var(--cds-layer-accent-01, var(--cds-border-subtle-01)); accent-color: var(--cds-support-info); }
.rm-meter::-webkit-progress-bar { background: var(--cds-layer-accent-01, var(--cds-border-subtle-01)); }
.rm-meter--good { accent-color: var(--cds-support-success); }
.rm-meter--warn { accent-color: var(--cds-support-warning); }
.rm-meter--bad { accent-color: var(--cds-support-error); }
.rm-meter--good::-webkit-progress-value { background: var(--cds-support-success); }
.rm-meter--warn::-webkit-progress-value { background: var(--cds-support-warning); }
.rm-meter--bad::-webkit-progress-value { background: var(--cds-support-error); }
.rm-meter--good::-moz-progress-bar { background: var(--cds-support-success); }
.rm-meter--warn::-moz-progress-bar { background: var(--cds-support-warning); }
.rm-meter--bad::-moz-progress-bar { background: var(--cds-support-error); }

.rm-statuses { border: 0; padding: 0; margin: var(--cds-spacing-04) 0 0; min-inline-size: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 10rem), 1fr)); gap: 0 var(--cds-spacing-04); }
.rm-statuses > legend, .rm-statuses > p { grid-column: 1 / -1; margin: 0; padding: 0; }
.rm-templates { border: 0; padding: 0; margin: 0; min-inline-size: 0; display: grid; gap: var(--cds-spacing-04); }
.rm-template { align-items: flex-start; padding: var(--cds-spacing-04); border: 1px solid var(--cds-border-subtle-01); }

.rm-diffcell { min-inline-size: 12rem; }
.rm-diff { display: block; overflow-wrap: anywhere; white-space: pre-wrap; }
.rm-diff.is-origin { border-inline-start: 3px solid var(--cds-support-info); padding-inline-start: var(--cds-spacing-03); }
.rm-diff.is-copy { border-inline-start: 3px solid var(--cds-support-warning); padding-inline-start: var(--cds-spacing-03); }

.rm-changes { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--cds-spacing-04); min-inline-size: 18rem; }
.rm-changes > li { display: grid; gap: var(--cds-spacing-02); }
.rm-from, .rm-to { display: block; overflow-wrap: anywhere; padding-inline-start: var(--cds-spacing-03); }
.rm-from { border-inline-start: 3px solid var(--cds-support-error); color: var(--cds-text-secondary); }
.rm-to { border-inline-start: 3px solid var(--cds-support-success); }

.rm-deadline { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cds-spacing-04); margin-block-end: var(--cds-spacing-04); }
.rm-verdicts { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--cds-spacing-03); min-inline-size: 14rem; }
.rm-verdicts > li.is-stale { opacity: 0.7; }

.rm-gate { margin-block: var(--cds-spacing-04); }
.rm-gate__part { margin-block-end: var(--cds-spacing-04); }
.rm-gate__part ul { margin: 0; padding-inline-start: var(--cds-spacing-05); display: grid; gap: var(--cds-spacing-03); }

.rm-panel { margin-block-start: var(--cds-spacing-06); }
.rm-result { margin-block-end: var(--cds-spacing-04); }

@media (max-width: 671px) {
  .rm-sides { grid-template-columns: minmax(0, 1fr); }
  .rm-filters .hx-field { max-inline-size: none; flex-basis: 100%; }
  .rm-bulk { align-items: stretch; }
  .rm-bulk__count { margin-inline-end: 0; flex-basis: 100%; }
  .rm-reason { max-inline-size: 24ch; }
}
@media (forced-colors: active) {
  .rm-meter { forced-color-adjust: auto; }
  .rm-from, .rm-to, .rm-diff.is-origin, .rm-diff.is-copy { border-inline-start-color: CanvasText; }
}

/* a table cell of several actions wraps instead of widening the table */
.hx-table td > .ct-acts.rm-acts { flex-wrap: wrap; min-inline-size: 7rem; }
