.cm-raiz {
  --cm-line: color-mix(in srgb, var(--borda, #39404a) 78%, transparent);
  width: min(100%, 76rem);
  margin-inline: auto;
  color: var(--texto, #f3f5f7);
}

.cm-intro {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1rem 0 1.15rem;
  border-block: 1px solid var(--cm-line);
  font-size: .9375rem;
  line-height: 1.55;
}

.cm-intro p { margin: 0; max-width: 48rem; }
.cm-intro span { max-width: 22rem; color: var(--muted, #a6afbc); text-align: right; }

.cm-abas { display: flex; gap: 1.5rem; border-bottom: 1px solid var(--cm-line); }
.cm-abas button {
  min-height: 2.9rem;
  padding: 0;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: var(--muted, #a6afbc);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.cm-abas button.on { border-color: var(--vermelho, #ff3030); color: var(--texto, #fff); }
.cm-abas button:focus-visible { outline: 2px solid var(--vermelho, #ff3030); outline-offset: 3px; }

.cm-estado-geral { min-height: 2.7rem; display: grid; align-items: center; }
.cm-feedback { color: var(--muted, #a6afbc); font-size: .875rem; }
.cm-feedback.ok { color: #61d6a7; }
.cm-feedback.erro { color: #ff8585; }

.cm-lista-casos, .cm-lista-apelacoes { border-top: 1px solid var(--cm-line); }
.cm-caso, .cm-apelacao { padding: 1.25rem 0; border-bottom: 1px solid var(--cm-line); }
.cm-caso > header, .cm-apelacao > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
.cm-caso h3, .cm-apelacao h3 { margin: .25rem 0; font-size: 1.125rem; }
.cm-caso header p, .cm-apelacao time { margin: 0; color: var(--muted, #a6afbc); font-size: .8125rem; }
.cm-tipo { color: var(--vermelho, #ff4040); font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.cm-chips { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .45rem; }
.cm-chip {
  padding: .25rem .55rem;
  border: 1px solid var(--cm-line);
  border-radius: 999px;
  color: var(--muted, #a6afbc);
  font-size: .75rem;
  font-weight: 700;
}
.cm-caso[data-prioridade="urgente"] .cm-chip.prioridade,
.cm-caso[data-prioridade="alta"] .cm-chip.prioridade { border-color: #ff4a4a; color: #ff8585; }

.cm-evidencia { margin: 1rem 0; padding-left: 1rem; border-left: 2px solid var(--vermelho, #ff3030); }
.cm-evidencia p { margin: 0; max-width: 52rem; font-size: 1rem; line-height: 1.62; white-space: pre-wrap; }
.cm-evidencia small { display: block; margin-top: .55rem; color: var(--muted, #a6afbc); }
.cm-motivos { display: grid; gap: .45rem; margin: .8rem 0; padding: 0; list-style: none; }
.cm-motivos li { display: grid; grid-template-columns: 8rem 1fr auto; gap: .8rem; font-size: .8125rem; }
.cm-motivos span, .cm-motivos time { color: var(--muted, #a6afbc); }

.cm-caso-detalhes { margin-top: 1rem; }
.cm-caso-detalhes summary { width: fit-content; color: var(--texto, #fff); font-weight: 750; cursor: pointer; }
.cm-editor { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--cm-line); }
.cm-editor-campos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.cm-editor label { display: grid; gap: .4rem; font-size: .8125rem; font-weight: 700; }
.cm-editor select, .cm-editor textarea, .cm-apelacao textarea {
  width: 100%;
  border: 1px solid var(--cm-line);
  border-radius: var(--linhas-raio-dado, 4px);
  background: var(--fundo-2, #171a1f);
  color: var(--texto, #fff);
  font: inherit;
}
.cm-editor select { min-height: 2.75rem; padding: 0 .7rem; }
.cm-editor textarea, .cm-apelacao textarea { min-height: 5.5rem; margin-top: .75rem; padding: .75rem; line-height: 1.5; resize: vertical; }
.cm-editor-rodape, .cm-apelacao footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: .75rem; }
.cm-apelacao blockquote { margin: 1rem 0 0; padding-left: 1rem; border-left: 2px solid var(--cm-line); font-size: 1rem; line-height: 1.6; }
.cm-apelacao footer > div:last-child { display: flex; gap: .5rem; }

.cm-auditoria { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--cm-line); }
.cm-auditoria-item { display: grid; grid-template-columns: 9rem 1fr; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid var(--cm-line); }
.cm-auditoria-item time, .cm-auditoria-item p { color: var(--muted, #a6afbc); font-size: .8125rem; }
.cm-auditoria-item p { margin: .2rem 0 0; }
.cm-vazio { min-height: 12rem; display: grid; place-content: center; gap: .35rem; text-align: center; }
.cm-vazio b { font-size: 1.125rem; }
.cm-vazio p { margin: 0; color: var(--muted, #a6afbc); }

@media (max-width: 720px) {
  .cm-intro { display: grid; gap: .45rem; }
  .cm-intro span { text-align: left; }
  .cm-motivos li { grid-template-columns: 1fr; gap: .15rem; }
  .cm-editor-campos { grid-template-columns: 1fr; }
  .cm-editor-rodape, .cm-apelacao footer { align-items: stretch; flex-direction: column; }
  .cm-apelacao footer > div:last-child { display: grid; grid-template-columns: 1fr; width: 100%; }
  .cm-auditoria-item { grid-template-columns: 1fr; gap: .25rem; }
}

@media (prefers-reduced-motion: reduce) {
  .cm-raiz * { scroll-behavior: auto !important; }
}
