:root{
  --azul:#1351b4; --azul-escuro:#0c326f; --verde:#168821; --verde-claro:#e7f4e8;
  --amarelo:#c98b00; --amarelo-claro:#fff6dc; --vermelho:#c0392b; --vermelho-claro:#fbeae8; --azul-claro:#eaf0fa;
  --fundo:#f3f6fb; --superficie:#ffffff; --linha:#d5ddea;
  --texto:#1f2933; --texto2:#4b5563; --mudo:#4b5563; --foco:#c05a00;
  --n1:#168821; --n2:#e6a800; --n3:#e86a10; --n4:#c4161c; --semdado:#9aa3af;
  --barra:#1351b4; --barra-fundo:#eaf0fa; --aviso-bg:#fff6dc; --aviso-tx:#6b4a00;
  --e0:#d5d9df; --e1:#e3ebf8; --e2:#b4c9ee; --e3:#7ca1e0; --e4:#3f6fc4; --e5:#0c326f;
  --c1:#1351b4; --c2:#168821; --c3:#c98b00; --c4:#9aa3af; --sombra:0 6px 18px rgba(12,50,111,.12);
  color-scheme:light;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fundo);color:var(--texto);font:16px/1.6 Arial,"Helvetica Neue",Helvetica,sans-serif}
