/* Compatível com você — escopo .cv-*, herda a fonte do boletim (Inter). Tokens sobrescrevíveis. */
#compativel-root {
  --cv-bg: #fffbeb;
  --cv-card: #ffffff;
  --cv-borda: #f1dfb4;
  --cv-texto: #1f1a10;
  --cv-suave: #6b5d3f;
  --cv-acento: #b45309;
  --cv-acento-txt: #ffffff;
  --cv-apto: #15803d;
  --cv-theta: #c9c2b4;
  --cv-inapto: #b91c1c;
  --cv-inconcl: #a16207;
  --cv-contra: #7c3aed;
  --cv-indet: #57534e;
  --cv-raio: 12px;
  font: inherit;
  color: var(--cv-texto);
  margin: 24px 0;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) #compativel-root {
    --cv-bg: #1c1810; --cv-card: #25201a; --cv-borda: #3d3424; --cv-texto: #f5efe1; --cv-suave: #c2b596;
    --cv-acento: #f59e0b; --cv-acento-txt: #1c1810; --cv-apto: #4ade80; --cv-theta: #5b5446;
    --cv-inapto: #f87171; --cv-inconcl: #fbbf24; --cv-contra: #c4b5fd; --cv-indet: #d6d3d1;
  }
}
:root[data-theme="dark"] #compativel-root {
  --cv-bg: #1c1810; --cv-card: #25201a; --cv-borda: #3d3424; --cv-texto: #f5efe1; --cv-suave: #c2b596;
  --cv-acento: #f59e0b; --cv-acento-txt: #1c1810; --cv-apto: #4ade80; --cv-theta: #5b5446;
  --cv-inapto: #f87171; --cv-inconcl: #fbbf24; --cv-contra: #c4b5fd; --cv-indet: #d6d3d1;
}

#compativel-root *, .cv-fundo * { box-sizing: border-box; }
.cv-painel { background: var(--cv-bg); border: 1px solid var(--cv-borda); border-radius: var(--cv-raio); padding: 20px; }
.cv-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.cv-titulo { margin: 0; font-size: 1.25rem; font-weight: 700; letter-spacing: -0.01em; }
.cv-sub, .cv-texto, .cv-meta, .cv-nota, .cv-ajuda { color: var(--cv-suave); }
.cv-sub { margin: 4px 0 0; font-size: .875rem; }
.cv-texto { margin: 12px 0 16px; line-height: 1.5; max-width: 60ch; }
.cv-user { display: flex; align-items: center; gap: 10px; font-size: .9rem; }
.cv-acoes { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; margin-top: 8px; }
.cv-painel > .cv-acoes { justify-content: flex-start; }

.cv-btn { font: inherit; font-size: .9rem; border: 1px solid var(--cv-borda); background: var(--cv-card); color: var(--cv-texto);
  border-radius: 8px; padding: 8px 14px; cursor: pointer; }
.cv-btn:hover:not(:disabled) { border-color: var(--cv-acento); }
.cv-btn:focus-visible, .cv-input:focus-visible, .cv-det summary:focus-visible, #compativel-root a:focus-visible {
  outline: 2px solid var(--cv-acento); outline-offset: 2px; }
.cv-btn:disabled { opacity: .55; cursor: default; }
.cv-btn-prim { background: var(--cv-acento); color: var(--cv-acento-txt); border-color: var(--cv-acento); font-weight: 600; }
.cv-btn-sm { padding: 5px 10px; font-size: .8rem; }

.cv-aviso { margin: 16px 0 0; padding: 12px 14px; border-radius: 10px; border: 1px dashed var(--cv-acento); background: var(--cv-card); font-size: .875rem; }
.cv-aviso ul { margin: 6px 0; padding-left: 18px; }
.cv-aviso a, .cv-titulo a, .cv-card-titulo a { color: var(--cv-acento); }
.cv-ferramentas { display: flex; justify-content: space-between; align-items: center; margin: 16px 0 8px; font-size: .85rem; color: var(--cv-suave); gap: 8px; flex-wrap: wrap; }
.cv-toggle { display: inline-flex; gap: 6px; align-items: center; cursor: pointer; }

