/* Ouvidoria ALEPA – portal público (Fase 2) */
:root{
  --azul:#0f2a4d;
  --azul-2:#163a66;
  --azul-claro:#e8eef7;
  --ouro:#c9a646;
  --ouro-claro:#f7f0dc;
  --link:#1351b4;
  --link-hover:#0c3d8a;
  --texto:#1c2433;
  --texto-2:#4b5566;
  --texto-3:#6b7485;
  --fundo:#f4f6f9;
  --superficie:#ffffff;
  --borda:#dde3eb;
  --borda-forte:#c3ccd8;
  --ok:#1f7a3d;
  --ok-claro:#e6f4ea;
  --erro:#b42318;
  --erro-claro:#fdecea;
  --aviso:#8a5a00;
  --aviso-claro:#fff6e0;
  --foco:#f5b400;
  --wa:#1fa855;
  --raio:10px;
  --raio-g:16px;
  --sombra:0 1px 2px rgba(15,42,77,.06),0 4px 16px rgba(15,42,77,.06);
  --sombra-g:0 8px 32px rgba(15,42,77,.14);
  --fonte:'Source Sans 3','Segoe UI',system-ui,sans-serif;
  --tam:16px;
}

*,*::before,*::after{box-sizing:border-box}
html{font-size:var(--tam);scroll-behavior:smooth}
body{margin:0;font-family:var(--fonte);font-size:1rem;line-height:1.6;color:var(--texto);background:var(--fundo);min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--link);text-underline-offset:2px}
a:hover{color:var(--link-hover)}
h1,h2,h3,h4{line-height:1.25;margin:0 0 .5em;font-weight:600;color:var(--azul)}
p{margin:0 0 1em}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--foco);outline-offset:2px;border-radius:4px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ico{width:1.25em;height:1.25em;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.25em}
.container{width:100%;max-width:1180px;margin:0 auto;padding:0 16px}
main{flex:1}

