/* caliber_safety.css - Caliber Studio safety register, mitigation plans, audits, standards and dossiers. [cal-cap-2]
   Tokens only; canonical breakpoints (671px / 1055px); the heat-map cells reuse caliber_trace.css (.ct-heat). */

.cs-top { align-items: start; }
.cs-matrix { max-width: 100%; }
.cs-matrix .ct-heat th.cs-sev { text-align: start; white-space: nowrap; padding: 0 var(--cds-spacing-03); width: auto; font-weight: var(--fw-regular, 400); }
.cs-matrix .ct-heat thead th { font-variant-numeric: tabular-nums; }
.cs-axis { font-weight: var(--fw-semibold, 600); }
.cs-legend { margin: var(--cds-spacing-03) 0 0; }
.cs-seg { display: inline-flex; gap: var(--cds-spacing-02); }
.cs-list { margin: 0 0 var(--cds-spacing-04); padding: 0; list-style: none; display: grid; gap: var(--cds-spacing-03); }
.cs-list li { display: flex; gap: var(--cds-spacing-03); align-items: baseline; }

.cs-head { margin: 0 0 var(--cds-spacing-05); }
.cs-head .ct-h { margin: 0 0 var(--cds-spacing-02); overflow-wrap: anywhere; }

.cs-proj { display: flex; flex-wrap: wrap; gap: var(--cds-spacing-04); align-items: stretch; margin: 0 0 var(--cds-spacing-04); }
.cs-proj__box { display: flex; flex-direction: column; gap: var(--cds-spacing-02); min-width: min(220px, 100%); padding: var(--cds-spacing-04);
  border: 1px solid var(--cds-border-subtle-01); background: var(--cds-layer-01); }
.cs-proj__label { font-size: var(--cds-label-01-font-size, 0.75rem); color: var(--cds-text-secondary); text-transform: none; }
.cs-proj__cell { color: var(--cds-text-primary); }
.cs-proj__arrow { align-self: center; color: var(--cds-text-secondary); font-size: var(--cds-heading-03-font-size, 1.25rem); }

.cs-plan .hx-field { margin-bottom: var(--cds-spacing-04); }
.cs-dl { display: grid; grid-template-columns: max-content 1fr; gap: var(--cds-spacing-03) var(--cds-spacing-05); margin: 0; }
.cs-dl dt { color: var(--cds-text-secondary); }
.cs-dl dd { margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; }

.cs-runform { align-items: flex-end; }
.cs-runform > .hx-field { min-width: min(220px, 100%); flex: 1 1 220px; margin-bottom: 0; }
.cs-runform > .hx-btn { min-height: 40px; }

.cs-hash { font-family: var(--cds-code-01-font-family, 'IBM Plex Mono', monospace); font-size: var(--cds-code-01-font-size, 0.75rem); color: var(--cds-text-secondary); white-space: nowrap; }
.cs-terms { display: flex; flex-wrap: wrap; gap: var(--cds-spacing-02); margin: 0; }

.ct-safety .hx-table td .ct-acts, .ct-dossiers .hx-table td .ct-acts { flex-wrap: wrap; }
.hx-table .cs-col-wide { min-width: 14rem; }
.hx-table .cs-col-nowrap { white-space: nowrap; }
.hx-table .cs-col-acts { min-width: 20rem; }
.ct-dossiers .hx-table td .hx-select { width: auto; min-width: 7rem; }

@media (max-width: 1055px) {
  .cs-proj__arrow { display: none; }
}
@media (max-width: 671px) {
  .cs-matrix .ct-heat td, .cs-matrix .ct-heat thead th { width: 2.5rem; min-width: 0; padding: 0; }
  .cs-matrix .ct-heat th.cs-sev { white-space: normal; min-width: 0; padding: 0 var(--cds-spacing-02); }
  .hx-table .cs-col-wide { min-width: 11rem; }
  .hx-table .cs-col-acts { min-width: 12rem; }
  .cs-dl { grid-template-columns: 1fr; }
  .cs-proj__box { flex: 1 1 100%; }
}
@media (forced-colors: active) {
  .cs-proj__box { border-color: CanvasText; }
}
