

/* ── quatro temas · a cor da interface muda; a cor semântica dos mapas não ── */
body{transition:background .35s,color .35s}

/* cor complementar ao fundo de cada versão — matiz oposto, mesma luminância alta */
.v12barra{align-items:flex-start}
.v12lado{display:flex;flex-direction:column;gap:7px;max-width:52%}
.v12dir{align-items:flex-end}
.v12nb{background:var(--comp);border:1px solid var(--compb);color:var(--compink);border-radius:2px;
 padding:7px 11px;font-size:11.5px;line-height:1.5}
.v12dir .v12nb{text-align:right}
@media(max-width:820px){.v12lado{max-width:100%}.v12dir{align-items:flex-start}.v12dir .v12nb{text-align:left}}

/* ── identidade cromática por linguagem ────────────────────────────────────
   Cada público tem uma cor própria, presente no fundo, no acento e na aba.
   A caixa de aviso usa o COMPLEMENTAR da cor daquela linguagem — matiz
   oposto no círculo cromático — para contrastar sem competir.
   As cores semânticas dos mapas (esferas Okabe–Ito, rampas, classes do Gi*)
   permanecem fixas nos quatro modos: elas codificam dado, não público. ─── */
:root{--cGeral:#B26A00;--cProf:#6E3A6B;--cCien:#0F5C87;--cGest:#1C6B4A}

body[data-modo="geral"]{--slide:#F7E9D5;--panel:#FDF6EC;--line:#E6D0AF;--ink:#241A0D;--muted:#71614A;
 --band:var(--cGeral);--c1:#8A6A2F;--comp:#DCE9F7;--compb:#B4CFE9;--compink:#20456B}
body[data-modo="prof"] {--slide:#EFE8F0;--panel:#FAF6FB;--line:#DDCFDF;--ink:#1E1620;--muted:#6B5F6D;
 --band:var(--cProf);--c1:#8A4A85;--comp:#E9EEDC;--compb:#CFD9B6;--compink:#3E4A28}
body[data-modo="cien"] {--slide:#DFEBF4;--panel:#F2F8FC;--line:#C0D6E6;--ink:#0E1720;--muted:#566B7A;
 --band:var(--cCien);--c1:#0072B2;--comp:#FAE8D6;--compb:#EDCCA8;--compink:#6B3D14}
body[data-modo="gest"] {--slide:#DEEEE5;--panel:#F1FAF5;--line:#BEDACC;--ink:#101F17;--muted:#516A5C;
 --band:var(--cGest);--c1:#009E73;--comp:#F8E1EC;--compb:#E7BDD1;--compink:#6B1F44}

/* as quatro cores visíveis ao mesmo tempo nas abas, ativa ou não */
.v12mb[data-m="geral"],.v12tab[data-pane="geral"]{color:var(--cGeral)}
.v12mb[data-m="prof"], .v12tab[data-pane="prof"] {color:var(--cProf)}
.v12mb[data-m="cien"], .v12tab[data-pane="cien"] {color:var(--cCien)}
.v12mb[data-m="gest"], .v12tab[data-pane="gest"] {color:var(--cGest)}
.v12mb,.v12tab{opacity:.5}
.v12mb.on,.v12tab.on{opacity:1;font-weight:600}
.v12mb[data-m="geral"].on,.v12tab[data-pane="geral"].on{border-bottom-color:var(--cGeral)}
.v12mb[data-m="prof"].on, .v12tab[data-pane="prof"].on {border-bottom-color:var(--cProf)}
.v12mb[data-m="cien"].on, .v12tab[data-pane="cien"].on {border-bottom-color:var(--cCien)}
.v12mb[data-m="gest"].on, .v12tab[data-pane="gest"].on {border-bottom-color:var(--cGest)}
.v12mb:hover,.v12tab:hover{opacity:1;background:none}
.v12nb{border-left-width:3px;border-left-color:var(--compink)}
.v12ser{color:var(--band)}
.v12top,.eyebrow{color:var(--muted)}

/* barra de linguagens e idiomas: grade 2×2, alinhada e compacta */

/* bloco de compostos: o índice em tamanho grande, seus três componentes abaixo */
.v12tres{grid-template-columns:repeat(3,1fr) !important}
#v12serpb{margin-top:12px}
#v12serpb .card svg{width:100%}
.v12subtbox{background:var(--panel);border:1px solid var(--line);
 border-left:3px solid var(--band);border-radius:4px;padding:12px 16px 11px}
.v12subtbox .v12subt{margin:0;color:var(--ink)}
.v12subtbox::after{content:"";display:block;clear:both}
.v12fotopt{display:block}
.v12fotopt.fp1{float:right;width:28%;margin:0 0 16px 18px}
.v12fotopt.fp4{float:left;width:28%;margin:2px 18px 12px 0}
@media(max-width:700px){.v12fotopt.fp4{float:none;width:100%;margin:0 0 12px}}
.v12fotopt.fp2{float:left;width:30%;margin:3px 18px 12px 0}
/* build85 · em coluna alta as figuras se distribuem pelo espaço disponível;
   margem fixa deixaria buraco embaixo, porque a altura muda com o registro */
.v12fotopt.v12fotopilha{display:flex;flex-direction:column;
 justify-content:space-between;gap:12px;min-height:100%}
.v12fotopt.v12fotopilha .v12foto{margin:0}
/* build93 · no bloco de abertura a altura é a do parágrafo, não a de uma
   coluna: distribuir jogaria a segunda foto para o fim de um texto curto */
.v12fotopt.fp1.v12fotopilha{justify-content:flex-start;gap:14px;min-height:0}
.v12fotopt.fp3{float:right;width:30%;margin:3px 0 12px 18px}
@media(max-width:700px){.v12fotopt.fp2,.v12fotopt.fp3{float:none;width:100%;margin:0 0 12px}}
.v12foto{margin:0}
.v12foto img{display:block;width:100%;height:auto;border-radius:3px;border:1px solid var(--line)}
.v12foto figcaption{font-size:9.5px;line-height:1.35;color:var(--muted);margin-top:4px}
.v12foto figcaption a{color:var(--band);text-decoration:underline dotted}
.v12fotovazio{border:1px dashed var(--line);border-radius:3px;padding:12px 10px;
 font-family:var(--mono);font-size:9.5px;line-height:1.45;color:var(--muted);text-align:center}
@media(max-width:700px){.v12fotopt.fp1{float:none;width:100%;margin:0 0 12px}}
/* build61 · barra sólida na cor do registro ativo */
header .v12modos{margin:11px 0 4px;border-bottom:none;background:var(--band);
 border-radius:4px;padding:3px 5px;gap:2px;align-items:stretch}
header .v12modos .v12mb{color:rgba(255,255,255,.62);border-bottom:2px solid transparent;
 padding:6px 14px 5px;border-radius:3px;transition:color .12s,background-color .12s}
header .v12modos .v12mb:hover{color:#fff;background:rgba(255,255,255,.10)}
header .v12modos .v12mb.on{color:#fff;background:rgba(255,255,255,.14);
 border-bottom-color:rgba(255,255,255,.85)}
.v12topright{display:flex;flex-direction:column;align-items:center;gap:7px;flex:0 0 auto}
.v12langbox{display:flex;align-items:center;gap:8px;
 background:var(--comp);border:1px solid var(--compb);border-radius:3px;padding:2px 8px 2px 9px}
.v12langrot{font-family:var(--mono);font-size:9.5px;letter-spacing:.04em;color:var(--compink)}
.v12langbox .v12langs{grid-column:auto;grid-row:auto}
#v12heroRow{display:flex;gap:22px;align-items:flex-start;margin-top:8px;width:100%}
#v12heroTxt{flex:1 1 100%;min-width:0}
#v12heroMini{flex:1 1 50%;min-width:0;cursor:pointer;background:var(--panel);
 border:1px solid var(--line);border-radius:4px;padding:10px 12px 7px}
#v12heroMini:hover{border-color:var(--band)}
#v12heroMini h4{font-family:var(--mono);font-size:11px;letter-spacing:.05em;
 margin:0 0 2px;color:var(--band)}
#v12heroMini .cap{font-size:10.5px;margin:0 0 6px}
#v12heroMini svg{width:100%;height:auto;display:block;pointer-events:none}
#v12heroMini .lg{font-size:9.5px}
@media(max-width:880px){#v12heroRow{flex-direction:column}#v12heroMini{width:100%}
 .v12topright{align-items:center;margin-left:auto}
/* build91 · faixa larga e baixa no vão do cabeçalho: a altura é a do bloco
   de título, e crescer empurraria as marcas para baixo */
.v12fotopt.fp5{flex:1 1 260px;max-width:520px;min-width:0;margin:0 20px;align-self:center}
.v12fotopt.fp5 .v12foto img{height:88px}
.v12fotopt.fp5 figcaption{font-size:9.5px;line-height:1.35;
 white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v12fotopt.fp5 .v12fotovazio{display:none}
@media(max-width:1080px){.v12fotopt.fp5{display:none}}}
#v12comp{margin-top:12px}
#v12comp .v12cols{margin-top:0}
@media(max-width:820px){.v12tres{grid-template-columns:1fr !important}}

/* componentes sob cada dimensão, em colunas alinhadas com os três compostos */
.v12tor{grid-template-columns:repeat(3,1fr) !important}
.v12mini{cursor:zoom-in;position:relative}
.v12mini:hover{border-color:var(--band)}
.v12zoom{position:absolute;top:6px;right:7px;font-size:11px;color:var(--muted);opacity:.7}
.v12dica{font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;color:var(--muted);margin:7px 0 0;text-align:center}
.v12regs{display:flex;gap:0;border-bottom:1px solid var(--line);margin:10px 0 0;padding-left:0}
.v12rb{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer;
 font-family:var(--mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;padding:6px 13px;margin-bottom:-1px}
.v12rb:hover{color:var(--ink);background:none}
.v12rb.on{color:var(--band);border-bottom-color:var(--band)}
.v12falta{border:1px dashed var(--warn);color:var(--warn);border-radius:2px;padding:14px 16px;margin-top:12px;
 font-size:12px;line-height:1.55}
.v12falta code{font-family:var(--mono);font-size:11px}
.v12modal{display:none;position:fixed;inset:0;background:rgba(16,14,20,.62);z-index:99;padding:26px;overflow:auto}
.v12modal.on{display:block}
.v12mbox{background:var(--panel);border:1px solid var(--line);border-radius:3px;max-width:1100px;margin:0 auto;padding:14px 16px 18px}
.v12mhead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;
 font-family:var(--mono);font-size:12px;letter-spacing:.05em}
.v12mx{background:none;border:1px solid var(--line);color:var(--ink);border-radius:2px;cursor:pointer;
 font-size:13px;line-height:1;padding:4px 9px}
.v12mx:hover{background:var(--band);border-color:var(--band);color:#fff}

/* componentes em fila sob o mapa do respectivo composto, dentro da coluna */
.v12tor{display:grid !important;grid-template-columns:repeat(3,1fr);gap:12px;align-items:start;margin-top:10px}
.v12banda{margin:0;background:var(--panel);border:1px solid var(--line);border-radius:3px;padding:9px 10px 10px}
.v12banda .v12top{border-bottom:0;padding-bottom:0;margin-bottom:6px}
.v12pxbox{background:var(--panel);border:1px solid var(--line);border-radius:3px;padding:9px 10px 10px}
.v12pxbox .v12top{border-bottom:0;padding-bottom:0;margin-bottom:6px}
.v12pxgrade{display:grid;gap:8px}
.v12proxg{grid-template-columns:repeat(3,1fr) !important}
@media(max-width:820px){.v12proxg{grid-template-columns:1fr !important}.v12pxgrade{grid-template-columns:1fr !important}}
.v12fila{display:grid;gap:6px;margin-top:5px}
.v12fila .v12mini{padding:5px 6px 4px;border-left-width:3px}
.v12fila .v12mini h4{font-size:8.6px;letter-spacing:.02em;margin:0 0 1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v12fila .v12mini .cap{display:none}
.v12fila .v12mini .lg{font-size:8px;gap:3px;margin-top:3px}
.v12fila .v12zoom{top:3px;right:4px;font-size:9px}
@media(max-width:820px){.v12tor{grid-template-columns:1fr !important}.v12fila{grid-template-columns:1fr !important}}
/* caixa interpretativa sobre o município */
.tip{max-width:360px !important;line-height:1.5;font-size:11.5px;white-space:normal}
.tipmicro{background:var(--comp);border:1px solid var(--compb);color:var(--compink);
 border-radius:3px;padding:6px 8px 5px;margin:-1px -2px 7px;font-family:var(--mono)}
.tipmicro b{color:var(--compink)}
.tipmicro .tmr{font-size:9.5px;letter-spacing:.04em;display:flex;justify-content:space-between;gap:8px}
.tipmicro .tmmun{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
 line-height:1.15;margin:0 0 2px;color:var(--compink)}
.tipmicro svg{display:block;width:100%;height:26px;margin:1px 0 0}
.tiph{margin:5px 0 0}
.tiph:first-of-type{margin-top:3px}
.tipesc{font-size:9px;letter-spacing:.05em;display:flex;justify-content:space-between;
 gap:8px;opacity:.9}
.tipesc b{font-weight:600}
.tipfecho{color:var(--band);font-style:italic}
/* build84 · a foto ao lado do texto. 320 px continua abaixo dos 500 px da
   miniatura servida pelo Commons: aumenta sem ampliar, então sem perda. */
.tip.comfoto{max-width:730px !important;display:flex;gap:12px;align-items:flex-start}
.tip.comfoto .tipcol{flex:1 1 360px;min-width:0}
.tipfoto{flex:0 0 320px;border:2px solid var(--band);border-radius:4px;
 padding:5px;background:var(--ink);margin:0}
.tipfoto img{display:block;width:100%;height:210px;object-fit:cover;border-radius:2px}
.tipfoto figcaption{font-size:10.5px;line-height:1.5;color:var(--slide);margin-top:6px;
 word-break:break-word;opacity:.95}
.tipfoto figcaption a{color:var(--slide);text-decoration:underline}
@media(max-width:820px){.tip.comfoto{display:block;max-width:360px !important}
 .tipfoto{margin-top:9px}}
.v12hopes{margin:8px 0 0;padding-top:8px;border-top:1px dotted var(--line)}
.v12hopesT{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;
 text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.v12hopesL{display:flex;flex-wrap:wrap;gap:10px}
.v12hope{position:relative;width:132px}
.v12hopeAbre{cursor:zoom-in}
.v12hopeAbre:hover img,.v12hopeAbre:focus img{outline:2px solid var(--band)}
.v12hope img{display:block;width:100%;height:84px;object-fit:cover;
 border-radius:3px;border:1px solid var(--line)}
.v12hope .v12hopeC{position:absolute;top:5px;left:5px;background:var(--bio);
 color:var(--slide);font-family:var(--mono);font-size:8px;font-weight:600;
 letter-spacing:.08em;text-transform:uppercase;padding:2px 5px;border-radius:2px}
.v12hope figcaption{font-size:9.5px;line-height:1.35;color:var(--muted);margin-top:3px}
.v12hopeS{border:1px dashed var(--line);border-radius:3px;padding:8px 10px;
 font-family:var(--mono);font-size:9.5px;color:var(--muted)}
.tipcarimbo{display:inline-block;background:var(--bio);color:var(--slide);
 font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:.1em;
 text-transform:uppercase;padding:3px 7px;border-radius:2px;margin:0 0 5px}
.tipmicro .tmreg{font-size:9.5px;letter-spacing:.04em;opacity:.92;margin:0 0 4px}
.tipv{font-family:var(--mono);font-size:12px;letter-spacing:.04em;display:block;margin-bottom:3px}
.tipc{font-weight:600}

/* marca do canto superior direito, no lugar da sigla */
.v12cab{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:nowrap;
 padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.v12cab .v12h1{margin:0;flex:1 1 auto;min-width:0}
.v12atlas{font-size:20px !important;font-weight:600 !important;letter-spacing:-.005em !important;color:var(--band);
 white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.15}
.v12topmark{height:46px;width:auto;flex:0 0 auto}
.v12marks{display:flex;align-items:center;justify-content:center;gap:16px;width:100%}
/* build63 · o PNG preto vira máscara: o alfa recorta um bloco de --band */
.v12ideal{position:relative;display:inline-block;flex:0 0 auto}
.v12ideal>span{position:absolute;inset:0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
 -webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center}
.v12ideal>span.l1{background:var(--slide);position:relative;display:block;height:100%}
.v12ideal>span.l2,.v12ideal>span.l3{background:var(--band)}
.v12ideal>span.l4{background:var(--band);opacity:.62}
.v12tint{display:inline-block;background-color:var(--band);
 -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
 -webkit-mask-size:contain;mask-size:contain;
 -webkit-mask-position:center;mask-position:center}
header .v12cred{margin:3px 0 0}
.v12marcas2{display:flex;align-items:flex-end;justify-content:space-between;
 gap:26px;flex-wrap:wrap;margin:10px 0 2px;padding-bottom:9px;
 border-bottom:1px solid var(--line)}
.v12mgrupo{display:flex;flex-direction:column;gap:4px}
.v12mreal{align-items:flex-start}
.v12mapoio{align-items:flex-end;margin-left:auto}
.v12mrot{font-family:var(--mono);font-size:9px;letter-spacing:.16em;
 text-transform:uppercase;color:var(--muted)}
.v12mgrupo .marca{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:0}
.v12mapoio .marca{justify-content:flex-end}
.v12mgrupo .marca img{height:34px;width:auto}
@media(max-width:720px){.v12marcas2{flex-direction:column;align-items:stretch}
 .v12mapoio{align-items:center;margin-left:auto}
.v12marcas2{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;
 gap:20px 34px;width:100%}.v12mapoio .marca{justify-content:center}}
/* build57 · tom mais escuro da própria paleta do registro, largura plena */
.v12pub,header .v12cred{background:var(--line);
 background:color-mix(in srgb,var(--line) 52%,var(--slide));border:1px solid var(--line);
 border-left:3px solid var(--band);border-radius:3px;padding:8px 13px 7px;
 color:var(--ink);width:100%;max-width:none;box-sizing:border-box}
.v12pub .v12ck,header .v12cred .v12ck{color:var(--band)}
.v12pub{font-size:11.5px;line-height:1.5;margin:9px 0 5px}
.v12pub i{color:var(--ink)}
.v12publink,.v12publink i{color:var(--band)}
header .v12cred{margin:0 0 2px}
.v12pubEst{display:block;margin-top:3px;font-size:10.5px;color:var(--muted)}
.v12contato{margin-top:3px;font-size:11.5px}
.v12contato a{color:var(--band);text-decoration:underline dotted}
.v12pub i{color:var(--ink);font-style:italic}
.v12publink{color:var(--band);text-decoration:underline dotted;cursor:not-allowed}
.v12publink i{color:var(--band)}
.v12ver{display:block;font-size:.62em;letter-spacing:.08em;color:var(--band);
 font-weight:400;margin-top:1px}
.v12modosNota{font-size:11.5px;line-height:1.4;color:var(--muted);margin:5px 0 0}
@media(max-width:820px){/* build97 · a linha do título ganha caixa de fundo claro do registro ativo */
.v12cab{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
 gap:14px 24px;background:var(--panel);border:1px solid var(--line);
 border-radius:5px;padding:14px 16px}
 .v12atlas{font-size:20px !important;white-space:normal}.v12topmark{height:38px}}
@media(max-width:560px){.v12atlas{font-size:17px !important}}

/* seletor de variáveis proxy, organizado por componente */
.v12proxg{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:12px;margin-top:10px}
.v12px{background:var(--panel);border:1px solid var(--line);border-left-width:3px;border-radius:3px;padding:8px 9px 6px}
.v12px h4{font-family:var(--mono);font-size:10px;letter-spacing:.04em;margin:0 0 4px}
.v12px select{width:100%;font-size:11.5px;margin-bottom:5px}
.v12px .cap{font-size:10.5px;margin:0 0 4px;min-height:14px}
.v12px .lg{font-size:9px}
.v12pxflag{font-family:var(--mono);font-size:8.5px;letter-spacing:.05em;text-transform:uppercase;
 border:1px solid currentColor;border-radius:2px;padding:0 4px;margin-left:5px}

.v12rec{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 18px;
 background:var(--comp);border:1px solid var(--compb);border-left:3px solid var(--compink);border-radius:0 3px 3px 0;
 padding:9px 12px;margin:10px 0 8px}
.v12recT{margin:0;font-size:12.5px;line-height:1.5;color:var(--compink);flex:1 1 380px}
.v12recB{display:flex;align-items:center;gap:10px}
.v12recSt{font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;color:var(--compink)}
.v12px select.pend{border-color:var(--compink);background:var(--comp)}

.v12q4{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin-top:9px;
 font-family:var(--mono);font-size:10px;letter-spacing:.05em;color:var(--muted)}
.v12q4 span{display:inline-flex;align-items:center;gap:5px}
.v12q4 i{width:18px;height:9px;background:var(--band);display:inline-block}
.v12q4n{font-family:var(--sans);font-size:11px;letter-spacing:0;flex:1 1 100%;color:var(--muted)}
#v12mbody .lg{margin-top:6px}
.card>.v12zoom,.v12px>.v12zoom{position:absolute;top:7px;right:9px;font-size:11px;color:var(--muted);opacity:.65}

.tipx{display:block;margin-top:5px;padding-top:5px;border-top:1px solid var(--line);color:var(--muted)}
.v12barra{display:grid !important;grid-template-columns:minmax(0,1fr) minmax(210px,32%);
 gap:5px 22px;align-items:end;margin:9px 0 2px;padding:5px 0}
.v12ufs{grid-column:1;grid-row:1;display:flex;align-items:center;gap:7px}
.v12ufs label{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.v12ufs select{font-family:var(--mono);font-size:11px;padding:2px 6px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:2px}
#v12noteModo,#v12noteLang{grid-row:2}
.v12langs{grid-column:2;grid-row:1;justify-content:flex-end}
.v12barra .v12nb{margin:0;padding:6px 9px;font-size:10.8px;line-height:1.42}
#v12noteModo{grid-column:1}
#v12noteLang{grid-column:2;text-align:right}
.v12mb{padding:3px 11px 4px}
.v12lb{padding:3px 8px 4px}
.v12barra+#v12dispo .v12dispo{margin-top:8px}
.v12aviso{margin:3px 0 0;line-height:1.4}
@media(max-width:820px){.v12barra{grid-template-columns:1fr}
 .v12langs{grid-column:1;grid-row:2;justify-content:flex-start}
 #v12noteModo{grid-row:3}#v12noteLang{grid-column:1;grid-row:4;text-align:left}}
.v12barra{display:flex;flex-wrap:wrap;gap:10px 26px;align-items:center;justify-content:space-between;margin:12px 0 2px;
 border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px 0}
.v12modos,.v12langs{display:flex;flex-wrap:wrap;gap:0}
.v12mb,.v12lb{background:none;border:0;cursor:pointer;color:var(--muted);font-family:var(--mono);
 font-size:11px;letter-spacing:.09em;text-transform:uppercase;padding:5px 12px;border-bottom:2px solid transparent}
.v12mb:hover,.v12lb:hover{color:var(--ink);background:none}
.v12mb.on{color:var(--band);border-bottom-color:var(--band)}
.v12lb{font-size:10px;letter-spacing:.12em;padding:5px 9px}
.v12lb.on{color:var(--ink);border-bottom-color:var(--ink)}
.v12aviso{font-family:var(--mono);font-size:10px;letter-spacing:.05em;color:var(--muted);margin:4px 0 0}
:root{--slide:#EDEAF2;--ink:#1E1826;--muted:#6B6478;--line:#D6D0E0;--panel:#F5F3F8;
 --bio:#009E73;--hid:#0072B2;--econ:#E69F00;--soc:#CC79A7;--warn:#A8452F;--c1:#3E7A55;--c2:#8A6A2F;--band:var(--cGeral);
 --mono:ui-monospace,SFMono-Regular,Menlo,monospace;
 --sans:ui-sans-serif,-apple-system,"Segoe UI",Inter,system-ui,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--slide);color:var(--ink);font-family:var(--sans);font-size:14.5px;line-height:1.5}
.wrap{max-width:1240px;margin:0 auto;padding:24px 18px 0}
/* build71 · o .wrap só envolve o cabeçalho; os blocos de conteúdo são filhos
   diretos do body e escapavam da margem da página */
body>*{max-width:1240px;margin-left:auto;margin-right:auto;
 padding-left:18px;padding-right:18px;box-sizing:border-box}
body>.tip,body>#v12modal,body>script,body>style,body>svg{max-width:none;
 padding-left:0;padding-right:0;margin-left:0;margin-right:0}
body>footer{padding-bottom:56px}
header{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:4px}
h1{font-family:var(--mono);font-size:14px;font-weight:600;letter-spacing:.04em;margin:0 0 4px}
h1 em{font-style:normal;color:var(--muted);font-weight:400}
.sub{color:var(--muted);font-size:12.5px;margin:0;max-width:80ch}
.flag{font-family:var(--mono);font-size:11px;border:1px solid var(--warn);color:var(--warn);
 border-radius:2px;padding:5px 9px;display:inline-block;margin-top:9px}
.v12sec{border-top:2px solid var(--band);padding-top:11px;margin:26px 0 10px}
/* build56 · a fronteira entre grandes blocos vem da escala monocromática do
   registro ativo (--comp muda em Geral/Professores/Cientistas/Gestores) */
#v12regs,#v12serpb,#tops,#v12tor,#v12comp{background:transparent}
#tEbPontos,#v12hero,#v12secProx,#v12rec,#v12prox{position:relative}
#v12hero,#v12prox{background:var(--comp);border:1px solid var(--compb);
 border-radius:5px;padding:12px 0;margin-bottom:10px}
#v12hero>*,#v12prox>*{padding-left:14px;padding-right:14px}
#v12hero .card,#v12prox .v12pxbox{background:var(--panel)}
.v12secT{font-family:var(--mono);font-size:17px;font-weight:600;letter-spacing:.01em;
 color:var(--ink);margin:0}
.v12secS{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
 color:var(--band);margin:2px 0 7px}
.v12secX{font-size:12.5px;line-height:1.55;color:var(--ink);margin:0;max-width:76ch}
.v12pxfonte{font-size:9.5px;line-height:1.35;color:var(--muted);margin:4px 0 0;
 border-top:1px dotted var(--line);padding-top:4px}
.v12pxfonte b{color:var(--ink);font-weight:600}
.v12met{font-size:10.5px;line-height:1.4;max-width:34ch;color:var(--muted)}
.v12gictrl{display:flex;flex-wrap:wrap;align-items:center;gap:14px;
 background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--band);
 border-radius:3px;padding:7px 11px;margin:6px 0 9px}
.v12pstrip{display:flex;align-items:center;gap:9px;cursor:pointer;user-select:none;
 font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;
 color:var(--muted);border-top:1px dotted var(--line);border-bottom:1px dotted var(--line);
 padding:4px 2px;margin:5px 0 7px}
.v12pstrip:hover{color:var(--band)}
.v12pstrip .v12pv{text-transform:none;letter-spacing:0;font-size:10px;color:var(--ink);
 margin-left:auto;text-align:right}
.v12pstrip.on{color:var(--band);border-color:var(--band)}
#v12params{margin:0 0 8px}
#v12params .bar{margin:0 0 6px}
.v12gictrlN{font-family:var(--mono);font-size:9px;letter-spacing:.12em;
 text-transform:uppercase;color:var(--muted);margin-left:auto}
.eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
 margin:24px 0 8px;display:flex;align-items:baseline;gap:10px}
.eyebrow::after{content:"";flex:1;height:1px;background:var(--line);opacity:.6}
.bar{display:flex;flex-wrap:wrap;gap:13px;align-items:center;background:var(--panel);
 border:1px solid var(--line);border-radius:3px;padding:9px 12px}
.f{display:flex;gap:6px;align-items:center}
.f label{font-family:var(--mono);font-size:10.5px;color:var(--muted)}
select{font-family:var(--mono);font-size:11.5px;background:#fff;border:1px solid var(--line);
 border-radius:2px;padding:4px 6px;color:inherit;max-width:230px}
select:focus,button:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--band);outline-offset:1px}
input[type=range]{width:74px;accent-color:var(--band)}
input[type=checkbox]{accent-color:var(--band)}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px}
.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}
@media(max-width:1000px){.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:660px){.g4,.g2{grid-template-columns:1fr}}
.card{background:var(--panel);border:1px solid var(--line);border-radius:3px;padding:9px 10px 7px}
.card h3{font-family:var(--mono);font-size:11px;letter-spacing:.06em;margin:0 0 1px}
.card .cap{font-size:11px;color:var(--muted);margin:0 0 6px;min-height:2.4em}
.card.wide{grid-column:1/-1}
svg{width:100%;height:auto;display:block;background:#fff;border:1px solid var(--line);border-radius:2px}
path.m{stroke:#fff;stroke-width:.5;cursor:pointer}
path.m.sel{stroke:var(--ink);stroke-width:2.2}
.lg{display:flex;align-items:center;gap:6px;margin-top:5px;font-family:var(--mono);font-size:9.5px;color:var(--muted)}
.lg .ramp{height:8px;flex:1;border:1px solid var(--line);border-radius:1px}
.card select{width:100%;margin-bottom:5px;font-size:10.5px}
.tip{position:fixed;pointer-events:none;background:var(--ink);color:var(--slide);font-family:var(--mono);
 font-size:11px;padding:5px 8px;border-radius:2px;z-index:120;display:none;max-width:280px}
.two{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;align-items:start;margin-top:12px}
@media(max-width:900px){.two{grid-template-columns:1fr}}
table.mx{width:100%;border-collapse:collapse;font-size:12px;background:var(--panel)}
table.mx th{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);
 text-align:left;padding:6px 7px;border-bottom:1px solid var(--line);font-weight:600}
table.mx td{padding:6px 7px;border-bottom:1px solid var(--line);vertical-align:top}
table.mx td.cell{border-left:3px solid transparent}
table.mx .nn{font-family:var(--mono);font-size:10px;color:var(--muted);display:block}
table.mx td.empty{color:var(--warn);font-family:var(--mono);font-size:10.5px}
.box{border:1px solid var(--line);border-radius:3px;background:var(--panel);padding:11px 12px;margin-bottom:10px}
.box h3{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.diag{border-left:2px solid var(--line);padding:6px 0 6px 10px;margin-bottom:8px;font-size:12.5px}
.diag b{font-family:var(--mono);font-size:10.5px;display:block;margin-bottom:2px}
.diag.ok{border-color:var(--c1)}.diag.ok b{color:var(--c1)}
.diag.warn{border-color:var(--c2)}.diag.warn b{color:var(--c2)}
.diag.fire{border-color:var(--warn)}.diag.fire b{color:var(--warn)}
.diag small{display:block;color:var(--muted);margin-top:3px;font-size:11.5px}
table.r{width:100%;border-collapse:collapse;font-size:12.5px}
table.r th{font-family:var(--mono);font-size:9.5px;text-transform:uppercase;color:var(--muted);text-align:left;
 padding:0 6px 4px 0;border-bottom:1px solid var(--line)}
table.r td{padding:3px 6px 3px 0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
table.r td.n{font-family:var(--mono)}
button.act{font-family:var(--mono);font-size:11px;background:var(--ink);color:var(--slide);border:0;
 border-radius:2px;padding:7px 12px;cursor:pointer;margin:2px 4px 0 0}
button.act:hover{background:var(--band)}
button.ghost{background:transparent;color:var(--muted);border:1px solid var(--line)}
textarea{width:100%;min-height:52px;font-family:var(--mono);font-size:11px;background:#fff;
 border:1px solid var(--line);border-radius:2px;padding:6px;color:inherit;resize:vertical}
.chip{font-family:var(--mono);font-size:9.5px;border:1px solid var(--line);border-radius:2px;padding:0 4px;margin-right:4px}
.chip.p{color:var(--band);border-color:var(--band)}
.chip.no{color:var(--warn);border-color:var(--warn)}
.chip.tr{color:var(--c1);border-color:var(--c1)}
.marca{display:flex;flex-wrap:wrap;align-items:center;gap:22px;padding:14px 4px 2px}
.marca img{height:34px;width:auto;opacity:.55;filter:grayscale(1);transition:opacity .15s,filter .15s}
.marca img:hover{opacity:1;filter:none}
.marca .wm{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
 color:var(--muted);border:1px solid var(--line);border-radius:2px;padding:6px 9px;line-height:1.15;
 opacity:.75;transition:opacity .15s,color .15s}
.marca .wm:hover{opacity:1;color:var(--ink)}
.marca .wm small{display:block;font-size:8.5px;letter-spacing:.06em;text-transform:none;opacity:.8}
.marca .sep{width:1px;height:26px;background:var(--line)}
footer{margin-top:16px;padding-top:12px;border-top:1px solid var(--line);font-family:var(--mono);font-size:10.5px;
 color:var(--muted);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
.v12selo{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;color:var(--muted);margin:18px 0 0;padding-top:8px;border-top:1px dotted var(--line)}
/*chave-registro*/.achave{font-size:11.5px;line-height:1.55;margin:9px 0 0;padding-inline-start:9px;border-inline-start:2px solid var(--t1);max-inline-size:var(--col-larga)}.achave b{font-family:var(--mono);font-size:9.6px;letter-spacing:.06em;text-transform:uppercase;color:var(--t1);display:block;margin-block-end:3px;font-weight:600}/*nota-legal*/.v12legal{margin:12px 0 6px;border:1px solid var(--line);border-radius:var(--r2);background:var(--apanel,transparent);width:100%}.v12legal>summary{list-style:none;cursor:pointer;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:9.8px;letter-spacing:.1em;text-transform:uppercase;color:var(--amuted);font-weight:600}.v12legal>summary::-webkit-details-marker{display:none}.v12legal>summary::after{content:"abrir";font-size:9.2px;letter-spacing:.08em;padding:2px 8px;border:1px solid var(--line);border-radius:999px;color:var(--amuted);white-space:nowrap;font-weight:500}.v12legal[open]>summary::after{content:"fechar"}.v12legal>summary:hover::after{border-color:var(--amuted)}.v12legal>div{padding:0 14px 12px}.v12legal p{margin:0;font-size:11.8px;line-height:1.55;color:var(--amuted);max-width:104ch}