.cv-lista { display: grid; gap: 12px; align-items: start; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); }
.cv-card { background: var(--cv-card); border: 1px solid var(--cv-borda); border-left: 4px solid var(--cv-indet); border-radius: 10px; padding: 14px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.cv-card-apto { border-left-color: var(--cv-apto); }
.cv-card-inconclusivo { border-left-color: var(--cv-inconcl); }
.cv-card-contraditorio { border-left-color: var(--cv-contra); }
.cv-card-inapto { border-left-color: var(--cv-inapto); }
.cv-card-topo { display: flex; gap: 6px; flex-wrap: wrap; }
.cv-badge, .cv-chip { font-size: .72rem; font-weight: 600; border-radius: 999px; padding: 2px 8px; border: 1px solid currentColor; }
.cv-badge-apto { color: var(--cv-apto); }
.cv-badge-inconclusivo { color: var(--cv-inconcl); }
.cv-badge-contraditorio { color: var(--cv-contra); }
.cv-badge-indeterminado { color: var(--cv-indet); }
.cv-badge-inapto { color: var(--cv-inapto); }
.cv-chip { color: var(--cv-suave); font-weight: 500; }
.cv-card-titulo { margin: 0; font-size: 1rem; line-height: 1.35; overflow-wrap: anywhere; }
.cv-meta { margin: 0; font-size: .8rem; }

.cv-barra { display: flex; height: 8px; border-radius: 999px; overflow: hidden; background: var(--cv-theta); }
.cv-seg { display: block; height: 100%; }
.cv-seg-apto { background: var(--cv-apto); }
.cv-seg-theta { background: var(--cv-theta); }
.cv-seg-inapto { background: var(--cv-inapto); }
.cv-legenda { display: flex; gap: 12px; flex-wrap: wrap; font-size: .72rem; color: var(--cv-suave); margin-top: 4px; }
.cv-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 4px; vertical-align: middle; }

.cv-det summary { cursor: pointer; font-size: .82rem; color: var(--cv-acento); }
.cv-dims, .cv-gaps { list-style: none; margin: 8px 0 0; padding: 0; font-size: .8rem; display: grid; gap: 4px; }
.cv-dim { display: flex; gap: 6px; }
.cv-marca { width: 1.1em; text-align: center; font-weight: 700; }
.cv-dim-ok .cv-marca { color: var(--cv-apto); }
.cv-dim-nao .cv-marca { color: var(--cv-inapto); }
.cv-dim-desc .cv-marca, .cv-dim-info .cv-marca { color: var(--cv-suave); }
.cv-dim-parcial .cv-marca { color: var(--cv-inconcl); }
.cv-det-sub { margin: 10px 0 0; font-size: .78rem; font-weight: 600; }
.cv-gap { padding-left: 8px; border-left: 2px solid var(--cv-inconcl); }
.cv-gap-critical { border-left-color: var(--cv-inapto); }
.cv-mitig { color: var(--cv-suave); }
.cv-nota { font-size: .75rem; margin: 8px 0 0; }

.cv-fb { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; padding-top: 8px; border-top: 1px solid var(--cv-borda); }
.cv-fb-status { font-size: .75rem; color: var(--cv-suave); }
.cv-vazio, .cv-carregando { color: var(--cv-suave); margin: 16px 0 0; }
.cv-erro { color: var(--cv-inapto); font-size: .85rem; min-height: 1.2em; margin: 8px 0 0; }

.cv-fundo { position: fixed; inset: 0; background: rgba(20, 16, 8, .55); display: grid; place-items: center; padding: 16px; z-index: 1000; }
.cv-modal { width: min(420px, 100%); background: var(--cv-card, #fff); color: var(--cv-texto, #1f1a10); border-radius: 14px; padding: 20px; box-shadow: 0 20px 50px rgba(0,0,0,.25); font: inherit; }
.cv-modal-titulo { margin: 0 0 4px; font-size: 1.1rem; }
.cv-ajuda { font-size: .8rem; margin: 4px 0 12px; }
.cv-modal a { color: var(--cv-acento); }
.cv-form { display: grid; gap: 6px; }
.cv-label { font-size: .8rem; font-weight: 600; margin-top: 6px; }
.cv-input { font: inherit; padding: 9px 11px; border-radius: 8px; border: 1px solid var(--cv-borda, #ddd); background: var(--cv-bg, #fff); color: inherit; width: 100%; }
/* o modal fica fora do #compativel-root: replica os tokens */
.cv-fundo { --cv-bg: #fffbeb; --cv-card: #fff; --cv-borda: #f1dfb4; --cv-texto: #1f1a10; --cv-suave: #6b5d3f; --cv-acento: #b45309; --cv-acento-txt: #fff; --cv-inapto: #b91c1c; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .cv-fundo { --cv-bg: #1c1810; --cv-card: #25201a; --cv-borda: #3d3424; --cv-texto: #f5efe1; --cv-suave: #c2b596; --cv-acento: #f59e0b; --cv-acento-txt: #1c1810; --cv-inapto: #f87171; }
}
:root[data-theme="dark"] .cv-fundo { --cv-bg: #1c1810; --cv-card: #25201a; --cv-borda: #3d3424; --cv-texto: #f5efe1; --cv-suave: #c2b596; --cv-acento: #f59e0b; --cv-acento-txt: #1c1810; --cv-inapto: #f87171; }
@media (prefers-reduced-motion: no-preference) { .cv-btn { transition: border-color .15s; } }
.cv-mais { display: block; margin: 12px auto 0; }
