:root {
  --preto: #0a0a0a;
  --carvao: #1a1817;
  --cinza: #6b6764;
  --cinza-claro: #9a9590;
  --gelo: #f4f3f1;
  --papel: #fff;
  --papel-quente: #f0ede8;
  --borda: #ded9d4;
  --vermelho: #d1010b;
  --vermelho-escuro: #9c0008;
  --verde: #176b4c;
  --verde-claro: #e2f0e9;
  --ambar: #8a5a00;
  --ambar-claro: #f7edd3;
  --serifa: "Playfair Display", Georgia, serif;
  --texto: "Source Serif 4", Georgia, serif;
  --ui: "Montserrat", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--gelo); }
body { margin: 0; min-height: 100vh; color: var(--preto); background: var(--gelo); font-family: var(--texto); }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.barra-superior { height: 30px; padding: 0 28px; display: flex; align-items: center; justify-content: space-between; gap: 24px; color: #fff; background: var(--vermelho); font: 700 10px/1 var(--ui); letter-spacing: .14em; text-transform: uppercase; }
.barra-superior__texto { opacity: .82; font-weight: 500; }
.cabecalho-app { height: 82px; padding: 0 28px; display: flex; align-items: center; justify-content: space-between; background: var(--preto); border-bottom: 3px solid var(--vermelho); }
.marca img { display: block; width: auto; height: 54px; }
.cabecalho-app__acoes { display: flex; align-items: center; gap: 18px; }
.estado-conta { color: #bdb9b5; font: 600 10px/1 var(--ui); letter-spacing: .12em; text-transform: uppercase; }
.botao-texto { border: 0; padding: 8px 0; color: var(--gelo); background: transparent; font: 700 11px/1 var(--ui); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.botao-texto:hover { color: var(--vermelho); }

.sobretitulo { margin: 0 0 9px; color: var(--vermelho); font: 700 10px/1.3 var(--ui); letter-spacing: .15em; text-transform: uppercase; }
.tela-login { min-height: calc(100vh - 112px); display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(380px, .75fr); }
.login-editorial { position: relative; overflow: hidden; padding: clamp(56px, 8vw, 120px); color: var(--gelo); background: var(--carvao); }
.login-editorial::after { content: "PR"; position: absolute; right: -4vw; bottom: -14vw; color: rgba(255,255,255,.025); font: 900 36vw/1 var(--serifa); pointer-events: none; }
.login-editorial h1 { position: relative; max-width: 760px; margin: 0; font: 900 clamp(42px, 6vw, 78px)/.98 var(--serifa); letter-spacing: -.04em; }
.login-editorial h1 em { color: var(--vermelho); font-style: normal; }
.login-editorial > p:not(.sobretitulo) { position: relative; max-width: 620px; margin: 28px 0 0; color: #c7c2bd; font-size: 19px; line-height: 1.55; }
.login-editorial dl { position: relative; display: flex; gap: 48px; margin: 64px 0 0; }
.login-editorial dl div { max-width: 190px; border-top: 1px solid #504b47; padding-top: 15px; }
.login-editorial dt { color: #fff; font: 800 28px/1 var(--serifa); }
.login-editorial dd { margin: 8px 0 0; color: #9f9a95; font: 500 11px/1.5 var(--ui); text-transform: uppercase; letter-spacing: .07em; }
.cartao-login { align-self: center; width: min(430px, calc(100% - 64px)); margin: 48px auto; padding: 42px; background: var(--papel); border-top: 5px solid var(--vermelho); box-shadow: 0 24px 70px rgba(10,10,10,.1); }
.cartao-login h2 { margin: 0 0 32px; font: 800 32px/1.1 var(--serifa); }
.cartao-login label, .grade-filtros label { display: grid; gap: 7px; margin-top: 18px; color: var(--cinza); font: 700 10px/1 var(--ui); letter-spacing: .1em; text-transform: uppercase; }
.cartao-login input, .grade-filtros input, .grade-filtros select { min-width: 0; height: 46px; padding: 0 13px; color: var(--preto); background: var(--papel); border: 1px solid var(--borda); border-radius: 0; outline: none; font: 500 13px/1 var(--ui); text-transform: none; letter-spacing: 0; }
.cartao-login input:focus, .grade-filtros input:focus, .grade-filtros select:focus { border-color: var(--vermelho); box-shadow: 0 0 0 2px rgba(209,1,11,.08); }
.cartao-login .botao { width: 100%; margin-top: 22px; }
.cartao-login .botao + .botao { margin-top: 9px; }
.cartao-login small { display: block; margin-top: 20px; color: var(--cinza); font: 500 11px/1.5 var(--ui); }
.botao-link { width: 100%; margin-top: 16px; padding: 4px; color: var(--cinza); background: transparent; border: 0; font: 700 10px/1.4 var(--ui); letter-spacing: .06em; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.botao-link:hover { color: var(--vermelho); }
.botao-link:disabled { opacity: .6; cursor: wait; }

.area-membros { min-height: calc(100vh - 112px); display: grid; grid-template-columns: 238px minmax(0, 1fr); }
.navegacao-lateral { position: sticky; top: 0; height: calc(100vh - 112px); padding: 30px 20px 24px; display: flex; flex-direction: column; color: var(--gelo); background: var(--carvao); border-right: 1px solid #2b2826; }
.navegacao-lateral__titulo { padding: 0 10px 26px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid #34312e; font-family: var(--ui); }
.navegacao-lateral__titulo strong, .navegacao-lateral__titulo small { display: block; }
.navegacao-lateral__titulo strong { font-size: 12px; text-transform: uppercase; letter-spacing: .13em; }
.navegacao-lateral__titulo small { margin-top: 4px; color: #8f8a85; font-size: 9px; letter-spacing: .15em; text-transform: uppercase; }
.marca-quadrada { width: 11px; height: 11px; background: var(--vermelho); box-shadow: 6px 6px 0 #fff; }
.navegacao-lateral nav { display: grid; gap: 5px; margin-top: 24px; }
.nav-item { width: 100%; padding: 13px 12px; display: flex; align-items: center; gap: 11px; border: 0; border-left: 2px solid transparent; color: #aaa5a0; background: transparent; font: 600 11px/1 var(--ui); letter-spacing: .035em; text-align: left; cursor: pointer; }
.nav-item span { width: 18px; color: #77716c; font-size: 18px; text-align: center; }
.nav-item:hover { color: #fff; background: #24211f; }
.nav-item.ativo { color: #fff; background: #2a2624; border-left-color: var(--vermelho); }
.nav-item.ativo span { color: var(--vermelho); }
.acervo-nota { margin-top: auto; padding: 16px 10px 0; display: flex; align-items: center; gap: 10px; border-top: 1px solid #34312e; font-family: var(--ui); }
.acervo-nota strong, .acervo-nota small { display: block; }
.acervo-nota strong { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.acervo-nota small { margin-top: 3px; color: #7f7a76; font-size: 9px; }
.ponto-status { width: 7px; height: 7px; border-radius: 50%; background: #2fc287; box-shadow: 0 0 0 4px rgba(47,194,135,.1); }

.conteudo-app { min-width: 0; }
.painel { display: none; width: min(1120px, calc(100% - 64px)); margin: 0 auto; padding: 54px 0 88px; }
.painel.ativo { display: block; animation: surgir .3s ease both; }
@keyframes surgir { from { opacity: 0; transform: translateY(5px); } }
.titulo-painel { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; margin-bottom: 28px; }
.titulo-painel h1 { margin: 0; font: 900 clamp(32px, 4.2vw, 50px)/1.05 var(--serifa); letter-spacing: -.025em; }
.titulo-painel > div > p:last-child { margin: 10px 0 0; color: var(--cinza); font-size: 16px; }
.etiqueta-beta { padding: 7px 10px; color: var(--vermelho); border: 1px solid var(--vermelho); font: 700 9px/1 var(--ui); letter-spacing: .15em; text-transform: uppercase; }

.mesa-pesquisa { background: var(--papel); border: 1px solid var(--borda); border-top: 4px solid var(--preto); box-shadow: 0 16px 40px rgba(20,17,15,.055); }
.campo-consulta { position: relative; display: block; }
.campo-consulta textarea { width: 100%; min-height: 142px; padding: 27px 70px 24px 26px; resize: vertical; color: var(--preto); background: transparent; border: 0; outline: none; font: 600 20px/1.48 var(--texto); }
.campo-consulta textarea::placeholder { color: #a9a39e; font-weight: 400; }
.atalho { position: absolute; right: 22px; bottom: 20px; color: #99938e; font: 600 9px/1 var(--ui); letter-spacing: .08em; }
.linha-pesquisa { min-height: 76px; padding: 14px 18px 14px 25px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid var(--borda); }
.modo-defesa { display: flex; align-items: center; gap: 11px; cursor: pointer; }
.modo-defesa input { position: absolute; opacity: 0; }
.interruptor { position: relative; width: 38px; height: 21px; border-radius: 20px; background: #bbb6b1; transition: background .2s; }
.interruptor::after { content: ""; position: absolute; left: 3px; top: 3px; width: 15px; height: 15px; border-radius: 50%; background: #fff; transition: transform .2s; }
.modo-defesa input:checked + .interruptor { background: var(--vermelho); }
.modo-defesa input:checked + .interruptor::after { transform: translateX(17px); }
.modo-defesa strong, .modo-defesa small { display: block; font-family: var(--ui); }
.modo-defesa strong { font-size: 10px; letter-spacing: .09em; text-transform: uppercase; }
.modo-defesa small { margin-top: 3px; color: var(--cinza); font-size: 9px; }
.acoes-pesquisa { display: flex; align-items: center; gap: 9px; }
.botao, .botao-filtro { min-height: 44px; padding: 0 22px; border: 1px solid transparent; font: 700 10px/1 var(--ui); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; transition: background .18s, color .18s, border-color .18s; }
.botao--primario { color: #fff; background: var(--vermelho); }
.botao--primario:hover { background: var(--vermelho-escuro); }
.botao--primario:disabled { opacity: .55; cursor: wait; }
.botao--secundario, .botao-filtro { color: var(--preto); background: transparent; border-color: var(--borda); }
.botao--secundario:hover, .botao-filtro:hover { color: var(--vermelho); border-color: var(--vermelho); }
.botao-filtro span { margin-left: 8px; color: var(--vermelho); }
.grade-filtros { padding: 4px 24px 24px; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 0 18px; border-top: 1px solid var(--borda); background: #faf9f7; }

.mensagem { margin: 20px 0; padding: 14px 16px; border-left: 3px solid var(--ambar); color: #5b4320; background: var(--ambar-claro); font: 500 12px/1.5 var(--ui); }
.mensagem--erro { border-left-color: var(--vermelho); color: var(--vermelho-escuro); background: #f9e5e6; }
.introducao-resultados { margin: 38px 0 14px; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.introducao-resultados h2 { margin: 0; font: 800 24px/1.1 var(--serifa); }
.introducao-resultados > p { margin: 0; color: var(--cinza); font: 500 10px/1.4 var(--ui); }
.lista-resultados { display: grid; gap: 12px; }
.resultado { position: relative; padding: 25px 26px 22px 31px; background: var(--papel); border: 1px solid var(--borda); transition: border-color .2s, transform .2s; }
.resultado::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: #aaa49f; }
.resultado--favoravel::before { background: var(--verde); }
.resultado--parcialmente_favoravel::before, .resultado--misto::before { background: #b27a13; }
.resultado--desfavoravel::before { background: var(--vermelho); }
.resultado:hover { border-color: #bdb7b2; transform: translateY(-1px); }
.resultado__topo, .resultado__rodape { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.resultado__etiquetas { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.etiqueta { display: inline-flex; padding: 5px 7px; color: var(--cinza); background: #f0eeeb; font: 700 8.5px/1 var(--ui); letter-spacing: .08em; text-transform: uppercase; }
.etiqueta--favoravel { color: var(--verde); background: var(--verde-claro); }
.etiqueta--parcialmente_favoravel, .etiqueta--misto { color: var(--ambar); background: var(--ambar-claro); }
.etiqueta--desfavoravel { color: var(--vermelho-escuro); background: #f9e5e6; }
.resultado__relevancia { color: var(--cinza); font: 600 9px/1 var(--ui); letter-spacing: .07em; text-transform: uppercase; white-space: nowrap; }
.resultado h3 { margin: 18px 0 8px; font: 800 clamp(19px, 2vw, 24px)/1.22 var(--serifa); }
.resultado__metadados { margin: 0; color: var(--cinza); font: 600 9.5px/1.5 var(--ui); letter-spacing: .045em; text-transform: uppercase; }
.resultado__ementa { margin: 19px 0; color: #302d2a; font-size: 15.5px; line-height: 1.65; white-space: pre-line; }
.resultado__teses { margin: 0 0 18px; padding: 13px 15px; color: #494541; background: #f6f4f1; border-left: 2px solid var(--carvao); font: 500 11px/1.55 var(--ui); }
.resultado__teses strong { color: var(--preto); }
.resultado__rodape { padding-top: 16px; border-top: 1px solid var(--borda); }
.resultado__fonte { color: var(--cinza); font: 600 9px/1 var(--ui); letter-spacing: .08em; text-transform: uppercase; }
.resultado__acoes { display: flex; flex-wrap: wrap; gap: 6px; }
.acao-card { min-height: 34px; padding: 0 11px; border: 1px solid var(--borda); color: var(--carvao); background: transparent; font: 700 8.5px/1 var(--ui); letter-spacing: .07em; text-transform: uppercase; cursor: pointer; }
.acao-card:hover, .acao-card.ativo { color: var(--vermelho); border-color: var(--vermelho); }

.estado-inicial { margin-top: 54px; padding-top: 28px; display: grid; grid-template-columns: 80px minmax(240px,1fr) minmax(270px,.85fr); gap: 28px; border-top: 1px solid var(--borda); }
.estado-inicial__numero { color: var(--vermelho); font: 800 38px/1 var(--serifa); }
.estado-inicial h2 { margin: 0; font: 800 23px/1.2 var(--serifa); }
.estado-inicial p { margin: 9px 0 0; color: var(--cinza); font-size: 14px; line-height: 1.55; }
.sugestoes { display: grid; align-content: start; gap: 6px; }
.sugestoes button { padding: 10px 12px; border: 0; border-bottom: 1px solid var(--borda); color: var(--cinza); background: transparent; font: 600 10px/1.3 var(--ui); text-align: left; cursor: pointer; }
.sugestoes button::before { content: "→"; margin-right: 9px; color: var(--vermelho); }
.sugestoes button:hover { color: var(--preto); }

.estado-vazio { padding: 60px 28px; color: var(--cinza); background: var(--papel); border: 1px solid var(--borda); text-align: center; }
.estado-vazio strong { display: block; margin-bottom: 8px; color: var(--preto); font: 800 22px/1.2 var(--serifa); }
.lista-historico { background: var(--papel); border: 1px solid var(--borda); }
.item-historico { width: 100%; padding: 20px 22px; display: flex; justify-content: space-between; gap: 24px; border: 0; border-bottom: 1px solid var(--borda); background: transparent; text-align: left; cursor: pointer; }
.item-historico:last-child { border-bottom: 0; }
.item-historico:hover { background: #f8f6f3; }
.item-historico strong { display: block; font: 700 15px/1.35 var(--texto); }
.item-historico small { color: var(--cinza); font: 600 9px/1 var(--ui); text-transform: uppercase; letter-spacing: .08em; white-space: nowrap; }
.cartao-mcp { display: grid; grid-template-columns: 160px minmax(0, 1fr); min-height: 410px; color: var(--gelo); background: var(--carvao); border-top: 5px solid var(--vermelho); }
.cartao-mcp__indice { padding: 42px 32px; color: var(--vermelho); border-right: 1px solid #3b3734; font: 900 54px/1 var(--serifa); writing-mode: vertical-rl; transform: rotate(180deg); letter-spacing: .08em; }
.cartao-mcp > div { padding: clamp(38px, 6vw, 68px); }
.cartao-mcp h2 { max-width: 600px; margin: 0; font: 800 clamp(28px, 4vw, 46px)/1.05 var(--serifa); }
.cartao-mcp p { max-width: 700px; color: #bbb6b1; font-size: 16px; line-height: 1.6; }
.campo-link { margin: 30px 0; display: flex; border: 1px solid #504a46; }
.campo-link code { min-width: 0; flex: 1; padding: 15px; overflow: hidden; color: #fff; font: 500 12px/1.3 var(--ui); text-overflow: ellipsis; white-space: nowrap; }
.campo-link button { padding: 0 18px; border: 0; color: #fff; background: var(--vermelho); font: 700 9px/1 var(--ui); text-transform: uppercase; letter-spacing: .1em; cursor: pointer; }
.cartao-mcp ol { margin: 26px 0 0; padding-left: 20px; color: #aaa5a0; font: 500 12px/1.8 var(--ui); }

.modal-acordao { --escala-leitor: 1; width: min(1240px, calc(100% - 32px)); height: min(94vh, 980px); max-height: calc(100vh - 28px); padding: 0; overflow: auto; color: var(--preto); background: #e9e5de; border: 1px solid #4a4540; box-shadow: 0 35px 120px rgba(0,0,0,.58); }
.modal-acordao::backdrop { background: rgba(8,8,8,.84); backdrop-filter: blur(5px); }
.modal-acordao__cabecalho { position: sticky; top: 0; z-index: 5; min-height: 104px; padding: 20px 24px 19px; display: flex; justify-content: space-between; align-items: center; gap: 28px; color: #fff; background: #171514; border-top: 5px solid var(--vermelho); box-shadow: 0 7px 24px rgba(0,0,0,.16); }
.modal-acordao__identidade { min-width: 0; display: flex; align-items: center; gap: 16px; }
.modal-acordao__monograma { flex: 0 0 auto; width: 48px; height: 48px; display: grid; place-items: center; color: #fff; background: var(--vermelho); font: 900 17px/1 var(--serifa); letter-spacing: -.04em; box-shadow: 5px 5px 0 #fff; }
.modal-acordao__cabecalho .sobretitulo { margin-bottom: 6px; color: #f06a70; }
.modal-acordao__cabecalho h2 { max-width: 540px; margin: 0; overflow: hidden; font: 800 23px/1.15 var(--serifa); text-overflow: ellipsis; white-space: nowrap; }
.modal-contexto { max-width: 570px; margin: 5px 0 0; overflow: hidden; color: #99938e; font: 500 10px/1.35 var(--ui); letter-spacing: .035em; text-overflow: ellipsis; white-space: nowrap; }
.modal-acordao__acoes { flex: 0 0 auto; display: flex; align-items: center; gap: 7px; }
.ferramenta-leitor, .controle-fonte button, .fechar-leitor { height: 38px; padding: 0 13px; color: #d8d4d0; background: #24211f; border: 1px solid #49443f; font: 700 9px/1 var(--ui); letter-spacing: .07em; text-transform: uppercase; cursor: pointer; transition: color .18s, border-color .18s, background .18s; }
.ferramenta-leitor { display: inline-flex; align-items: center; text-decoration: none; }
.ferramenta-leitor:hover, .controle-fonte button:hover, .fechar-leitor:hover { color: #fff; background: #302c29; border-color: #77706a; }
.ferramenta-leitor:focus-visible, .controle-fonte button:focus-visible, .fechar-leitor:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.controle-fonte { display: flex; }
.controle-fonte button { width: 38px; padding: 0; }
.controle-fonte button + button { border-left: 0; }
.fechar-leitor { width: 40px; padding: 0; color: #fff; border-color: #756e67; font: 400 24px/1 var(--ui); }
.modal-metadados { position: relative; z-index: 3; min-height: 74px; margin: 0; padding: 15px 28px; display: grid; grid-template-columns: repeat(5, minmax(110px, 1fr)); gap: 0; background: #fff; border-bottom: 1px solid #d1cbc3; box-shadow: 0 5px 14px rgba(31,26,22,.04); }
.modal-metadados div { min-width: 0; padding: 4px 18px; border-left: 1px solid #e3dfda; }
.modal-metadados div:first-child { padding-left: 0; border-left: 0; }
.modal-metadados dt { margin: 0 0 6px; color: #9a938d; font: 700 8px/1 var(--ui); letter-spacing: .14em; text-transform: uppercase; }
.modal-metadados dd { margin: 0; overflow: hidden; color: #25211f; font: 700 10px/1.35 var(--ui); text-overflow: ellipsis; white-space: nowrap; }
.leitor-acordao { min-height: calc(100% - 178px); display: grid; grid-template-columns: 220px minmax(0, 1fr); align-items: start; }
.leitor-acordao__lateral { position: sticky; top: 181px; padding: 38px 25px 42px 30px; }
.leitor-acordao__rotulo { margin: 0 0 18px; color: #5d5751; font: 800 9px/1 var(--ui); letter-spacing: .14em; text-transform: uppercase; }
.modal-sumario { display: grid; }
.modal-sumario a { position: relative; padding: 9px 4px 9px 15px; color: #625c56; border-left: 1px solid #bdb5ad; font: 600 10px/1.35 var(--ui); text-decoration: none; transition: color .18s, border-color .18s, background .18s; }
.modal-sumario a::before { content: ""; position: absolute; left: -3px; top: 14px; width: 5px; height: 5px; border-radius: 50%; background: #bdb5ad; }
.modal-sumario a:hover { color: var(--vermelho); background: rgba(255,255,255,.38); border-left-color: var(--vermelho); }
.modal-sumario a:hover::before { background: var(--vermelho); }
.modal-sumario__vazio { color: #857e77; font: 500 11px/1.5 var(--ui); }
.leitor-estatisticas { margin-top: 28px; padding-top: 17px; display: grid; gap: 6px; color: #8b847d; border-top: 1px solid #cfc8c0; font: 600 9px/1.3 var(--ui); letter-spacing: .04em; }
.folha-juridica { width: min(790px, calc(100% - 54px)); min-height: 880px; margin: 34px auto 54px; background: #fffefb; border: 1px solid #d6d0c8; box-shadow: 0 16px 45px rgba(42,35,29,.12), 0 2px 0 #d6d0c8; }
.folha-juridica__cabecalho { min-height: 64px; padding: 17px 46px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: #837c75; border-bottom: 1px solid #e4ded7; font: 700 8px/1.3 var(--ui); letter-spacing: .13em; text-transform: uppercase; }
.folha-juridica__tribunal { color: var(--vermelho); font-size: 10px; }
.modal-texto { padding: 54px 10% 70px; color: #282421; font-size: calc(16.5px * var(--escala-leitor)); line-height: 1.82; }
.modal-texto p { margin: 0 0 1.18em; text-align: justify; text-justify: inter-word; hyphens: auto; }
.modal-texto p.documento__cabecalho-oficial { margin-bottom: .55em; color: #47413c; font-family: var(--ui); font-size: .72em; font-weight: 700; letter-spacing: .055em; text-align: center; text-transform: uppercase; }
.modal-texto h3 { scroll-margin-top: 205px; margin: 2.4em 0 1.15em; padding: 0 0 .65em; color: #171412; border-bottom: 2px solid #292522; font: 800 .82em/1.2 var(--ui); letter-spacing: .12em; text-transform: uppercase; }
.modal-texto h3::before { content: ""; display: inline-block; width: 18px; height: 3px; margin: 0 9px 3px 0; background: var(--vermelho); }
.modal-texto .documento__numerado { padding-left: 2.1em; text-indent: -2.1em; }
.modal-texto .documento__assinatura { margin-top: 2.4em; text-align: center; }
.modal-texto .documento__carregando { color: #8d867f; font-style: italic; text-align: center; }
.folha-juridica__rodape { min-height: 58px; padding: 17px 46px; display: flex; justify-content: space-between; gap: 24px; color: #9a938c; border-top: 1px solid #e4ded7; font: 600 7px/1.4 var(--ui); letter-spacing: .11em; text-transform: uppercase; }
.aviso { position: fixed; right: 22px; bottom: 22px; z-index: 20; max-width: 360px; padding: 13px 16px; color: #fff; background: var(--carvao); border-left: 4px solid var(--vermelho); box-shadow: 0 12px 40px rgba(0,0,0,.25); font: 600 11px/1.45 var(--ui); opacity: 0; transform: translateY(10px); pointer-events: none; transition: opacity .2s, transform .2s; }
.aviso.visivel { opacity: 1; transform: translateY(0); }

/* Consentimento OAuth: editorial, direto e coerente com a área de membros. */
.pagina-oauth { min-height: 100vh; background: #e9e5df; }
.cabecalho-oauth { border-bottom-width: 1px; }
.oauth-palco { min-height: calc(100vh - 112px); padding: clamp(34px, 6vw, 84px); display: grid; grid-template-columns: minmax(420px, 680px) minmax(280px, 440px); justify-content: center; align-items: center; gap: clamp(32px, 6vw, 92px); background: linear-gradient(120deg, rgba(255,255,255,.62), transparent 44%), repeating-linear-gradient(90deg, transparent 0, transparent 79px, rgba(10,10,10,.035) 80px); }
.oauth-cartao { background: var(--papel); border-top: 5px solid var(--vermelho); box-shadow: 0 32px 90px rgba(20,16,13,.14); animation: surgir .42s ease both; }
.oauth-cartao__cabecalho { padding: clamp(28px, 5vw, 52px); color: #fff; background: var(--carvao); }
.oauth-cartao__cabecalho h1 { margin: 26px 0 9px; font: 900 clamp(34px, 5vw, 53px)/.98 var(--serifa); letter-spacing: -.035em; }
.oauth-cartao__cabecalho > p:last-child { margin: 0; color: #bdb7b1; font-size: 16px; line-height: 1.5; }
.oauth-cartao__cabecalho > p strong { color: #fff; }
.oauth-marcas { display: flex; align-items: center; margin-top: 25px; }
.oauth-marca { width: 50px; height: 50px; display: grid; place-items: center; color: #fff; background: #312d2a; border: 1px solid #514b46; font: 800 16px/1 var(--ui); letter-spacing: .06em; }
.oauth-marca--proreo { background: var(--vermelho); border-color: var(--vermelho); }
.oauth-ligacao { width: 64px; height: 1px; background: #615a54; }
.oauth-cartao__corpo { padding: clamp(28px, 5vw, 48px); }
.oauth-permissoes { display: grid; gap: 0; border-top: 1px solid var(--borda); }
.oauth-permissao { padding: 18px 0; display: grid; grid-template-columns: 36px 1fr; gap: 14px; border-bottom: 1px solid var(--borda); }
.oauth-permissao > span { width: 30px; height: 30px; display: grid; place-items: center; color: var(--vermelho); border: 1px solid var(--borda); font: 800 13px/1 var(--ui); }
.oauth-permissao strong, .oauth-permissao small { display: block; }
.oauth-permissao strong { font: 700 13px/1.35 var(--ui); }
.oauth-permissao small { margin-top: 5px; color: var(--cinza); font: 500 10.5px/1.5 var(--ui); }
.oauth-identidade { margin: 22px 0; padding: 16px; display: grid; grid-template-columns: auto 1fr; gap: 8px 15px; background: var(--papel-quente); }
.oauth-identidade span { color: var(--cinza); font: 700 9px/1.4 var(--ui); letter-spacing: .1em; text-transform: uppercase; }
.oauth-identidade strong { min-width: 0; overflow: hidden; font: 600 11px/1.4 var(--ui); text-overflow: ellipsis; white-space: nowrap; }
.oauth-acoes { display: grid; grid-template-columns: 1fr 1.35fr; gap: 9px; }
.oauth-nota { margin: 17px 0 0; color: var(--cinza); font: 500 10px/1.55 var(--ui); text-align: center; }
.oauth-manifesto { align-self: end; padding: 0 0 20px; border-bottom: 1px solid rgba(10,10,10,.25); }
.oauth-manifesto__numero { display: block; margin-bottom: 48px; color: var(--vermelho); font: 900 72px/1 var(--serifa); }
.oauth-manifesto h2 { margin: 0; font: 900 clamp(31px, 4vw, 48px)/1.02 var(--serifa); letter-spacing: -.035em; }
.oauth-manifesto > p:last-child { max-width: 430px; margin: 22px 0 0; color: #5c5752; font-size: 16px; line-height: 1.65; }

/* Recuperação de senha: a mesma linguagem editorial, com foco em uma única ação. */
.pagina-recuperacao { min-height: 100vh; background: #e9e5df; }
.recuperacao-palco { min-height: calc(100vh - 112px); padding: clamp(30px, 7vw, 88px) 20px; display: grid; place-items: center; background: linear-gradient(115deg, rgba(255,255,255,.72), transparent 46%), repeating-linear-gradient(90deg, transparent 0, transparent 79px, rgba(10,10,10,.035) 80px); }
.recuperacao-cartao { width: min(520px, 100%); padding: clamp(30px, 6vw, 54px); background: var(--papel); border-top: 5px solid var(--vermelho); box-shadow: 0 32px 90px rgba(20,16,13,.14); animation: surgir .42s ease both; }
.recuperacao-cartao h1 { margin: 0 0 12px; font: 900 clamp(34px, 6vw, 50px)/1 var(--serifa); letter-spacing: -.035em; }
.recuperacao-cartao > p:not(.sobretitulo):not(.mensagem) { margin: 0 0 28px; color: var(--cinza); font-size: 16px; line-height: 1.55; }
.recuperacao-cartao label { display: grid; gap: 7px; margin-top: 18px; color: var(--cinza); font: 700 10px/1 var(--ui); letter-spacing: .1em; text-transform: uppercase; }
.recuperacao-cartao input { height: 48px; padding: 0 13px; color: var(--preto); background: var(--papel); border: 1px solid var(--borda); border-radius: 0; outline: none; font: 500 13px/1 var(--ui); }
.recuperacao-cartao input:focus { border-color: var(--vermelho); box-shadow: 0 0 0 2px rgba(209,1,11,.08); }
.recuperacao-cartao .botao { width: 100%; margin-top: 24px; display: flex; align-items: center; justify-content: center; text-decoration: none; }
.recuperacao-sucesso { padding: 26px 0 4px; text-align: center; }
.recuperacao-sucesso__marca { width: 48px; height: 48px; margin: 0 auto 18px; display: grid; place-items: center; color: #fff; background: var(--verde); font: 800 20px/1 var(--ui); }
.recuperacao-sucesso h2 { margin: 0; font: 800 30px/1.1 var(--serifa); }
.recuperacao-sucesso p { margin: 12px 0 22px; color: var(--cinza); font-size: 15px; line-height: 1.55; }

@media (max-width: 900px) {
  .oauth-palco { grid-template-columns: minmax(0, 680px); }
  .oauth-manifesto { display: none; }
  .area-membros { grid-template-columns: 72px minmax(0,1fr); }
  .navegacao-lateral { padding-inline: 10px; }
  .navegacao-lateral__titulo div, .nav-item:not(.ativo)::after, .nav-item { font-size: 0; }
  .navegacao-lateral__titulo { justify-content: center; padding-inline: 0; }
  .nav-item { justify-content: center; padding-inline: 0; }
  .nav-item span { font-size: 19px; }
  .acervo-nota div { display: none; }
  .acervo-nota { justify-content: center; padding-inline: 0; }
  .painel { width: calc(100% - 40px); }
  .estado-inicial { grid-template-columns: 60px 1fr; }
  .sugestoes { grid-column: 2; }
  .modal-acordao__cabecalho { align-items: flex-start; }
  .modal-acordao__acoes { flex-wrap: wrap; justify-content: flex-end; }
  .modal-metadados { grid-template-columns: repeat(3, 1fr); }
  .modal-metadados div:nth-child(4) { padding-left: 0; border-left: 0; }
  .leitor-acordao { grid-template-columns: 170px minmax(0, 1fr); }
  .leitor-acordao__lateral { padding-inline: 22px 16px; }
  .folha-juridica { width: calc(100% - 32px); }
}

@media (max-width: 680px) {
  .oauth-palco { min-height: calc(100vh - 100px); padding: 20px 14px 40px; }
  .oauth-cartao__cabecalho, .oauth-cartao__corpo { padding: 28px 22px; }
  .oauth-cartao__cabecalho h1 { font-size: 38px; }
  .oauth-acoes { grid-template-columns: 1fr; }
  .barra-superior { padding-inline: 16px; }
  .barra-superior__texto { display: none; }
  .cabecalho-app { height: 70px; padding-inline: 16px; }
  .marca img { height: 45px; }
  .estado-conta { display: none; }
  .tela-login { grid-template-columns: 1fr; }
  .login-editorial { padding: 48px 24px; }
  .login-editorial h1 { font-size: 43px; }
  .login-editorial dl { gap: 22px; }
  .cartao-login { width: calc(100% - 32px); padding: 30px 24px; }
  .area-membros { min-height: calc(100vh - 100px); display: block; padding-bottom: 64px; }
  .navegacao-lateral { position: fixed; z-index: 10; left: 0; right: 0; bottom: 0; top: auto; width: auto; height: 64px; padding: 0 8px; display: block; border: 0; border-top: 2px solid var(--vermelho); }
  .navegacao-lateral__titulo, .acervo-nota { display: none; }
  .navegacao-lateral nav { height: 100%; margin: 0; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 0; }
  .nav-item { height: 100%; border-left: 0; border-top: 2px solid transparent; }
  .nav-item.ativo { border-top-color: var(--vermelho); }
  .painel { width: calc(100% - 28px); padding: 34px 0 55px; }
  .titulo-painel h1 { font-size: 34px; }
  .etiqueta-beta { display: none; }
  .campo-consulta textarea { min-height: 150px; padding: 22px; font-size: 17px; }
  .atalho { display: none; }
  .linha-pesquisa { align-items: stretch; flex-direction: column; }
  .acoes-pesquisa { width: 100%; }
  .acoes-pesquisa > * { flex: 1; }
  .grade-filtros { grid-template-columns: 1fr; }
  .introducao-resultados { align-items: flex-start; flex-direction: column; }
  .resultado { padding: 21px 18px 18px 23px; }
  .resultado__topo, .resultado__rodape { align-items: flex-start; flex-direction: column; }
  .resultado__relevancia { align-self: flex-end; }
  .estado-inicial { grid-template-columns: 1fr; }
  .sugestoes { grid-column: 1; }
  .cartao-mcp { grid-template-columns: 1fr; }
  .cartao-mcp__indice { padding: 22px; border-right: 0; border-bottom: 1px solid #3b3734; writing-mode: initial; transform: none; font-size: 36px; }
  .cartao-mcp > div { padding: 30px 22px; }
  .campo-link { align-items: stretch; flex-direction: column; }
  .campo-link button { min-height: 40px; }
  .modal-acordao { width: 100%; height: 100dvh; max-height: none; border: 0; }
  .modal-acordao__cabecalho { min-height: 0; padding: 16px 14px 15px; align-items: center; }
  .modal-acordao__monograma { display: none; }
  .modal-acordao__cabecalho h2 { max-width: 68vw; font-size: 18px; }
  .modal-contexto { max-width: 66vw; }
  .modal-acordao__acoes .ferramenta-leitor, .modal-acordao__acoes .controle-fonte { display: none; }
  .modal-metadados { min-height: 0; padding: 12px 14px; grid-template-columns: repeat(2, 1fr); }
  .modal-metadados div { padding: 7px 10px; }
  .modal-metadados div:nth-child(odd) { padding-left: 0; border-left: 0; }
  .modal-metadados div:nth-child(4) { padding-left: 10px; border-left: 1px solid #e3dfda; }
  .leitor-acordao { display: block; }
  .leitor-acordao__lateral { position: static; padding: 14px; overflow-x: auto; background: #dfdad2; }
  .leitor-acordao__rotulo, .leitor-estatisticas { display: none; }
  .modal-sumario { display: flex; min-width: max-content; }
  .modal-sumario a { padding: 8px 12px; border: 1px solid #c6beb6; border-right: 0; background: rgba(255,255,255,.5); }
  .modal-sumario a:last-child { border-right: 1px solid #c6beb6; }
  .modal-sumario a::before { display: none; }
  .folha-juridica { width: 100%; min-height: 0; margin: 0; border: 0; box-shadow: none; }
  .folha-juridica__cabecalho { padding: 14px 20px; }
  .modal-texto { padding: 34px 22px 48px; font-size: calc(15.5px * var(--escala-leitor)); line-height: 1.75; }
  .modal-texto p { text-align: left; }
  .folha-juridica__rodape { padding: 16px 20px; flex-direction: column; gap: 5px; }
}

@media print {
  body > *:not(#modal-acordao) { display: none !important; }
  .modal-acordao { position: static; width: 100%; height: auto; max-height: none; overflow: visible; color: #000; background: #fff; border: 0; box-shadow: none; }
  .modal-acordao::backdrop, .modal-acordao__cabecalho, .modal-metadados, .leitor-acordao__lateral { display: none; }
  .leitor-acordao { display: block; }
  .folha-juridica { width: 100%; min-height: 0; margin: 0; border: 0; box-shadow: none; }
  .modal-texto { padding: 0; color: #000; font-size: 11pt; line-height: 1.55; }
  .modal-texto h3 { break-after: avoid; }
  .modal-texto p { orphans: 3; widows: 3; }
  .folha-juridica__rodape { margin-top: 30px; padding-inline: 0; }
}

/* ── v2: rótulo neutro, selos, abas do leitor, classificação, panorama ── */
.resultado--neutro::before { background: #8f8a85; }
.etiqueta--neutro { color: #4f4b47; background: #ebe8e4; }
.resultado__selos { margin: 0 0 16px; display: flex; flex-wrap: wrap; gap: 6px; }
.resultado__selos span { padding: 5px 8px; color: #6b5a2a; background: #f8f3e6; border: 1px solid #ecdfbd; font: 600 9.5px/1.35 var(--ui); letter-spacing: .02em; }

.abas-leitor { position: sticky; top: 104px; z-index: 4; display: flex; gap: 0; padding: 0 28px; background: #f7f5f2; border-bottom: 1px solid #d1cbc3; }
.abas-leitor button { position: relative; padding: 14px 18px 13px; color: #6b6764; background: transparent; border: 0; font: 700 10px/1 var(--ui); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.abas-leitor button:hover { color: var(--preto); }
.abas-leitor button[aria-selected="true"] { color: var(--preto); }
.abas-leitor button[aria-selected="true"]::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: -1px; height: 3px; background: var(--vermelho); }
.abas-leitor button:focus-visible { outline: 2px solid var(--preto); outline-offset: -4px; }
.leitor-acordao__lateral { top: 166px; }

.modal-texto .classificacao-dados { margin: 1.2em 0 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; }
.modal-texto .classificacao-dados div { padding: 10px 12px; background: #f6f4f1; border-left: 2px solid var(--carvao); }
.modal-texto .classificacao-dados dt { margin: 0 0 4px; color: #8d867f; font: 700 8px/1 var(--ui); letter-spacing: .14em; text-transform: uppercase; }
.modal-texto .classificacao-dados dd { margin: 0; font: 600 .8em/1.4 var(--ui); text-transform: capitalize; }
.modal-texto p.classificacao-motivo { text-align: left; }
.modal-texto .evidencia { margin: 0 0 1.3em; }
.modal-texto .evidencia strong { display: block; font: 700 .8em/1.4 var(--ui); }
.modal-texto .evidencia blockquote { margin: .5em 0 .3em; padding: .2em 0 .2em 1em; border-left: 3px solid var(--verde); color: #3a3531; font-style: italic; }
.modal-texto .evidencia small { color: #8d867f; font: 600 .62em/1 var(--ui); letter-spacing: .1em; text-transform: uppercase; }
.modal-texto .classificacao-aviso { margin-top: 2em; padding: 12px 14px; color: #5d5751; background: #f6f4f1; font: 500 .68em/1.55 var(--ui); text-align: left; }

/* Panorama: verde #17774f × vermelho #d1010b validados (ΔE daltonismo 10,3; croma ok) */
.panorama { --g-favoravel: #17774f; --g-neutra: #cfcac4; --g-contraria: #d1010b; display: grid; gap: 16px; }
.panorama-filtros { display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin: 26px 0 20px; }
.panorama-filtros button { padding: 10px 16px; color: var(--cinza); background: var(--papel); border: 1px solid var(--borda); font: 700 10px/1 var(--ui); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.panorama-filtros button + button { border-left: 0; }
.panorama-filtros button[aria-pressed="true"] { color: #fff; background: var(--preto); border-color: var(--preto); }
.panorama-estado { margin-left: 14px; color: var(--cinza); font: 500 11px/1.4 var(--ui); }
.panorama-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; }
.panorama-tile, .panorama-grafico { padding: 18px 20px; background: var(--papel); border: 1px solid var(--borda); }
.panorama-tile .rot { display: flex; align-items: center; gap: 7px; color: var(--cinza); font: 700 9px/1.3 var(--ui); letter-spacing: .1em; text-transform: uppercase; }
.panorama-tile .val { margin-top: 6px; font: 800 30px/1.1 var(--serifa); font-variant-numeric: tabular-nums; }
.panorama-tile .sub { margin-top: 4px; color: var(--cinza); font: 500 11px/1.3 var(--ui); }
.panorama-grafico h2 { margin: 0; font: 800 19px/1.25 var(--serifa); }
.panorama-desc { margin: 4px 0 12px; color: var(--cinza); font: 500 12px/1.5 var(--ui); }
.panorama-legenda { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 8px; color: #494541; font: 600 11px/1.3 var(--ui); }
.panorama-legenda span { display: inline-flex; align-items: center; gap: 6px; }
.panorama-chip { display: inline-block; flex: none; width: 10px; height: 10px; border-radius: 3px; }
.panorama-chip--favoravel { background: #17774f; } .panorama-chip--neutra { background: #cfcac4; } .panorama-chip--contraria { background: #d1010b; }
.panorama .panorama-favoravel { fill: var(--g-favoravel); } .panorama .panorama-neutra { fill: var(--g-neutra); } .panorama .panorama-contraria { fill: var(--g-contraria); }
.panorama .panorama-linha { stroke: var(--g-favoravel); }
.panorama .panorama-ponto { fill: var(--g-favoravel); stroke: var(--papel); }
.panorama .panorama-grade { stroke: #ece8e3; }
.panorama .panorama-cruz { stroke: var(--cinza-claro); }
.panorama svg { display: block; width: 100%; overflow: visible; }
.panorama svg text { fill: #5d5751; font: 500 11.5px var(--ui); font-variant-numeric: tabular-nums; }
.panorama svg text.forte { fill: var(--preto); font-weight: 600; }
.panorama-barra-tabela { display: flex; justify-content: flex-end; }
.panorama-barra-tabela button { padding: 4px 0; color: var(--vermelho-escuro); background: none; border: 0; font: 700 9.5px/1 var(--ui); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.panorama-tabela table { width: 100%; margin-top: 6px; border-collapse: collapse; font: 500 12px/1.4 var(--ui); font-variant-numeric: tabular-nums; }
.panorama-tabela th, .panorama-tabela td { padding: 5px 6px; text-align: left; border-bottom: 1px solid var(--borda); }
.panorama-tabela .n { text-align: right; }
.panorama-vazio { padding: 22px 0; color: var(--cinza); font: 500 12px/1.5 var(--ui); text-align: center; }
.panorama-aviso { padding: 13px 15px; color: #494541; background: var(--papel); border: 1px solid var(--borda); border-left: 3px solid var(--carvao); font: 500 12px/1.6 var(--ui); }
.panorama-dica { position: fixed; z-index: 30; max-width: 300px; padding: 7px 10px; color: #fff; background: var(--carvao); font: 500 11.5px/1.45 var(--ui); pointer-events: none; opacity: 0; transition: opacity .08s; }

@media (max-width: 680px) {
  .abas-leitor { position: static; padding: 0 8px; overflow-x: auto; }
  .abas-leitor button { padding: 13px 12px 12px; }
  .panorama-filtros button { padding: 10px 12px; }
}
@media print { .abas-leitor { display: none; } }

/* ── v3: cadastro próprio (entidade/convite) e nova senha ── */
.cartao-login select { min-width: 0; height: 46px; padding: 0 10px; color: var(--preto); background: var(--papel); border: 1px solid var(--borda); border-radius: 0; font: 500 13px/1 var(--ui); text-transform: none; letter-spacing: 0; }
.cartao-login select:focus { border-color: var(--vermelho); outline: none; }
.cartao-login .cadastro-oab { display: grid; grid-template-columns: minmax(0, 1fr) 92px; gap: 10px; }
.cartao-login .cadastro-explicacao { margin: -18px 0 4px; color: #494541; font: 500 12px/1.55 var(--ui); }
.cartao-login .botao-link { display: block; margin-top: 12px; }
.cartao-login form > .botao.botao--primario { margin-top: 24px; }
.cartao-login .mensagem { margin: 0 0 18px; }
.mensagem--sucesso { color: var(--verde); background: var(--verde-claro); border-left: 3px solid var(--verde); }

/* ── v4: Panorama por órgão (Visão geral | Analisar recorte) ── */
.panorama svg text.recuado { fill: #6b6764; font-style: italic; }

/* Recorte estratégico: números auditáveis e acesso às decisões. */
.panorama-parcial { fill: #337e91; } .panorama-chip--parcial { background: #337e91; }
.panorama-mista { fill: #976322; } .panorama-chip--mista { background: #976322; }
.panorama-indeterminada { fill: #a09c97; } .panorama-chip--indeterminada { background: #a09c97; }
.panorama-tabela { overflow-x: auto; }
.panorama-estrategia { border-top: 3px solid var(--carvao); }
.estrategia-selo { font: 700 10px var(--ui); letter-spacing: .12em; text-transform: uppercase; color: #17774f; }
.estrategia-abertura h2 { margin-top: 8px; font-size: 25px; }
.estrategia-filtros { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; padding: 16px 0; }
.estrategia-filtros label { display: grid; gap: 6px; font: 600 11px var(--ui); color: var(--cinza); }
.estrategia-filtros select, .estrategia-filtros input { width: 100%; min-width: 0; padding: 10px; border: 1px solid var(--borda); border-radius: 0; background: var(--papel); color: var(--preto); font: 500 12px var(--ui); }
.estrategia-filtros button { padding: 13px 18px; border: 0; background: var(--carvao); color: white; font: 700 12px var(--ui); cursor: pointer; }
.estrategia-filtros :focus-visible, .panorama-estrategia button:focus-visible, .panorama-estrategia summary:focus-visible { outline: 2px solid #337e91; outline-offset: 3px; }
.estrategia-status { padding: 12px 0; font: 500 12px/1.6 var(--ui); border-top: 1px solid var(--borda); }
.estrategia-cobertura { margin: 0 0 12px; color: var(--cinza); font: 500 12px/1.6 var(--ui); font-variant-numeric: tabular-nums; }
.panorama-estrategia h3 { margin: 28px 0 6px; font: 700 19px var(--serifa); }
.estrategia-resultados { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--borda); border-left: 1px solid var(--borda); }
.estrategia-resultados > div { padding: 14px; border-bottom: 1px solid var(--borda); border-right: 1px solid var(--borda); }
.estrategia-resultados span { display: flex; gap: 6px; align-items: center; font: 500 11px var(--ui); }
.estrategia-resultados strong { display: block; margin-top: 8px; font: 800 27px var(--serifa); }
.estrategia-resultados small { font: 500 11px var(--ui); color: var(--cinza); }
.estrategia-processual { margin: 16px 0; font: 500 12px/1.7 var(--ui); }
.estrategia-processual summary { cursor: pointer; font-weight: 700; }
.estrategia-beneficios { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }
.estrategia-beneficios button { border: 1px solid var(--borda); padding: 9px 12px; background: var(--papel); color: var(--carvao); font: 500 12px var(--ui); text-align: left; cursor: pointer; }
.estrategia-beneficios button b { margin-left: 8px; }
.estrategia-beneficios button[aria-pressed=true] { background: var(--carvao); color: white; border-color: var(--carvao); }
.estrategia-exemplos { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin: 16px 0; }
.estrategia-exemplos article { border: 1px solid var(--borda); padding: 18px; min-width: 0; }
.estrategia-exemplo-topo { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px; font: 600 12px/1.5 var(--ui); }
.estrategia-exemplos p { font: 500 11px/1.6 var(--ui); color: var(--cinza); }
.estrategia-exemplos blockquote { margin: 14px 0; padding-left: 12px; border-left: 2px solid #17774f; font: 400 15px/1.7 var(--serifa); overflow-wrap: anywhere; max-height: 220px; overflow-y: auto; }
.estrategia-exemplos button { border: 0; border-bottom: 1px solid var(--carvao); padding: 8px 0; background: transparent; color: var(--carvao); font: 700 11px/1.6 var(--ui); cursor: pointer; overflow-wrap: anywhere; text-align: left; }
@media (max-width: 680px) {
 .estrategia-filtros, .estrategia-resultados { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .estrategia-exemplos { grid-template-columns: 1fr; }
 .estrategia-filtros button { grid-column: 1 / -1; }
 .panorama-estrategia { padding: 16px 12px; }
}
@media (max-width: 680px) { .panorama-tiles { grid-template-columns: repeat(2,minmax(0,1fr)); } .panorama-tile { padding: 14px 12px; } }

/* Abas do Panorama: o órgão inteiro × recorte filtrado. */
.panorama-abas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 0 20px; border-bottom: 1px solid var(--borda); }
.panorama-abas button { display: grid; gap: 3px; padding: 12px 4px 13px; color: var(--cinza); background: none; border: 0; border-bottom: 3px solid transparent; margin-bottom: -1px; font: 700 14px/1.2 var(--serifa); text-align: left; cursor: pointer; }
.panorama-abas button small { font: 500 11px/1.3 var(--ui); }
.panorama-abas button[aria-selected="true"] { color: var(--preto); border-bottom-color: var(--vermelho); }
.panorama-abas button:focus-visible { outline: 2px solid #337e91; outline-offset: 2px; }
.panorama-estrategia > form { padding-top: 0; }
.panorama-estrategia .panorama-aviso { margin-top: 24px; }
.estrategia-filtros [hidden] { display: none; }

/* Intimações (DJEN) */
.mesa-intimacoes { padding: 6px 22px 22px; display: grid; grid-template-columns: 170px 170px minmax(0,1fr) auto; align-items: end; gap: 0 16px; background: var(--papel); border: 1px solid var(--borda); border-top: 4px solid var(--preto); }
.mesa-intimacoes label { display: grid; gap: 7px; margin-top: 16px; color: var(--cinza); font: 700 10px/1 var(--ui); letter-spacing: .1em; text-transform: uppercase; }
.mesa-intimacoes input { min-width: 0; height: 46px; padding: 0 13px; color: var(--preto); background: var(--papel); border: 1px solid var(--borda); border-radius: 0; outline: none; font: 500 13px/1 var(--ui); letter-spacing: 0; text-transform: none; }
.mesa-intimacoes input:focus { border-color: var(--vermelho); box-shadow: 0 0 0 2px rgba(209,1,11,.08); }
.mesa-intimacoes .botao { height: 46px; }
.intimacao::before { background: var(--carvao); }
.intimacao--cancelada { opacity: .72; }
.intimacao--cancelada::before { background: var(--vermelho); }
.intimacao__partes { margin: 14px 0 0; color: #494541; font: 500 11px/1.55 var(--ui); }
.intimacao__partes strong { color: var(--preto); }
.intimacao__texto--recolhido { max-height: 26em; overflow: hidden; -webkit-mask-image: linear-gradient(#000 70%, transparent); mask-image: linear-gradient(#000 70%, transparent); }
.intimacao__advogados { margin: 0 0 16px; color: var(--cinza); font: 600 9.5px/1.5 var(--ui); letter-spacing: .03em; }
a.acao-card { display: inline-flex; align-items: center; text-decoration: none; }
@media (max-width: 680px) {
  .mesa-intimacoes { grid-template-columns: 1fr 1fr; padding-inline: 16px; }
  .mesa-intimacoes__filtro, .mesa-intimacoes .botao { grid-column: 1 / -1; }
  .mesa-intimacoes .botao { margin-top: 16px; }
}

/* Ato judicial (texto da intimação estruturado) */
.ato { margin: 19px 0; color: #302d2a; font: 400 15px/1.65 var(--texto); }
.ato__cabecalho { margin: 0 0 18px; padding: 16px 18px; background: #faf9f7; border: 1px solid var(--borda); }
.ato__orgao { margin: 0; color: var(--carvao); font: 700 9.5px/1.7 var(--ui); letter-spacing: .09em; text-align: center; text-transform: uppercase; }
.ato__campos { margin: 12px 0 0; padding-top: 12px; display: grid; grid-template-columns: max-content minmax(0,1fr); gap: 5px 16px; border-top: 1px solid var(--borda); font: 500 12px/1.5 var(--ui); }
.ato__campos:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.ato__campos dt { padding-top: 2px; color: var(--cinza); font: 700 9px/1.5 var(--ui); letter-spacing: .08em; text-transform: uppercase; }
.ato__campos dd { margin: 0; overflow-wrap: anywhere; }
.ato__titulo { margin: 24px 0 12px; color: var(--preto); font: 800 12px/1.3 var(--ui); letter-spacing: .2em; text-align: center; }
.ato__subtitulo { margin: 16px 0 6px; font: 700 10.5px/1.4 var(--ui); letter-spacing: .06em; }
.ato__paragrafo { margin: 0 0 10px; text-align: justify; text-indent: 2.5em; hyphens: auto; overflow-wrap: anywhere; }
.ato__ementa, .ato__citacao { margin: 8px 0 16px; text-align: justify; hyphens: auto; overflow-wrap: anywhere; }
.ato__ementa p, .ato__citacao p { margin: 0 0 6px; }
.ato__ementa { margin-left: 38%; font-size: 13.5px; line-height: 1.55; }
.ato__citacao { margin-left: 15%; padding-left: 14px; color: #45403c; border-left: 2px solid var(--borda); font-size: 13.5px; line-height: 1.55; }
.ato__assinatura { margin: 24px 0 4px; text-align: center; font-size: 14px; line-height: 1.5; }
.ato__assinatura span { display: block; }
.ato__certificacao { margin: 2px 0; color: var(--cinza); font: 500 10px/1.5 var(--ui); }
@media (max-width: 680px) {
  .ato__ementa { margin-left: 12%; }
  .ato__citacao { margin-left: 6%; padding-left: 10px; }
  .ato__campos { grid-template-columns: 1fr; gap: 0; }
  .ato__campos dd { margin-bottom: 6px; }
  .ato__paragrafo { text-indent: 1.5em; }
  .ato__paragrafo, .ato__ementa, .ato__citacao { text-align: left; }   /* justificar em coluna estreita abre buracos */
}

/* Período rápido das intimações */
.periodo-rapido { grid-column: 1 / -1; margin-top: 16px; display: flex; flex-wrap: wrap; align-items: center; gap: 0; }
.periodo-rapido span { margin-right: 12px; color: var(--cinza); font: 700 10px/1 var(--ui); letter-spacing: .1em; text-transform: uppercase; }
.periodo-rapido button { padding: 10px 14px; color: var(--cinza); background: var(--papel); border: 1px solid var(--borda); font: 700 10px/1 var(--ui); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.periodo-rapido button + button { border-left: 0; }
.periodo-rapido button:hover { color: var(--preto); }
.periodo-rapido button[aria-pressed="true"] { color: #fff; background: var(--preto); border-color: var(--preto); }
@media (max-width: 680px) {
  .periodo-rapido span { width: 100%; margin: 0 0 8px; }
  .periodo-rapido button { flex: 1; padding-inline: 4px; }
}

/* Administração */
.admin-abas { display: flex; flex-wrap: wrap; margin: 0 0 22px; border-bottom: 1px solid var(--borda); }
.admin-abas button { padding: 12px 18px 13px; color: var(--cinza); background: none; border: 0; border-bottom: 3px solid transparent; margin-bottom: -1px; font: 700 14px/1.2 var(--serifa); cursor: pointer; }
.admin-abas button[aria-selected="true"] { color: var(--preto); border-bottom-color: var(--vermelho); }
.admin-barra { margin-bottom: 14px; display: flex; flex-wrap: wrap; align-items: end; gap: 12px 16px; }
.admin-barra label, .admin-cartao label { display: grid; gap: 7px; color: var(--cinza); font: 700 10px/1 var(--ui); letter-spacing: .1em; text-transform: uppercase; }
.admin-barra input, .admin-barra select, .admin-cartao input:not([type=checkbox]), .admin-cartao select, .admin-cartao textarea { min-width: 0; height: 42px; padding: 0 12px; color: var(--preto); background: var(--papel); border: 1px solid var(--borda); border-radius: 0; outline: none; font: 500 13px/1 var(--ui); letter-spacing: 0; text-transform: none; }
.admin-cartao textarea { height: auto; padding: 10px 12px; font: 500 12px/1.5 ui-monospace, Menlo, monospace; resize: vertical; }
.admin-barra input { width: min(320px, 70vw); }
.admin-barra input:focus, .admin-cartao input:focus, .admin-cartao select:focus, .admin-cartao textarea:focus { border-color: var(--vermelho); }
.admin-contagem { margin-left: auto; color: var(--cinza); font: 600 10px/1 var(--ui); letter-spacing: .08em; text-transform: uppercase; }
.admin-tabela { overflow-x: auto; background: var(--papel); border: 1px solid var(--borda); }
.admin-tabela table { width: 100%; border-collapse: collapse; font: 500 12px/1.45 var(--ui); }
.admin-tabela th { padding: 11px 14px; color: var(--cinza); background: #faf9f7; border-bottom: 1px solid var(--borda); font: 700 9px/1.2 var(--ui); letter-spacing: .1em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.admin-tabela td { padding: 12px 14px; border-bottom: 1px solid #ece8e4; vertical-align: top; }
.admin-tabela tr:last-child td { border-bottom: 0; }
.admin-tabela td small { display: block; color: var(--cinza); font-size: 11px; }
.admin-tabela .estado-vazio { border: 0; }
.admin-acoes { white-space: nowrap; text-align: right; }
.admin-acoes .acao-card + .acao-card { margin-left: 4px; }
.situacao { display: inline-block; padding: 4px 7px; font: 700 8.5px/1 var(--ui); letter-spacing: .08em; text-transform: uppercase; color: var(--cinza); background: #f0eeeb; }
.situacao--ativa { color: var(--verde); background: var(--verde-claro); }
.situacao--pendente { color: var(--ambar); background: var(--ambar-claro); }
.situacao--bloqueada { color: var(--vermelho-escuro); background: #f9e5e6; }
.admin-cartao { margin: 0 0 22px; padding: 22px 24px; display: grid; gap: 14px; align-content: start; background: var(--papel); border: 1px solid var(--borda); border-top: 4px solid var(--preto); }
.admin-cartao h2, .admin-subtitulo { margin: 0; font: 800 21px/1.2 var(--serifa); }
.admin-subtitulo { margin: 8px 0 12px; }
.admin-cartao p { margin: 0; color: var(--cinza); font: 500 12px/1.55 var(--ui); }
.admin-cartao .botao { justify-self: start; }
.admin-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; }
.admin-check { display: flex !important; align-items: center; gap: 8px; text-transform: none !important; letter-spacing: 0 !important; font: 600 12px/1.3 var(--ui) !important; color: var(--carvao) !important; }
.admin-link { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px 14px; background: var(--verde-claro); border-left: 3px solid var(--verde); }
.admin-link code { flex: 1 1 260px; overflow-wrap: anywhere; font: 500 11.5px/1.5 ui-monospace, Menlo, monospace; }
.admin-duas { margin-top: 22px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.admin-resultado { padding: 12px 14px; background: #faf9f7; border: 1px solid var(--borda); font: 500 12px/1.55 var(--ui); }
.admin-resultado p, .admin-resultado ul { margin: 0 0 8px; color: var(--carvao); }
@media (max-width: 900px) { .admin-duas { grid-template-columns: 1fr; } }
@media (max-width: 680px) {
  .admin-tabela { overflow: visible; background: transparent; border: 0; }
  .admin-tabela table, .admin-tabela tbody, .admin-tabela tr, .admin-tabela td { display: block; }
  .admin-tabela thead { display: none; }
  .admin-tabela tr { margin-bottom: 10px; padding: 8px 4px; background: var(--papel); border: 1px solid var(--borda); }
  .admin-tabela td { padding: 6px 12px; border: 0; }
  .admin-tabela td[data-rotulo]::before { content: attr(data-rotulo); display: block; color: var(--cinza); font: 700 8.5px/1.4 var(--ui); letter-spacing: .1em; text-transform: uppercase; }
  .admin-acoes { text-align: left; white-space: normal; }
  .admin-contagem { margin-left: 0; width: 100%; }
  .admin-abas button { padding-inline: 10px; font-size: 13px; }
}
