/* Selo do veredito do juiz de IA num critério do DoD (Parts::DodVerdictComponent, doc 59).
   Três estados: ok (barra fina verde), pending/overridden (barra fina neutra), warn (painel âmbar
   com a crítica + dimensões + exemplo + "aceito assim mesmo"). Cores SEMÂNTICAS (fora do accent);
   tokens só, canto vivo. */

.c-dod-verdict{ margin-top: 2px; }

/* OK — barra fina verde, discreta de propósito (não gamifica quem já acertou) */
.c-dod-verdict--ok{
  display: flex; align-items: center; gap: 8px;
  font: 600 var(--fs-label)/1.4 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ok);
}
.c-dod-verdict--ok::before{
  content: "✓"; display: grid; place-content: center; width: 16px; height: 16px;
  background: var(--ok); color: #fff; font: 700 10px/1 var(--font-ui);
}

/* NÃO-AVALIADO / ACEITO-ASSIM-MESMO — barra fina neutra */
.c-dod-verdict--pending, .c-dod-verdict--overridden{
  display: flex; align-items: center; gap: 8px;
  font: 500 var(--fs-label)/1.4 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3);
}
.c-dod-verdict--pending::before{ content: "○"; font: 400 13px/1 var(--font-ui); color: var(--ink-3); }
.c-dod-verdict--overridden::before{ content: "—"; font: 700 13px/1 var(--font-ui); color: var(--ink-3); }

/* AVALIANDO — enquanto a API da Anthropic roda (segundos). Mesma barra fina neutra do pending, mas
   com spinner: dá feedback de que a análise está em curso (o selo estático parecia travado). O
   círculo é exceção deliberada ao canto-vivo — é indicador funcional de carregamento, não cromo. */
.c-dod-verdict--evaluating{
  display: flex; align-items: center; gap: 8px;
  font: 500 var(--fs-label)/1.4 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-2);
}
.c-dod-verdict--evaluating::before{
  content: ""; width: 12px; height: 12px; flex: 0 0 auto;
  border: 2px solid var(--line-2); border-top-color: var(--ink-2); border-radius: 50%;
  animation: c-dod-verdict-spin .6s linear infinite;
}
@keyframes c-dod-verdict-spin{ to{ transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce){
  .c-dod-verdict--evaluating::before{ animation-duration: 1.4s; }
}

/* PRECISA-AJUSTE — painel âmbar (o único estado ruidoso) */
.c-dod-verdict--warn{ border: 1px solid color-mix(in srgb, var(--warn) 40%, #fff); background: color-mix(in srgb, var(--warn) 7%, #fff); }
/* O cabeçalho é o gatilho do colapso (doc 63): o painel era o bloco mais alto do cartão e, lida a
   crítica, só ocupava espaço. Fechado sobra UMA linha — veredito + dimensões, que é o que se
   consulta depois. Alturas apertadas em relação à 1ª versão (7px→5px no head, 9px→7px no corpo). */
.c-dod-verdict__head{
  display: flex; align-items: center; gap: 8px; padding: 5px 9px;
  border-bottom: 1px solid color-mix(in srgb, var(--warn) 22%, #fff);
  cursor: pointer; user-select: none;
}
.c-dod-verdict__head:focus-visible{ outline: 2px solid var(--warn); outline-offset: -2px; }
/* Chevron indicando que há corpo a abrir. Aqui a seta VOLTA (foi removida das linhas do DoD, onde a
   estrutura já denuncia o estado): o painel nasce FECHADO e, sem indicador, a crítica do juiz
   ficaria escondida sem nenhum sinal de que existe. Pseudo-elemento = indicador, não controle. */
.c-dod-verdict__head::after{
  content: "▾"; margin-left: 2px; font-size: 10px; line-height: 1;
  color: color-mix(in srgb, var(--warn) 75%, var(--ink-3));
}
.c-dod-verdict--warn.is-collapsed > .c-dod-verdict__head::after{ content: "▸"; }
.c-dod-verdict--warn.is-collapsed > .c-dod-verdict__body,
.c-dod-verdict--warn.is-collapsed > .c-dod-verdict__foot{ display: none; }
.c-dod-verdict--warn.is-collapsed > .c-dod-verdict__head{ border-bottom: 0; }
.c-dod-verdict__badge{
  font: 600 var(--fs-label)/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase;
  color: #fff; background: var(--warn); padding: 3px 7px;
}
.c-dod-verdict__dims{ margin-left: auto; display: flex; gap: 12px; }
.c-dod-verdict__dim{ font: 600 var(--fs-label)/1 var(--font-mono); letter-spacing: .05em; text-transform: uppercase; display: inline-flex; align-items: center; gap: 4px; }
.c-dod-verdict__dim--pass{ color: var(--ok); }
.c-dod-verdict__dim--fail{ color: var(--warn); }
.c-dod-verdict__dim--pass::before{ content: "✓"; font-size: 9px; }
.c-dod-verdict__dim--fail::before{ content: "✕"; font-size: 9px; }
.c-dod-verdict__body{ padding: 7px 9px; }
.c-dod-verdict__crit{ font: 400 var(--fs-meta)/1.45 var(--font-ui); color: var(--ink-2); }
.c-dod-verdict__eg{ margin-top: 5px; font: 400 var(--fs-meta)/1.4 var(--font-ui); font-style: italic; color: var(--ink-3); }
.c-dod-verdict__eg b{ font-style: normal; color: var(--warn); font-weight: 600; text-transform: uppercase; font-size: var(--fs-label); letter-spacing: .06em; margin-right: 5px; }
.c-dod-verdict__foot{ display: flex; padding: 0 9px 7px; }
.c-dod-verdict__overrideform{ margin-left: auto; }
.c-dod-verdict__override{
  border: 0; background: transparent; cursor: pointer;
  font: 500 var(--fs-label)/1.4 var(--font-mono); letter-spacing: .05em; text-transform: uppercase;
  color: var(--ink-3); text-decoration: underline dotted; text-underline-offset: 2px;
}
.c-dod-verdict__override:hover{ color: var(--ink-2); }
