/* Creditoscópio — ferramenta independente de dados: sóbria, tabelas legíveis, número grande como resposta.
   Só tema claro de propósito: o fundo da página é do tema do WordPress, que não muda com prefers-color-scheme. */
.cs {
  --cs-verde: #00874f;
  --cs-verde-esc: #00643a;
  --cs-tinta: #16211b;
  --cs-suave: #5b6b62;
  --cs-linha: #dfe6e2;
  --cs-fundo: #f5f8f6;
  --cs-aviso: #fff8e6;
  --cs-aviso-borda: #e8c968;
  max-width: 960px;
  margin: 0 auto;
  padding: 1.25rem 1.25rem 4rem;
  color: var(--cs-tinta);
  background: #fff;
  font-size: 16px;
  line-height: 1.6;
  /* Fonte: a do site (Inter), definida em creditoscopio-site.css. */
}
.cs h1 { font-size: clamp(1.9rem, 4.5vw, 2.5rem); line-height: 1.1; margin: 1.25rem 0 1.25rem; text-align: left; }
.cs h2 { font-size: 1.4rem; line-height: 1.25; margin: 2.5rem 0 .75rem; }
@media (max-width: 680px) { .cs h2 { font-size: 1.25rem; } }
.cs a { color: var(--cs-verde-esc); }
.cs-trilha ol { list-style: none; display: flex; flex-wrap: wrap; gap: 4px 8px; padding: 0; margin: 0; font-size: .82rem; color: var(--cs-suave); }
.cs-trilha li + li::before { content: "›"; margin-right: 8px; }
.cs-resposta { background: var(--cs-fundo); border-left: 4px solid var(--cs-verde); border-radius: 6px; padding: 20px 24px; }
.cs-rotulo { margin: 0; font-size: .875rem; color: var(--cs-suave); text-transform: uppercase; letter-spacing: .04em; }
.cs-numero { margin: 4px 0 8px; line-height: 1.1; }
.cs-numero strong { font-size: clamp(2.6rem, 9vw, 4rem); color: var(--cs-verde-esc); font-variant-numeric: tabular-nums; }
.cs-numero span { font-size: 1.1rem; color: var(--cs-suave); }
.cs-resposta p:last-child { margin-bottom: 0; }
.cs-fonte { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px 24px; margin: 20px 0; font-size: .875rem; }
.cs-fonte dt { color: var(--cs-suave); }
.cs-fonte dd { margin: 0; font-weight: 600; }
.cs-aviso { background: var(--cs-aviso); border: 1px solid var(--cs-aviso-borda); border-radius: 6px; padding: 4px 16px; margin: 20px 0; font-size: .9375rem; }
.cs-tabela { width: 100%; border-collapse: collapse; font-size: .9375rem; font-variant-numeric: tabular-nums; }
.cs-tabela caption { text-align: left; font-size: .875rem; color: var(--cs-suave); padding-bottom: 8px; }
.cs-tabela th, .cs-tabela td { padding: 8px 10px; border-bottom: 1px solid var(--cs-linha); text-align: right; }
.cs-tabela th[scope="col"] { background: var(--cs-fundo); font-weight: 600; }
.cs-tabela th:first-child, .cs-tabela td:first-child { text-align: left; }
.cs-tabela tbody th[scope="row"] { font-weight: 500; }
.cs-tabela-inst td:nth-child(4) { text-align: left; }
.cs-id { color: var(--cs-suave); font-size: .75rem; margin-left: 4px; }
.cs-nota { font-size: .875rem; color: var(--cs-suave); }
.cs-grafico { width: 100%; height: auto; }
.cs-grade { stroke: var(--cs-linha); stroke-width: 1; }
.cs-eixo { fill: var(--cs-suave); font-size: 11px; }
.cs-linha { fill: none; stroke: var(--cs-verde); stroke-width: 2.2; stroke-linejoin: round; }
.cs-detalhes { margin-top: 12px; }
.cs-detalhes summary { cursor: pointer; color: var(--cs-verde-esc); }
@media (max-width: 640px) {
  .cs-tabela-inst { display: block; overflow-x: auto; }
  .cs-tabela th, .cs-tabela td { padding: 8px 6px; }
}
.cs-pagina .entry-title, .cs-pagina .wp-block-post-title { display: none; }

/* Calculadora */
.cs-form .cs-campos { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 4px 20px; }
.cs-form label { display: block; font-size: .875rem; color: var(--cs-suave); margin-bottom: 4px; }
.cs-form input, .cs-form select { width: 100%; box-sizing: border-box; padding: 10px 12px; font: inherit; color: var(--cs-tinta);
  background: #fff; border: 1px solid #b9c6be; border-radius: 6px; }
.cs-form input:focus-visible, .cs-form select:focus-visible, .cs-botao:focus-visible { outline: 3px solid var(--cs-verde); outline-offset: 2px; }
.cs-botao { font: inherit; font-weight: 600; color: #fff; background: var(--cs-verde-esc); border: 0; border-radius: 6px; padding: 10px 24px; cursor: pointer; }
.cs-botao:hover { background: #004d2d; }
.cs-resultado { margin: 16px 0; }
.cs-resultado-texto { font-size: 1.05rem; }
.cs-erro { color: #9a1c1c; font-weight: 600; }
.cs-tabela-calc th[scope="row"] { text-align: left; font-weight: 500; }

.cs-form .cs-campos p:last-child { grid-column: 1 / -1; }

/* Instituição x modalidade */
.cs-linha-mediana { fill: none; stroke: var(--cs-suave); stroke-width: 1.8; stroke-dasharray: 6 5; stroke-linejoin: round; }
.cs-leg { display: inline-block; width: 26px; height: 0; vertical-align: middle; border-top: 2.2px solid var(--cs-verde); }
.cs-leg-tracejada { border-top: 2px dashed var(--cs-suave); }
.cs-ficha dd { font-weight: 500; }
.cs-relacionados { padding-left: 1.2em; }
.cs-autoria { margin: 4px 0 0; font-size: 0.875rem; opacity: 0.75; }
