/* Motor de Especificações Técnicas - CATMAT/SERPRO */
.spec-engine-card { border: 1px solid #d9e2ec; border-radius: 12px; background: #fff; }
.spec-engine-toolbar { position: sticky; top: 0; z-index: 10; background: #fff; border-bottom: 1px solid #e9ecef; }
.spec-engine-kpi { border: 1px solid #e9ecef; border-radius: 10px; padding: 12px; min-height: 92px; background: #fafafa; }
.spec-engine-kpi .valor { font-size: 1.35rem; font-weight: 700; }
.spec-engine-kpi .rotulo { color: #6c757d; font-size: .82rem; }
.spec-engine-table th { white-space: nowrap; font-size: .82rem; }
.spec-engine-table td { vertical-align: top; font-size: .86rem; }
.spec-market-values { max-width: 360px; max-height: 130px; overflow: auto; font-size: .78rem; color: #495057; }
.spec-market-values .badge { font-weight: 500; margin: 1px; }
.spec-justificativa { min-width: 230px; min-height: 64px; resize: vertical; }
.spec-regra-input { min-width: 120px; }
.spec-warning { font-size: .76rem; line-height: 1.25; }
.spec-risk-ok { border-left: 5px solid #198754; }
.spec-risk-attention { border-left: 5px solid #ffc107; }
.spec-risk-high { border-left: 5px solid #fd7e14; }
.spec-risk-critical { border-left: 5px solid #dc3545; }
.spec-risk-neutral { border-left: 5px solid #6c757d; }
.spec-output { white-space: pre-wrap; min-height: 160px; font-family: inherit; }
.spec-matriz td, .spec-matriz th { font-size: .84rem; }
.spec-helper { border-left: 4px solid #0d6efd; background: #f7fbff; }
.spec-class-obrigatorio { background: #fff3cd !important; }
.spec-class-legal { background: #e7f1ff !important; }
.spec-class-desejavel { background: #e8f5e9 !important; }
.spec-class-nao_exigir { opacity: .72; }
.spec-custom-row { background: #fcfcfc; }
@media (max-width: 991px) {
  .spec-engine-toolbar { position: static; }
  .spec-market-values { max-width: none; }
}
