/* BASE · comum a todas as telas — carregado só por quem precisa. Ver testes.js §7 (peso das páginas). */
:root{
  --tinta:#16191C; --papel:#F4F1EA; --verde:#1C3B33; --cobalto:#1B3BFF;
  --cobalto-claro:#5B82FF; --branco:#fff; --cinza:#6E6A62; --linha:#DCD6C8;
  --serif:Didot,"Bodoni 72","Times New Roman",serif;
  --sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--sans);background:var(--papel);color:var(--tinta);
  -webkit-font-smoothing:antialiased;line-height:1.5}
.serif{font-family:var(--serif)}
.rot{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--cinza)}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
a{color:inherit}

/* anel — mesma modulação do logotipo (docs/identidade) */
.anel{display:inline-block;color:var(--tinta)}
.anel svg{display:block;width:100%;height:100%}

/* topo */
header.topo{border-bottom:1px solid var(--linha);padding:18px 0;position:sticky;top:0;
  background:var(--papel);z-index:10}
header.topo .in{display:flex;align-items:center;gap:12px}
header.topo .marca{font-family:var(--serif);font-size:19px;letter-spacing:.06em}
header.topo .dir{margin-left:auto;display:flex;gap:18px;align-items:center}

.aviso-demo{background:var(--tinta);color:var(--papel);font-size:12px;
  letter-spacing:.12em;text-transform:uppercase;text-align:center;padding:7px}

h1.tit{font-family:var(--serif);font-size:40px;line-height:1.12;letter-spacing:-.005em}
h2.sec{font-family:var(--serif);font-size:25px;margin-bottom:6px}
.sub{color:var(--cinza);font-size:15px}
.regua{width:58px;height:3px;background:var(--verde);margin:14px 0 22px}

.cartao{background:var(--branco);border:1px solid var(--linha);border-radius:10px;padding:24px}
.grade{display:grid;gap:18px}
.g2{grid-template-columns:repeat(2,1fr)} .g3{grid-template-columns:repeat(3,1fr)}
@media(max-width:820px){.g2,.g3{grid-template-columns:1fr}}

/* barras de distribuição */
.barra{display:grid;grid-template-columns:1fr 210px 54px;gap:12px;align-items:center;
  padding:7px 0;border-bottom:1px solid #EDE9DE;font-size:14px}
.barra .t{height:10px;background:#EDE9DE;border-radius:5px;overflow:hidden}
.barra .t i{display:block;height:100%;background:var(--verde)}
.barra .v{text-align:right;font-variant-numeric:tabular-nums;color:var(--cinza)}
@media(max-width:700px){.barra{grid-template-columns:1fr 90px 46px}}

/* insight com lastro */
.insight{border-left:3px solid var(--cobalto);background:var(--branco);
  padding:15px 18px;margin:10px 0;border-radius:0 8px 8px 0}
.insight .txt{font-size:15.5px}
.insight .lastro{font-family:ui-monospace,Menlo,monospace;font-size:11.5px;color:var(--cinza);margin-top:7px}

.botao{display:inline-block;background:var(--tinta);color:var(--papel);border:0;
  padding:15px 30px;border-radius:999px;font-size:16px;cursor:pointer;font-family:var(--sans)}
.botao.claro{background:transparent;color:var(--tinta);border:1px solid var(--linha)}
.botao:disabled{opacity:.35;cursor:not-allowed}

.tag{display:inline-block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  padding:4px 10px;border:1px solid var(--linha);border-radius:999px;color:var(--cinza)}
.suprimido{color:var(--cinza);font-style:italic;font-size:13.5px}

.telao-barra .t i{display:block;height:100%;background:var(--cobalto-claro)}
.telao-barra .v{text-align:right;font-variant-numeric:tabular-nums}

/* ── TOP 5 do painel da escola ────────────────────────────────────────────── */
.ins{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--hair,#E4E4DE)}
.ins-n{flex:0 0 28px;height:28px;border-radius:50%;background:var(--cobalto,#1B3BFF);color:#fff;
  font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center}
.ins-txt{font-family:var(--serif);font-size:20px;line-height:1.34}
.ins-dec{font-size:14.5px;line-height:1.55;color:var(--cobalto,#1B3BFF);margin-top:7px}
.ins .lastro{font-size:11.5px;color:#8C8578;margin-top:8px;font-variant-numeric:tabular-nums}
details.cartao summary{cursor:pointer}