/* ── Pular para o conteúdo ── */
.pular{position:absolute;left:16px;top:-60px;z-index:1000;background:var(--foco);color:#000;padding:10px 16px;border-radius:0 0 8px 8px;font-weight:600;text-decoration:none}
.pular:focus{top:0}

/* ── Barra de acessibilidade ── */
.barra-acess{background:#0a1d36;color:rgba(255,255,255,.82);font-size:.8125rem}
.barra-acess .container{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px;flex-wrap:wrap}
.barra-acess a{color:rgba(255,255,255,.82);text-decoration:none}
.barra-acess a:hover{color:#fff;text-decoration:underline}
.barra-acess .atalhos{display:flex;gap:16px;align-items:center}
.barra-acess .atalhos kbd{font-family:inherit;font-size:.75rem;background:rgba(255,255,255,.12);padding:0 5px;border-radius:3px;margin-left:3px}
.barra-acess .ajustes{display:flex;gap:4px;align-items:center}
.barra-acess button{background:transparent;border:1px solid rgba(255,255,255,.25);color:#fff;font:inherit;font-size:.8125rem;padding:2px 9px;border-radius:5px;cursor:pointer;display:inline-flex;align-items:center;gap:5px}
.barra-acess button:hover{background:rgba(255,255,255,.1)}

/* ── Topo ── */
.topo{background:var(--superficie);border-bottom:1px solid var(--borda);position:sticky;top:0;z-index:100}
.topo::after{content:'';display:block;height:3px;background:linear-gradient(90deg,var(--azul) 0 70%,var(--ouro) 70% 100%)}
.topo .container{display:flex;align-items:center;gap:20px;min-height:76px}
.marca{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--azul);flex-shrink:0}
.marca img{height:48px;width:auto}
.marca .nome{display:block;font-size:1.375rem;font-weight:600;line-height:1.1;letter-spacing:-.01em}
.marca .orgao{display:block;font-size:.8125rem;color:var(--texto-3);line-height:1.2}
.menu{display:flex;align-items:center;gap:2px;margin-left:auto}
.menu a{color:var(--texto-2);text-decoration:none;font-size:.9375rem;padding:8px 12px;border-radius:8px;white-space:nowrap}
.menu a:hover{background:var(--fundo);color:var(--azul)}
.menu a[aria-current="page"]{color:var(--azul);background:var(--azul-claro);font-weight:600}
.menu .btn{margin-left:8px}
.menu a.btn-pri,.menu a.btn-pri:hover{color:#fff}
.menu a.btn-pri:hover{background:var(--link-hover)}
.btn-menu{display:none;margin-left:auto;background:none;border:1px solid var(--borda);border-radius:8px;padding:8px;color:var(--azul);cursor:pointer}

/* ── Botões ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:.9375rem;font-weight:600;line-height:1.2;padding:11px 20px;border-radius:999px;border:1.5px solid transparent;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,color .15s,transform .15s;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn-pri{background:var(--link);color:#fff}
.btn-pri:hover{background:var(--link-hover);color:#fff}
.btn-ouro{background:var(--ouro);color:#1b1300}
.btn-ouro:hover{background:#b8963b;color:#1b1300}
.btn-sec{background:var(--superficie);color:var(--link);border-color:var(--link)}
.btn-sec:hover{background:var(--azul-claro);color:var(--link-hover)}
.btn-claro{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.btn-claro:hover{background:rgba(255,255,255,.1);color:#fff;border-color:#fff}
.btn-texto{background:none;border:none;color:var(--link);padding:8px 4px}
.btn-g{padding:14px 26px;font-size:1rem}
.btn[disabled]{opacity:.55;cursor:not-allowed}

/* ── Hero ── */
.hero{background:radial-gradient(circle at 85% 20%,rgba(201,166,70,.18),transparent 40%),linear-gradient(135deg,var(--azul) 0%,var(--azul-2) 100%);color:#fff;padding:56px 0 64px}
.hero .container{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.hero .selo{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ouro);margin-bottom:14px}
.hero h1{color:#fff;font-size:clamp(1.9rem,3.6vw,2.75rem);font-weight:600;letter-spacing:-.02em;margin-bottom:16px}
.hero p.lead{font-size:1.125rem;color:rgba(255,255,255,.85);max-width:560px;margin-bottom:28px}
.hero .acoes{display:flex;gap:12px;flex-wrap:wrap}
.cartao-busca{background:var(--superficie);color:var(--texto);border-radius:var(--raio-g);padding:28px;box-shadow:var(--sombra-g)}
.cartao-busca h2{font-size:1.25rem;margin-bottom:6px;display:flex;align-items:center;gap:8px}
.cartao-busca p{color:var(--texto-2);font-size:.9375rem;margin-bottom:16px}
.campo-busca{display:flex;gap:8px}
.campo-busca input{flex:1;min-width:0;font:inherit;font-size:1.125rem;letter-spacing:.12em;text-transform:uppercase;padding:12px 14px;border:1.5px solid var(--borda-forte);border-radius:var(--raio);color:var(--texto)}
.campo-busca input::placeholder{letter-spacing:.04em;text-transform:none;color:var(--texto-3);font-size:1rem}
.campo-busca input:focus{border-color:var(--link);outline:none;box-shadow:0 0 0 3px rgba(19,81,180,.18)}
.cartao-busca .dica{font-size:.8125rem;color:var(--texto-3);margin:10px 0 0}

/* ── Números ── */
.numeros{margin-top:-32px;position:relative;z-index:2}
.numeros .grade{display:grid;grid-template-columns:repeat(4,1fr);background:var(--superficie);border-radius:var(--raio-g);box-shadow:var(--sombra);overflow:hidden}
.numeros .grade.g3{grid-template-columns:repeat(3,1fr)}
.numero{padding:22px 24px;border-right:1px solid var(--borda);display:flex;gap:14px;align-items:center}
.numero:last-child{border-right:none}
.numero .ico{width:28px;height:28px;color:var(--ouro)}
.numero strong{display:block;font-size:1.625rem;font-weight:600;color:var(--azul);line-height:1.1}
.numero span{font-size:.875rem;color:var(--texto-2)}

/* ── Seções ── */
.secao{padding:64px 0}
.secao.alt{background:var(--superficie);border-top:1px solid var(--borda);border-bottom:1px solid var(--borda)}
.secao-cab{max-width:680px;margin-bottom:32px}
.secao-cab .rotulo{font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ouro);font-weight:600;margin-bottom:6px;display:block}
.secao-cab h2{font-size:clamp(1.5rem,2.6vw,2rem);letter-spacing:-.01em}
.secao-cab p{color:var(--texto-2);font-size:1.0625rem;margin:0}

/* Tipos de manifestação */
.tipos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tipo{display:flex;gap:16px;align-items:flex-start;padding:22px;background:var(--superficie);border:1px solid var(--borda);border-radius:var(--raio-g);text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s,transform .15s}
.tipo:hover{border-color:var(--link);box-shadow:var(--sombra);transform:translateY(-2px);color:inherit}
.tipo .icone{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--azul-claro);color:var(--azul)}
.tipo .icone .ico{width:24px;height:24px}
.tipo h3{font-size:1.125rem;margin-bottom:4px;color:var(--azul)}
.tipo p{font-size:.9375rem;color:var(--texto-2);margin:0}
.tipo .seta{margin-left:auto;color:var(--texto-3);align-self:center}
.tipo:hover .seta{color:var(--link)}
.tipo.t1 .icone{background:#fdecea;color:#b42318}
.tipo.t2 .icone{background:#fff6e0;color:#8a5a00}
.tipo.t3 .icone{background:#fdeee3;color:#b54708}
.tipo.t4 .icone{background:#e8eef7;color:#1351b4}
.tipo.t5 .icone{background:#e6f4ea;color:#1f7a3d}
.tipo.t6 .icone{background:#efeaf7;color:#5b3fa0}

/* Como funciona */
.passos{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:passo;list-style:none;margin:0;padding:0}
.passo{position:relative;padding-top:56px}
.passo::before{counter-increment:passo;content:counter(passo);position:absolute;top:0;left:0;width:40px;height:40px;border-radius:50%;background:var(--azul);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.0625rem}
.passo:not(:last-child)::after{content:'';position:absolute;top:20px;left:52px;right:-12px;height:2px;background:repeating-linear-gradient(90deg,var(--borda-forte) 0 6px,transparent 6px 12px)}
.passo h3{font-size:1.0625rem;margin-bottom:6px}
.passo p{font-size:.9375rem;color:var(--texto-2);margin:0}

/* Duas colunas */
.duas{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.painel{background:var(--superficie);border:1px solid var(--borda);border-radius:var(--raio-g);padding:28px}
.painel h2{font-size:1.375rem;display:flex;align-items:center;gap:10px}
.painel h2 .ico{color:var(--ouro);width:26px;height:26px}
.lista-check{list-style:none;margin:0;padding:0}
.lista-check li{display:flex;gap:10px;padding:8px 0;color:var(--texto-2)}
.lista-check li .ico{color:var(--ok);margin-top:3px}
.canais{display:grid;gap:12px}
.canal{display:flex;gap:14px;align-items:center;padding:14px 16px;border:1px solid var(--borda);border-radius:var(--raio);text-decoration:none;color:inherit}
a.canal:hover{border-color:var(--link);background:var(--azul-claro);color:inherit}
.canal .icone{width:42px;height:42px;border-radius:50%;background:var(--azul-claro);color:var(--azul);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.canal.wa .icone{background:var(--wa);color:#fff}
.canal strong{display:block;font-weight:600;color:var(--texto)}
.canal span{font-size:.9375rem;color:var(--texto-2)}

/* ── Página interna ── */
.pagina-cab{background:var(--superficie);border-bottom:1px solid var(--borda);padding:28px 0 24px}
.trilha{font-size:.875rem;color:var(--texto-3);margin-bottom:8px}
.trilha ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.trilha li+li::before{content:'›';margin-right:6px;color:var(--borda-forte)}
.trilha a{color:var(--texto-3)}
.pagina-cab h1{font-size:clamp(1.6rem,3vw,2.125rem);margin:0;letter-spacing:-.01em}
.pagina-cab p{color:var(--texto-2);margin:8px 0 0;max-width:760px}
.pagina{padding:32px 0 64px}
.cartao{background:var(--superficie);border:1px solid var(--borda);border-radius:var(--raio-g);padding:28px}
.cartao+.cartao{margin-top:20px}

/* ── Alertas ── */
.alerta{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--raio);font-size:.9375rem;margin-bottom:16px;border:1px solid}
.alerta .ico{margin-top:2px}
.alerta.info{background:var(--azul-claro);border-color:#c7d6ec;color:#173a6b}
.alerta.ok{background:var(--ok-claro);border-color:#b9dfc5;color:#14532d}
.alerta.erro{background:var(--erro-claro);border-color:#f5c2bc;color:#7a1a12}
.alerta.aviso{background:var(--aviso-claro);border-color:#f1d9a3;color:#6b4500}

/* ── Formulário em etapas ── */
.etapas{display:flex;list-style:none;margin:0 0 28px;padding:0;gap:8px;counter-reset:etapa}
.etapas li{flex:1;display:flex;flex-direction:column;gap:8px;font-size:.875rem;color:var(--texto-3);counter-increment:etapa}
.etapas li::before{content:'';height:4px;border-radius:4px;background:var(--borda)}
.etapas li span::before{content:counter(etapa) '. '}
.etapas li.feita::before{background:var(--ok)}
.etapas li.atual::before{background:var(--link)}
.etapas li.atual{color:var(--azul);font-weight:600}
.etapa h2{font-size:1.375rem;margin-bottom:4px}
.etapa .sub{color:var(--texto-2);margin-bottom:24px}
.escolhas{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.escolhas.duas-col{grid-template-columns:1fr 1fr}
.escolha{position:relative}
.escolha input{position:absolute;opacity:0;inset:0;cursor:pointer;margin:0}
.escolha label{display:flex;gap:12px;align-items:flex-start;height:100%;padding:16px;border:1.5px solid var(--borda);border-radius:var(--raio);cursor:pointer;background:var(--superficie);transition:border-color .15s,background .15s}
.escolha label .ico{width:24px;height:24px;color:var(--azul);margin-top:1px}
.escolha label strong{display:block;font-weight:600;color:var(--texto)}
.escolha label small{display:block;color:var(--texto-2);font-size:.875rem;line-height:1.4;margin-top:2px}
.escolha input:hover+label{border-color:var(--borda-forte)}
.escolha input:checked+label{border-color:var(--link);background:var(--azul-claro);box-shadow:inset 0 0 0 1px var(--link)}
.escolha input:focus-visible+label{outline:3px solid var(--foco);outline-offset:2px}
.campos{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}
.campo{display:flex;flex-direction:column;gap:6px}
.campo.inteiro{grid-column:1/-1}
.campo label{font-weight:600;font-size:.9375rem;color:var(--texto)}
.campo label .opc{font-weight:400;color:var(--texto-3);font-size:.875rem}
.campo label .obr{color:var(--erro)}
.campo input,.campo select,.campo textarea{font:inherit;font-size:1rem;padding:11px 13px;border:1.5px solid var(--borda-forte);border-radius:var(--raio);background:var(--superficie);color:var(--texto);width:100%}
.campo textarea{min-height:180px;resize:vertical;line-height:1.55}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--link);outline:none;box-shadow:0 0 0 3px rgba(19,81,180,.18)}
.campo .ajuda{font-size:.8125rem;color:var(--texto-3)}
.campo.invalido input,.campo.invalido select,.campo.invalido textarea{border-color:var(--erro)}
.msg-erro{font-size:.875rem;color:var(--erro);display:none}
[data-campo].invalido .msg-erro{display:block}
.escolhas.invalido .escolha label{border-color:var(--erro)}
[data-campo="consentimento"].invalido .consentimento{box-shadow:inset 0 0 0 1.5px var(--erro)}
.contador{text-align:right}
.upload{border:2px dashed var(--borda-forte);border-radius:var(--raio);padding:22px;text-align:center;color:var(--texto-2);background:var(--fundo);cursor:pointer;transition:border-color .15s,background .15s}
.upload:hover,.upload.arrastando{border-color:var(--link);background:var(--azul-claro)}
.upload .ico{width:28px;height:28px;color:var(--link)}
.upload input{display:none}
.lista-arquivos{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.lista-arquivos li{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--superficie);border:1px solid var(--borda);border-radius:8px;font-size:.9375rem}
.lista-arquivos li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lista-arquivos button{background:none;border:none;color:var(--texto-3);cursor:pointer;padding:2px}
.lista-arquivos button:hover{color:var(--erro)}
.revisao{display:grid;grid-template-columns:200px 1fr;gap:0;border:1px solid var(--borda);border-radius:var(--raio);overflow:hidden;margin-bottom:20px}
.revisao dt,.revisao dd{margin:0;padding:11px 14px;border-bottom:1px solid var(--borda)}
.revisao dt{background:var(--fundo);color:var(--texto-2);font-size:.9375rem}
.revisao dd{word-break:break-word;white-space:pre-wrap}
.revisao dt:last-of-type,.revisao dd:last-of-type{border-bottom:none}
.consentimento{display:flex;gap:12px;align-items:flex-start;padding:16px;background:var(--fundo);border-radius:var(--raio);font-size:.9375rem;color:var(--texto-2);cursor:pointer}
.consentimento input{width:20px;height:20px;margin-top:2px;accent-color:var(--link);flex-shrink:0}
.navegacao{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid var(--borda)}
.sucesso{text-align:center;padding:24px 8px}
.sucesso .selo-ok{width:72px;height:72px;border-radius:50%;background:var(--ok-claro);color:var(--ok);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.sucesso .selo-ok .ico{width:36px;height:36px}
.protocolo-box{display:inline-flex;align-items:center;gap:12px;font-size:2rem;font-weight:600;letter-spacing:.14em;color:var(--azul);background:var(--azul-claro);border:1px dashed #9fb6dc;border-radius:var(--raio);padding:12px 20px;margin:12px 0 20px}
.protocolo-box button{font-size:.875rem;letter-spacing:0}

/* ── Acompanhamento ── */
.busca-protocolo label{display:block;font-weight:600;margin-bottom:8px}
.prot-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid var(--borda);margin-bottom:18px}
.prot-rotulo{font-size:.8125rem;text-transform:uppercase;letter-spacing:.08em;color:var(--texto-3)}
.prot-numero{font-size:1.875rem;letter-spacing:.12em;margin:0}
.status{display:inline-flex;align-items:center;gap:6px;font-size:.875rem;font-weight:600;padding:6px 14px;border-radius:999px}
.status::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor}
.status-andamento{background:var(--azul-claro);color:var(--link)}
.status-analise{background:var(--aviso-claro);color:var(--aviso)}
.status-finalizada{background:var(--ok-claro);color:var(--ok)}
.status-arquivada{background:var(--fundo);color:var(--texto-2)}
.dados{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:0 0 8px}
.dados div{background:var(--fundo);border-radius:var(--raio);padding:12px 14px}
.dados dt{font-size:.8125rem;color:var(--texto-3)}
.dados dd{margin:2px 0 0;font-weight:600;color:var(--texto)}
.dados dd small{display:block;font-weight:400;color:var(--texto-2);font-size:.875rem}
.titulo-bloco{font-size:1rem;margin:22px 0 8px;color:var(--texto-2);font-weight:600}
.texto-bloco{background:var(--fundo);border:1px solid var(--borda);border-radius:var(--raio);padding:14px 16px;white-space:pre-wrap;word-break:break-word;color:var(--texto)}
.texto-bloco.resposta{background:var(--ok-claro);border-color:#b9dfc5}
.anexos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px}
.anexos a{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--borda);border-radius:var(--raio);text-decoration:none;color:var(--texto);min-width:0}
.anexos a:hover{border-color:var(--link);background:var(--azul-claro)}
.anexos a .ico{color:var(--link)}
.anexos span{flex:1;min-width:0;overflow-wrap:anywhere;line-height:1.35}
.anexos small{color:var(--texto-3);font-size:.8125rem;white-space:nowrap}
.interacao{border-left:4px solid var(--link)}
.interacao h2{font-size:1.25rem;display:flex;align-items:center;gap:10px}
.interacao h2 .ico{color:var(--link)}
.interacao input[type=file]{font:inherit;font-size:.9375rem;padding:10px;border:1.5px dashed var(--borda-forte);border-radius:var(--raio);background:var(--fundo)}
.linha-tempo{list-style:none;margin:16px 0 0;padding:0}
.linha-tempo li{position:relative;padding:0 0 22px 34px}
.linha-tempo li::before{content:'';position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;border:2px solid var(--borda-forte);background:var(--superficie)}
.linha-tempo li:not(:last-child)::after{content:'';position:absolute;left:9px;top:24px;bottom:2px;width:2px;background:var(--borda)}
.linha-tempo li.feito::before{border-color:var(--ok);background:var(--ok);box-shadow:inset 0 0 0 3px var(--superficie)}
.linha-tempo li.atual::before{border-color:var(--link);background:var(--link);box-shadow:0 0 0 4px rgba(19,81,180,.18)}
.linha-tempo strong{display:block;font-weight:600;color:var(--texto)}
.linha-tempo span{display:block;color:var(--texto-2);font-size:.9375rem}
.linha-tempo time{display:block;color:var(--texto-3);font-size:.8125rem;margin-top:4px}
.linha-tempo .texto-bloco{margin-top:8px;font-size:.9375rem}
.nota-sigilo{display:flex;gap:8px;align-items:center;justify-content:center;color:var(--texto-3);font-size:.875rem;margin:20px 0 0}

/* ── Conteúdo institucional ── */
.prosa{max-width:760px}
.prosa p{color:var(--texto-2);font-size:1.0625rem}
.prosa h2{font-size:1.375rem;margin-top:8px}
.grade-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.mini{padding:20px;background:var(--fundo);border-radius:var(--raio)}
.mini .ico{width:28px;height:28px;color:var(--ouro);margin-bottom:8px}
.mini strong{display:block;font-weight:600;color:var(--azul);margin-bottom:4px}
.mini span{color:var(--texto-2);font-size:.9375rem}
.lista-num{list-style:none;margin:0;padding:0;counter-reset:n;display:grid;gap:10px}
.lista-num li{counter-increment:n;display:flex;gap:14px;align-items:flex-start;color:var(--texto-2)}
.lista-num li::before{content:counter(n);flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--azul-claro);color:var(--azul);font-weight:600;font-size:.875rem;display:flex;align-items:center;justify-content:center}
.destaque-legal{border-left:4px solid var(--ouro);background:var(--ouro-claro);padding:16px 18px;border-radius:0 var(--raio) var(--raio) 0;margin-bottom:12px}
.destaque-legal strong{display:block;color:var(--azul);font-weight:600;margin-bottom:4px}
.pessoa{display:grid;grid-template-columns:180px 1fr;gap:24px;align-items:start}
.pessoa img{width:180px;height:220px;object-fit:cover;border-radius:var(--raio-g);box-shadow:var(--sombra)}
.pessoa .cargo{color:var(--texto-3);margin:-4px 0 12px}
.relatorios-ano{margin-top:24px}
.relatorios-ano h3{font-size:1.125rem;padding-bottom:8px;border-bottom:1px solid var(--borda)}

.escolhas.notas{grid-template-columns:repeat(5,1fr)}
.escolhas.notas label{flex-direction:column;align-items:center;text-align:center;gap:2px}
.escolhas.notas strong{font-size:1.5rem}

/* ── Rodapé ── */
.rodape{background:#0a1d36;color:rgba(255,255,255,.72);font-size:.9375rem;margin-top:auto}
.rodape .container{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px;padding-top:48px;padding-bottom:36px}
.rodape h2{color:#fff;font-size:1rem;margin-bottom:14px}
.rodape ul{list-style:none;margin:0;padding:0}
.rodape li{margin-bottom:8px}
.rodape a{color:rgba(255,255,255,.78);text-decoration:none}
.rodape a:hover{color:#fff;text-decoration:underline}
.rodape .marca-rod{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.rodape .marca-rod img{height:48px;width:48px;background:#fff;border-radius:50%;padding:4px;object-fit:contain}
.rodape .marca-rod strong{color:#fff;font-weight:600;font-size:1.125rem;display:block;line-height:1.2}
.rodape .base{border-top:1px solid rgba(255,255,255,.1);padding:16px 0;font-size:.8125rem;color:rgba(255,255,255,.55)}
.rodape .base .container{display:flex;justify-content:space-between;gap:12px;padding-top:0;padding-bottom:0;flex-wrap:wrap}

/* WhatsApp flutuante */
.wa-flutuante{position:fixed;right:20px;bottom:20px;z-index:90;width:56px;height:56px;border-radius:50%;background:var(--wa);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 18px rgba(31,168,85,.45);transition:transform .15s}
.wa-flutuante:hover{transform:scale(1.07);color:#fff}
.wa-flutuante svg{width:28px;height:28px;fill:currentColor}

/* Carregando */
.carregando{position:fixed;inset:0;background:rgba(10,29,54,.55);z-index:500;display:flex;align-items:center;justify-content:center}
.carregando .caixa{background:var(--superficie);border-radius:var(--raio-g);padding:32px 36px;text-align:center;max-width:320px;box-shadow:var(--sombra-g)}
.giro{width:44px;height:44px;border:4px solid var(--borda);border-top-color:var(--link);border-radius:50%;animation:giro .8s linear infinite;margin:0 auto 14px}
@keyframes giro{to{transform:rotate(360deg)}}

/* ── Alto contraste ── */
body.contraste{--azul:#fff;--azul-2:#000;--azul-claro:#1a1a1a;--ouro:#ffeb3b;--link:#ffeb3b;--link-hover:#fff176;--texto:#fff;--texto-2:#f0f0f0;--texto-3:#d8d8d8;--fundo:#000;--superficie:#000;--borda:#fff;--borda-forte:#fff;--ok:#7CFC00;--ok-claro:#000;--erro:#ff6b6b;--erro-claro:#000;--aviso-claro:#000;--foco:#00e5ff}
body.contraste .hero,body.contraste .barra-acess,body.contraste .rodape{background:#000;border-bottom:1px solid #fff}
body.contraste .topo::after{background:#fff}
body.contraste .btn-pri,body.contraste .btn-ouro{background:#ffeb3b;color:#000}
body.contraste .btn-sec,body.contraste .btn-claro{background:#000;color:#ffeb3b;border-color:#ffeb3b}
body.contraste a{text-decoration:underline}
body.contraste .marca img,body.contraste .rodape .marca-rod img{filter:grayscale(1) brightness(2)}
body.contraste .tipo .icone,body.contraste .canal .icone{background:#000!important;color:#ffeb3b!important;border:1px solid #fff}

/* ── Responsivo ── */
@media (max-width:1024px){
  .menu{position:fixed;inset:115px 0 auto 0;background:var(--superficie);flex-direction:column;align-items:stretch;padding:12px 16px 20px;border-bottom:1px solid var(--borda);box-shadow:var(--sombra);display:none}
  .menu.aberto{display:flex}
  .menu a{padding:12px}
  .menu .btn{margin:8px 0 0}
  .btn-menu{display:inline-flex}
  .hero .container{grid-template-columns:1fr;gap:32px}
  .tipos{grid-template-columns:1fr 1fr}
  .passos{grid-template-columns:1fr 1fr}
  .passo:nth-child(2)::after{display:none}
  .rodape .container{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .barra-acess .atalhos{display:none}
  .barra-acess .container{justify-content:flex-end}
  .topo .container{min-height:64px}
  .marca img{height:40px}
  .marca .nome{font-size:1.125rem}
  .marca .orgao{font-size:.75rem}
  .menu{inset:103px 0 auto 0}
  .hero{padding:36px 0 56px}
  .numeros .grade{grid-template-columns:1fr 1fr}
  .numero{border-bottom:1px solid var(--borda)}
  .numero:nth-child(2n){border-right:none}
  .numeros .grade.g3{grid-template-columns:1fr}
  .numeros .grade.g3 .numero{border-right:none}
  .tipos,.passos,.duas,.campos,.escolhas,.escolhas.duas-col{grid-template-columns:1fr}
  .passo:not(:last-child)::after{display:none}
  .secao{padding:44px 0}
  .cartao,.painel{padding:20px}
  .etapas li span{display:none}
  .etapas li.atual span{display:inline}
  .revisao{grid-template-columns:1fr}
  .revisao dt{border-bottom:none;padding-bottom:2px}
  .rodape .container{grid-template-columns:1fr}
  .grade-3{grid-template-columns:1fr}
  .pessoa{grid-template-columns:1fr}
  .prot-numero{font-size:1.5rem}
  .protocolo-box{font-size:1.5rem;flex-direction:column;gap:6px}
  .campo-busca{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