.miolo{max-width:1120px;margin:0 auto;padding:0 20px}
a{color:var(--azul)}
:focus-visible{outline:3px solid var(--foco);outline-offset:2px}
.pular{position:absolute;left:-999px;top:0;background:var(--azul);color:#fff;padding:8px 12px;z-index:10}
.pular:focus{left:8px;top:8px}
.filtros{background:var(--superficie);border-bottom:1px solid var(--linha);position:static;z-index:5}
@media (min-width:760px){.filtros{position:sticky;top:0}}
.filtros-linha{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:end;padding-top:12px;padding-bottom:12px}
.filtros label{display:flex;flex-direction:column;font-size:.8rem;color:var(--texto2);gap:4px;min-width:150px;flex:1 1 150px;max-width:300px}
select{font:inherit;padding:9px 10px;border:1px solid var(--linha);border-radius:6px;background:var(--superficie);color:var(--texto);min-height:44px}
.selo{margin:0;font-size:.8rem;color:var(--mudo);flex:2 1 220px}
h2{font-size:1.25rem;margin:0 0 6px;color:var(--azul-escuro)}

h3{font-size:1rem;margin:20px 0 8px}
section{margin:28px 0}
.bloco{background:var(--superficie);border:1px solid var(--linha);border-radius:10px;padding:18px 16px}
.fonte{margin:0 0 14px;font-size:.82rem;color:var(--mudo)}
.aviso{background:var(--aviso-bg);color:var(--aviso-tx);border-radius:8px;padding:10px 12px;font-size:.9rem;margin:8px 0}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.kpi{background:var(--superficie);border:1px solid var(--linha);border-radius:10px;padding:12px 14px}
.kpi .rot{font-size:.78rem;color:var(--texto2)}
.kpi .val{font-size:1.5rem;font-weight:700;line-height:1.25;color:var(--azul-escuro)}
.kpi .nota{font-size:.75rem;color:var(--mudo)}

.grade2{display:grid;grid-template-columns:1fr;gap:20px}
@media (min-width:860px){.grade2{grid-template-columns:1fr 1fr}}
.rank{list-style:none;margin:0;padding:0}
.rank li{display:grid;grid-template-columns:minmax(80px,38%) 1fr auto;gap:8px;align-items:center;padding:4px 0;font-size:.9rem}
.rank .nome{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rank .trilho{background:var(--barra-fundo);height:14px;border-radius:0 4px 4px 0}
.rank .barra{display:block;height:100%;width:0;background:var(--barra);border-radius:0 4px 4px 0;min-width:2px;transition:width 1s cubic-bezier(.2,.8,.2,1)}
.rank.vis .barra{width:var(--w)}
.rank .num{font-variant-numeric:tabular-nums;color:var(--texto2);font-size:.85rem}
.pilha{display:flex;height:26px;border-radius:4px;overflow:hidden;gap:2px;background:var(--superficie)}
.pilha span{display:block;height:100%;min-width:0}
.legenda{display:flex;flex-wrap:wrap;gap:6px 16px;list-style:none;margin:10px 0 0;padding:0;font-size:.85rem}
.legenda li{display:flex;align-items:center;gap:6px}
.legenda i{width:12px;height:12px;border-radius:3px;display:inline-block}
.n1{background:var(--n1)}.n2{background:var(--n2)}.n3{background:var(--n3)}.n4{background:var(--n4)}.n0{background:var(--semdado)}
table{border-collapse:collapse;width:100%;font-size:.88rem}
th,td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--linha);vertical-align:top}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}
.tabela-rolavel{overflow-x:auto}
details{margin-top:10px}
summary{cursor:pointer;color:var(--azul);font-size:.9rem;min-height:32px;padding:4px 0}
.cartao-mun{border:1px solid var(--linha);border-radius:10px;padding:14px;margin-top:14px;background:var(--fundo)}
.cartao-mun h3{margin-top:0}
.selonivel{display:inline-flex;align-items:center;gap:6px;font-weight:600;padding:3px 10px;border-radius:999px;color:#fff;font-size:.85rem}
.selonivel.n2{color:#1f2933}
.spark{display:block;margin-top:6px}
.lista-notas{list-style:none;margin:0;padding:0}
.lista-notas li{padding:10px 0;border-bottom:1px solid var(--linha)}
.lista-notas .meta{font-size:.78rem;color:var(--mudo)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.chip{border:1px solid var(--linha);background:var(--superficie);color:var(--texto);border-radius:999px;padding:6px 12px;font:inherit;font-size:.85rem;cursor:pointer;min-height:36px}
.chip[aria-pressed="true"]{background:var(--azul);border-color:var(--azul);color:#fff}

.botao{font:inherit;border:1px solid var(--azul);background:transparent;color:var(--azul);border-radius:6px;padding:8px 14px;cursor:pointer;min-height:40px}
.metodo{margin:0;padding-left:20px}
.indisponivel{color:var(--mudo);font-style:italic}

.sem-js{background:var(--aviso-bg);color:var(--aviso-tx);padding:12px 16px;margin:16px;border-radius:8px}

/* ---------- v4: icones, cards, graficos, mapa, jornada e animacoes ---------- */
.icone{flex:none;vertical-align:-4px}
h2 .ico{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-right:10px;border-radius:10px;background:var(--barra-fundo);color:var(--azul);vertical-align:middle}
h2 .ico .icone{vertical-align:0}
.filtros-acoes{display:flex;flex-wrap:wrap;gap:8px}
.botao-icone{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-size:.9rem;transition:background .2s,color .2s,transform .2s}
.botao-icone:hover{background:var(--azul);color:#fff;transform:translateY(-1px)}

.botao-icone[disabled]{opacity:.6;cursor:progress}
.botao-link{background:none;border:0;color:var(--azul);text-decoration:underline;cursor:pointer;font:inherit;font-size:.85rem;min-height:36px}
.geo-status{flex-basis:100%}
.geo-status:empty{display:none}
.bloco{scroll-margin-top:96px}
.kpi{position:relative;transition:transform .2s,box-shadow .2s,border-color .2s}
.kpi-topo{display:flex;gap:10px;align-items:flex-start;margin-bottom:4px}
.kpi .ic{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--barra-fundo);color:var(--azul);flex:none}
.kpi .rot{padding-top:2px;line-height:1.3}
.kpi.vis:hover{transform:translateY(-3px);box-shadow:var(--sombra);border-color:var(--azul)}
.kpis{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.kpi-grande{font-size:1.8rem;font-weight:700;margin:4px 0;color:var(--azul-escuro)}

/* entrada */
.rev{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.rev.vis{opacity:1;transform:none}
.kpis .kpi:nth-child(2){transition-delay:.06s}.kpis .kpi:nth-child(3){transition-delay:.12s}.kpis .kpi:nth-child(4){transition-delay:.18s}.kpis .kpi:nth-child(5){transition-delay:.24s}.kpis .kpi:nth-child(6){transition-delay:.3s}.kpis .kpi:nth-child(7){transition-delay:.36s}
.rank.rev{transform:none}
.rank li{transition:background .15s}
.rank li:hover{background:var(--barra-fundo);border-radius:6px}
/* rosca e comparativo */
.rosca-caixa{display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px;margin:8px 0}
.rosca{width:150px;height:150px;flex:none}
.rosca circle{fill:none;stroke-width:6}
.rosca-fundo{stroke:var(--barra-fundo)}
.rosca-fatia{stroke-dasharray:0 100;transition:stroke-dasharray 1.1s cubic-bezier(.2,.8,.2,1)}
.rev.vis .rosca-fatia{stroke-dasharray:var(--p) var(--q)}
.rosca-fatia.c1{stroke:var(--c1)}.rosca-fatia.c2{stroke:var(--c2)}.rosca-fatia.c3{stroke:var(--c3)}.rosca-fatia.c4{stroke:var(--c4)}
.rosca-centro{font-size:6px;font-weight:700;fill:var(--texto)}
.legenda-v{flex-direction:column;gap:6px}
.cc1{background:var(--c1)}.cc2{background:var(--c2)}.cc3{background:var(--c3)}.cc4{background:var(--c4)}
.comp{margin:10px 0 18px}
.comp-trilho{position:relative;height:18px;background:var(--barra-fundo);border-radius:9px}
.comp-barra{display:block;height:100%;width:0;background:var(--barra);border-radius:9px;transition:width 1s cubic-bezier(.2,.8,.2,1)}
.comp.vis .comp-barra{width:var(--w)}
.comp-marca{position:absolute;top:-5px;width:3px;height:28px;background:var(--texto);border-radius:2px}
.comp-leg{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;font-size:.82rem;color:var(--texto2);margin-top:8px}
/* mapa */
.camadas .chip{display:inline-flex;align-items:center;gap:6px}
.mapa-titulo{margin:6px 0 10px}
.mapa-grade{display:grid;grid-template-columns:1fr;gap:18px}
@media (min-width:900px){.mapa-grade{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}}
.mapa-caixa{position:relative;background:var(--fundo);border:1px solid var(--linha);border-radius:12px;padding:8px;min-height:260px;display:flex;align-items:center;justify-content:center}
.mapa-svg{width:100%;height:auto;max-height:620px;display:block}
.mapa-svg .area{stroke:var(--superficie);stroke-width:.8;cursor:pointer;transition:fill .5s,stroke .2s,filter .2s;animation:surge .5s both;animation-delay:calc(var(--i) * 18ms);outline:none}
@keyframes surge{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
.area.e0{fill:var(--e0)}.area.e1{fill:var(--e1)}.area.e2{fill:var(--e2)}.area.e3{fill:var(--e3)}.area.e4{fill:var(--e4)}.area.e5{fill:var(--e5)}
.mapa-svg .area:hover,.mapa-svg .area:focus-visible{stroke:var(--foco);stroke-width:2;filter:brightness(1.08)}
.mapa-svg .area.sel{stroke:var(--foco);stroke-width:2.4}
.pino{fill:var(--foco);stroke:#fff;stroke-width:1.2}
.pino-onda{fill:none;stroke:var(--foco);stroke-width:1.4;transform-box:fill-box;transform-origin:center;animation:onda 1.8s ease-out infinite}
@keyframes onda{from{transform:scale(1);opacity:.9}to{transform:scale(4.2);opacity:0}}
.dica{position:absolute;transform:translate(-50%,-100%);background:var(--texto);color:var(--superficie);padding:6px 10px;border-radius:8px;font-size:.82rem;pointer-events:none;white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis;z-index:3}
.escala{display:flex;flex-wrap:wrap;gap:6px 14px;list-style:none;margin:0 0 12px;padding:0;font-size:.8rem}
.escala li{display:flex;align-items:center;gap:6px}
.escala i{width:18px;height:12px;border-radius:3px;display:inline-block;border:1px solid var(--linha)}
.escala i.e0{background:var(--e0)}.escala i.e1{background:var(--e1)}.escala i.e2{background:var(--e2)}.escala i.e3{background:var(--e3)}.escala i.e4{background:var(--e4)}.escala i.e5{background:var(--e5)}
.mapa-lado h3:first-of-type{margin-top:12px}
/* jornada */
body{padding-bottom:84px}
.jornada{position:fixed;left:12px;right:12px;bottom:12px;z-index:20;max-width:560px;margin:0 auto}
.j-barra{display:flex;align-items:center;gap:12px;width:100%;background:var(--azul-escuro);color:#fff;border:0;border-radius:14px;padding:8px 14px;cursor:pointer;box-shadow:var(--sombra);font:inherit;text-align:left;min-height:56px;transition:transform .2s}
.j-barra:hover{transform:translateY(-2px)}
.j-barra.completo{background:var(--verde)}
.j-resumo{display:flex;flex-direction:column;flex:1;min-width:0}
.j-resumo small{opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.j-anel{width:40px;height:40px;flex:none}
.j-anel circle{fill:none;stroke-width:4}
.j-anel-fundo{stroke:rgba(255,255,255,.25)}
.j-anel-valor{stroke:#7be08a;stroke-linecap:round;transition:stroke-dasharray .8s}
.j-painel{background:var(--superficie);border:1px solid var(--linha);border-radius:14px;box-shadow:var(--sombra);margin-bottom:8px;padding:14px;max-height:62vh;overflow:auto}
.j-topo{display:flex;justify-content:space-between;align-items:center}
.j-topo h2{margin:0;font-size:1.05rem}
.j-fechar{background:none;border:0;color:var(--texto2);cursor:pointer;width:36px;height:36px;border-radius:50%}
.j-lista{list-style:none;margin:8px 0;padding:0}
.j-ir{display:flex;gap:10px;align-items:flex-start;width:100%;background:none;border:0;border-bottom:1px solid var(--linha);padding:9px 2px;cursor:pointer;font:inherit;text-align:left;color:var(--texto)}
.j-ir:hover .j-txt strong{text-decoration:underline}
.j-ico{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--barra-fundo);color:var(--azul);flex:none}
.j-item.ok .j-ico{background:var(--verde);color:#fff}
.j-txt{display:flex;flex-direction:column;gap:2px}
.j-txt small{color:var(--texto2);font-size:.8rem;line-height:1.35}
.j-acoes{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.toast{position:fixed;left:50%;bottom:86px;transform:translate(-50%,16px);background:var(--texto);color:var(--superficie);padding:10px 16px;border-radius:10px;font-size:.88rem;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;z-index:30;max-width:min(92vw,520px);text-align:center}
.toast.on{opacity:1;transform:translate(-50%,0)}
.proxima{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin-top:16px;padding-top:14px;border-top:1px dashed var(--linha)}
.proxima .fonte{margin:0}
.fim{border-color:var(--verde);border-width:2px}
.fim h2{display:flex;align-items:center;gap:10px}
.fim .icone{color:var(--verde);animation:pulsa 1.6s ease-in-out 3}
@keyframes pulsa{50%{transform:scale(1.25)}}
.fim-lista{padding-left:20px}
.fim-lista li{margin:6px 0}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rev{opacity:1!important;transform:none!important}
  }
@media print{.rev{opacity:1!important;transform:none!important}.jornada,.toast{display:none}}


/* ---------- padrao visual do partelli.pro (cabecalho, hero, cards, rodape) ---------- */
html{scroll-padding-top:76px}
h1,h2,h3{font-family:inherit}
.topbar{position:sticky;top:0;background:#0c326f;z-index:50}
.topbar-in{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px}
.brand{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:700;font-size:18px;text-decoration:none}
.brand .flag{flex:none;border-radius:3px;box-shadow:0 0 0 1px rgba(255,255,255,.55)}
.brand span{margin-left:4px}
.nav{display:flex;gap:4px;align-items:center}
.nav a{color:#fff;text-decoration:none;padding:8px 12px;border-radius:6px;font-size:15px}
.nav a:hover{background:rgba(255,255,255,.14)}
.nav .nav-hl{background:#fff;color:#0c326f;font-weight:700;display:inline-flex;align-items:center;gap:8px}
.nav .nav-hl:hover{background:#eaf0fa}
.nav .nav-hl em{font-style:normal;font-size:11px;background:#168821;color:#fff;border-radius:99px;padding:2px 8px}
.nav .nav-cta{background:#168821;font-weight:700}
.nav .nav-cta:hover{background:#127019}
.nav-reuniao{display:inline-flex;align-items:center;padding:8px 3px!important;margin:0 -2px}
.nav-reuniao .nr-t{display:none}
.menu-btn{display:none;background:transparent;border:1px solid #fff;color:#fff;padding:8px 14px;border-radius:6px;font:inherit;font-size:15px;cursor:pointer;min-height:40px}
@media (max-width:960px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:#0c326f;flex-direction:column;align-items:stretch;padding:8px 20px 14px;gap:2px;border-top:1px solid rgba(255,255,255,.18);box-shadow:0 10px 20px rgba(0,0,0,.2)}
  .nav.aberto{display:flex}
  .nav a{padding:12px}
  .nav .nav-reuniao{margin:0;padding:12px!important}
  .nav-reuniao .nr-t{display:inline;margin-left:8px}
}
.topbar a:focus-visible,.topbar button:focus-visible,.topo a:focus-visible,.rodape a:focus-visible{outline-color:#fff}
.topo{background:linear-gradient(135deg,#0c326f 0%,#0f3f8c 100%);color:#fff;padding:48px 0 40px}
.crumb{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 20px;font-size:14px;margin:0 0 14px;color:#cfe0fa}
.crumb p{margin:0}
.atualiza{font-size:13px;color:#cfe0fa;white-space:nowrap}
.crumb a{color:#fff}
.topo h1{font-size:clamp(28px,4.2vw,44px);line-height:1.15;margin:0 0 12px}
.topo .lead{margin:0;max-width:78ch;font-size:17px;opacity:1;color:#fff}
.topo .convite{margin:16px 0 0;display:inline-flex;gap:8px;align-items:center;font-size:14px;color:#cfe0fa}
h2{font-size:22px;line-height:1.25;color:#0c326f}
.kpi{border-top:4px solid #1351b4;border-radius:10px;padding:14px 16px}
.kpis .kpi:nth-child(4n+2){border-top-color:#168821}
.kpis .kpi:nth-child(4n+3){border-top-color:#c98b00}
.kpis .kpi:nth-child(4n+4){border-top-color:#c0392b}
.kpi .rot{font-size:12.5px;color:#4b5563}
.kpi .val{font-size:24px;color:#1f2933}
.kpi .nota{font-size:12.5px}
.kpi-grande{color:#1f2933}
.kpi.vis:hover{border-color:var(--linha)}
.chip{border:1px solid #1351b4;color:#0c326f;font-weight:700;font-size:13.5px;background:#fff}
.chip[aria-pressed="true"]{background:#1351b4;color:#fff}
.botao{border:1px solid #1351b4;background:#fff;color:#1351b4;border-radius:8px;font-weight:700}
.botao-icone:hover{background:#1351b4;color:#fff}
th{background:#eaf0fa;color:#0c326f}
select{border:2px solid #1351b4;border-radius:8px;font-weight:700}
.filtros{box-shadow:0 2px 6px rgba(12,50,111,.08)}
@media (min-width:760px){.filtros{top:60px}}
.filtros label{font-weight:700;color:#0c326f;font-size:14px}
.bloco{scroll-margin-top:76px}
@media (min-width:760px){.bloco{scroll-margin-top:170px}}
.cta-box{margin-top:34px;background:#0c326f;color:#fff;border-radius:12px;padding:22px}
.cta-box h2{margin:0 0 6px;font-size:19px;color:#fff}
.cta-box p{margin:0 0 14px;color:#e6eefb}
.cta-box a{display:inline-block;background:#168821;color:#fff;font-weight:700;text-decoration:none;padding:11px 20px;border-radius:8px}
.cta-box a:hover{background:#127019}
.rodape{background:#08234f;color:#d5e0f5;padding:32px 0 100px;font-size:14px;margin-top:30px;border-top:0}
.rodape a{color:#fff}
.rodape p{margin:6px 0}
.rodape .fontes{font-size:12px;color:#b8c7e4;max-width:100ch}
.rodape .lgpd{font-size:12px;color:#b8c7e4;max-width:90ch}
.rodape .copy{font-size:12px}
@media (min-width:961px){.nav{flex:1;margin-left:16px}.nav .nav-hl{margin-right:auto}}
.filtros label{min-width:200px}
.rotulo-bloco{font-weight:700;color:var(--azul-escuro);margin:14px 0 6px;font-size:.95rem}
.ficha-atalhos{margin:12px 0 0;font-size:.92rem}
.ficha-atalhos a{color:var(--azul);font-weight:700}
#mod-ficha[hidden]{display:none}
h4{margin:14px 0 6px;font-size:.95rem;color:var(--azul-escuro)}
