/* QA/QC & Materials Testing (.qc) — Signal in-slot page. Tokens are injected on .qc-root at runtime
   (light + dark) by the viewmodel; this file is structure/animation only, fully namespaced. */
.qc-root { font-family: 'Plus Jakarta Sans', system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
.qc-root *,
.qc-root *::before,
.qc-root *::after { box-sizing: border-box; }
.qc-mono { font-family: 'IBM Plex Mono', ui-monospace, monospace; }
.qc-row { transition: background .12s; }
.qc-row:hover { background: var(--surface-2, #FAFBFE); }
.qc-act { transition: filter .14s; }
.qc-act:hover { filter: brightness(.97); }
.qc-in { width: 100%; font: 600 13px 'Plus Jakarta Sans'; color: var(--text, #1A1D2E); padding: 10px 12px; border: 1.5px solid var(--border, #E5E8F2); border-radius: 10px; background: var(--surface-2, #FAFBFE); outline: none; }
.qc-in:focus { border-color: var(--brand-500, #5E76EE); }
@keyframes qc-pop { 0% { transform: translateY(8px); opacity: 0; } 100% { transform: translateY(0); opacity: 1; } }
.qc-toast { animation: qc-pop .25s var(--ease, cubic-bezier(.2,.8,.2,1)); }
/* narrow / mobile: stack the metric strip + collapse the two-column body */
@media (max-width: 900px) {
  .qc-root .qc-metrics { grid-template-columns: repeat(2, 1fr) !important; }
  .qc-root .qc-grid { grid-template-columns: 1fr !important; }
  .qc-root .qc-thead,
  .qc-root .qc-trow { grid-template-columns: 60px 1.4fr 1fr 90px !important; }
  .qc-root .qc-thead > span:nth-child(4),
  .qc-root .qc-trow > span:nth-child(4) { display: none; }
}
