/* Guia da Transparência · As promessas do presidente eleito (#/promessas). Tokens --n-* do tema da eleição (claro e escuro).
   Gavetas = <details> por eixo; dentro, o checklist (cada item também abre). Movimento só em CSS, desligado com movimento reduzido. */

.pm{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin-top:6px;--pm-cinza:var(--n-trilho)}
.pm>*,.pm-bloco>*{min-width:0}
.pm-k,.pm-k2{margin:0;font:600 .74rem/1.4 var(--n-mono);letter-spacing:.07em;text-transform:uppercase}
.pm-k{color:#FFCD07}
.pm-k2{color:var(--n-caneta)}

/* ---------- topo ---------- */
.pm-topo{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px;align-items:center;padding:40px;border-radius:18px;
  background:radial-gradient(110% 120% at 90% 0%,#13306A 0%,#071D41 60%,#040F24 100%);color:#fff;isolation:isolate}
.pm-topo::after{content:"";position:absolute;inset:auto 0 0 0;height:4px;background:linear-gradient(90deg,#168821 0 33%,#FFCD07 33% 66%,#1351B4 66%);transform-origin:left;animation:pm-risca 1.4s .2s cubic-bezier(.2,.7,.2,1) both}
.pm-topo h1{margin:10px 0 12px;font:800 clamp(1.8rem,4vw,3rem)/1.08 var(--n-serif);color:#fff;animation:pm-sobe .6s .1s both}
.pm-lead{margin:0;max-width:62ch;color:#DBE8FB;line-height:1.6;animation:pm-sobe .6s .2s both}
.pm-lead b{color:#FFCD07}
.pm-topo-acoes{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;animation:pm-sobe .6s .3s both}
.pm-topo .btn-secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.pm-placar{position:relative;display:grid;justify-items:center;gap:10px;animation:pm-surge .9s .25s cubic-bezier(.2,.8,.2,1.1) both}
.pm-placar svg{width:min(240px,62vw);transform:rotate(-90deg)}
.pm-anel-f{fill:none;stroke:rgba(255,255,255,.12);stroke-width:12}
.pm-anel{fill:none;stroke:#FFCD07;stroke-width:12;stroke-linecap:round;stroke-dasharray:var(--c);stroke-dashoffset:var(--v);animation:pm-anel 1.6s .4s cubic-bezier(.2,.7,.2,1) both}
.pm-placar-n{position:absolute;top:0;left:50%;width:min(240px,62vw);aspect-ratio:1;transform:translateX(-50%);display:grid;place-content:center;text-align:center}
.pm-placar-n b{font:900 3.4rem/1 var(--n-display);color:#fff}
.pm-placar-n span{font:600 1rem/1.2 var(--n-ui);color:#DBE8FB}
.pm-anel-parte{stroke:rgba(255,205,7,.38)}
.pm-placar-leg{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;color:#C5D4EB;font-size:.88rem}
.pm-placar-leg i{width:22px;height:8px;border-radius:4px;background:rgba(255,205,7,.38);flex:none}
.pm-placar-leg b{display:inline;color:#fff;font-size:inherit}
.pm-placar-n small{color:#C5D4EB;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}
.pm-placar-dias{margin:0;color:#DBE8FB;font-size:.92rem;text-align:center}
.pm-placar-dias b{color:#FFCD07;font-family:var(--n-display);font-size:1.3rem}

/* ---------- blocos ---------- */
.pm-bloco{background:var(--n-folha);border:1px solid var(--n-linha);border-radius:16px;padding:24px 26px;box-shadow:var(--n-sombra)}
.pm-bloco h2{margin:4px 0 14px;font:700 clamp(1.15rem,2vw,1.45rem)/1.25 var(--n-serif);color:var(--n-tinta)}
.pm-regra{font-size:.86rem;margin:12px 0 0}
.pm-faixa{display:flex;height:18px;margin-top:12px;border-radius:999px;overflow:hidden;background:var(--n-vazio)}
.pm-faixa i{width:var(--w);background:var(--c);transform-origin:left;animation:pm-cresce 1.2s .3s cubic-bezier(.2,.7,.2,1) both}
.pm-legenda{display:flex;flex-wrap:wrap;gap:6px 8px;margin:12px 0 0;padding:0;list-style:none}
.pm-legenda button,.pm-tipos button{all:unset;cursor:pointer;box-sizing:border-box}
.pm-legenda button{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid var(--n-linha);color:var(--n-tinta2);font-size:.86rem}
.pm-legenda button:hover,.pm-legenda button:focus-visible{border-color:var(--c);color:var(--n-tinta)}
.pm-legenda i{width:10px;height:10px;border-radius:3px;background:var(--c)}
.pm-legenda b{color:var(--n-tinta)}
.pm-dois{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px}
.pm-eixos{margin:0;padding:0;list-style:none;display:grid;gap:4px}
.pm-eixos a{display:grid;grid-template-columns:minmax(0,1fr) 34%;grid-template-rows:auto auto;column-gap:10px;padding:6px 8px;border-radius:8px;text-decoration:none;color:var(--n-tinta)}
.pm-eixos a:hover,.pm-eixos a:focus-visible{background:var(--n-realce)}
.pm-eixos span{font-size:.88rem;line-height:1.3;grid-row:1/3;align-self:center}
.pm-eixos i{display:block;height:8px;width:var(--w);border-radius:999px;background:var(--n-caneta);align-self:end;transform-origin:left;animation:pm-cresce 1s .2s both}
.pm-eixos b{font:700 .82rem/1 var(--n-mono);color:var(--n-tinta2);align-self:start;margin-top:3px}
.pm-tipos{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.pm-tipos button{display:grid;gap:2px;width:100%;padding:12px;border-radius:12px;background:var(--n-folha2);border:1px solid transparent}
.pm-tipos button:hover,.pm-tipos button:focus-visible{border-color:var(--n-caneta)}
.pm-tipos b{font:800 1.6rem/1 var(--n-display);color:var(--n-tinta)}
.pm-tipos span{font-weight:600;color:var(--n-tinta);font-size:.9rem}
.pm-tipos small{color:var(--n-tinta2);font-size:.78rem}

/* ---------- filtros ---------- */
.pm-filtros{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:end;margin-bottom:16px}
.pm-filtros label{display:grid;gap:4px;font-size:.8rem;color:var(--n-tinta2)}
.pm-filtros select,.pm-busca input{font:inherit;font-size:.95rem;padding:9px 12px;border-radius:10px;border:1px solid var(--n-linha);background:var(--n-folha);color:var(--n-tinta)}
.pm-busca{flex:1 1 280px;position:relative}
.pm-busca .ico{position:absolute;left:12px;bottom:11px;width:18px;height:18px;color:var(--n-tinta2)}
.pm-busca input{width:100%;padding-left:38px;box-sizing:border-box}
.pm-filtros .pm-cx{display:flex;align-items:center;gap:6px;font-size:.88rem;color:var(--n-tinta);padding-bottom:10px}
.pm-filtros-fim{display:flex;gap:8px;margin-left:auto;padding-bottom:2px}
.pm-achou{width:100%;margin:0;font-size:.86rem;color:var(--n-tinta2);min-height:1.2em}

/* ---------- gavetas ---------- */
.pm-gavetas{display:grid;gap:10px}
.pm-gaveta{border:1px solid var(--n-linha);border-radius:14px;background:var(--n-folha);overflow:hidden;transition:box-shadow .25s,border-color .25s}
.pm-gaveta[open]{border-color:var(--n-caneta);box-shadow:0 10px 28px rgba(7,29,65,.12)}
.pm-gaveta>summary{display:grid;grid-template-columns:44px minmax(0,1fr) 120px 28px;gap:14px;align-items:center;padding:14px 16px;cursor:pointer;list-style:none;
  background:linear-gradient(180deg,var(--n-folha),var(--n-folha2));position:relative}
.pm-gaveta>summary::-webkit-details-marker{display:none}
.pm-gaveta>summary::after{content:"";position:absolute;left:50%;bottom:6px;width:46px;height:4px;border-radius:999px;background:var(--n-linha);transform:translateX(-50%)}
.pm-gaveta>summary:hover{background:var(--n-realce)}
.pm-gaveta>summary:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}
.pm-g-n{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--n-caneta);color:var(--n-tinta-caneta);font:800 1.15rem/1 var(--n-display)}
.pm-g-t b{display:block;color:var(--n-tinta);font-size:1rem;line-height:1.3}
.pm-g-t small{color:var(--n-tinta2);font-size:.8rem}
.pm-g-barra{height:8px;border-radius:999px;background:var(--n-vazio);overflow:hidden}
.pm-g-barra i{display:block;height:100%;background:#168821}
.pm-g-seta .ico{display:block;width:22px;height:22px;color:var(--n-tinta2);transform:rotate(90deg);transition:transform .3s}
.pm-gaveta[open] .pm-g-seta .ico{transform:rotate(-90deg)}
.pm-g-corpo{padding:6px 16px 18px;animation:pm-gaveta .35s cubic-bezier(.2,.7,.2,1) both}
.pm-sub{margin:16px 0 6px;font:600 .74rem/1.4 var(--n-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--n-caneta)}
.pm-lista{margin:0;padding:0;list-style:none;display:grid;gap:2px}

/* ---------- item do checklist ---------- */
.pm-item{border-radius:10px}
.pm-item.pm-alvo{box-shadow:0 0 0 2px var(--n-amarelo)}
.pm-item-d>summary{display:grid;grid-template-columns:30px minmax(0,1fr) 22px;gap:12px;align-items:start;padding:10px 8px;border-radius:10px;cursor:pointer;list-style:none}
.pm-item-d>summary::-webkit-details-marker{display:none}
.pm-item-d>summary:hover{background:var(--n-realce)}
.pm-item-d>summary:focus-visible{outline:3px solid var(--focus);outline-offset:-2px}
.pm-check{display:grid;place-items:center;width:26px;height:26px;margin-top:1px;border-radius:8px;border:2px solid var(--st);color:var(--st)}
.pm-item[data-status="cumprida"] .pm-check{background:var(--st);color:#fff}
.pm-check .ico{width:15px;height:15px}
.pm-item-t b{display:block;font-weight:600;color:var(--n-tinta);line-height:1.4;font-size:.96rem}
.pm-item-t small{color:var(--n-tinta2);font-size:.78rem}
.pm-st{color:var(--st);font-weight:700}
.pm-meta{color:var(--n-caneta);font-weight:600}
.pm-abre .ico{width:18px;height:18px;color:var(--n-tinta2);transition:transform .25s;margin-top:4px}
.pm-item-d[open] .pm-abre .ico{transform:rotate(45deg)}
.pm-item-c{margin:0 8px 12px 50px;animation:pm-gaveta .3s both}
.pm-cita{margin:0;padding:12px 14px;border-left:4px solid var(--n-caneta);background:var(--n-folha2);border-radius:0 10px 10px 0;color:var(--n-tinta);font:400 1rem/1.6 var(--n-serif)}
.pm-cita cite{display:block;margin-top:8px;font:500 .8rem/1.4 var(--n-ui);font-style:normal;color:var(--n-tinta2)}
.pm-cita cite a{color:var(--n-caneta)}
.pm-cita cite .ico{width:12px;height:12px;vertical-align:-1px}
.pm-ev{margin-top:12px}
.pm-ev-tit{margin:0 0 4px;font:600 .72rem/1.4 var(--n-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--n-tinta2)}
.pm-ev p,.pm-ev li{font-size:.88rem;margin:0}
.pm-ev ul{margin:0;padding-left:18px}
.pm-ev li span{display:block;color:var(--n-tinta2)}
.pm-nota{margin-top:6px!important;color:var(--n-tinta)}
.pm-item-acoes{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}
.pm-item-acoes [aria-pressed="true"]{background:var(--n-caneta);color:var(--n-tinta-caneta);border-color:var(--n-caneta)}
.pm-id{margin-left:auto;font:500 .74rem/1 var(--n-mono);color:var(--n-tinta2)}

/* ---------- selo "já prometido em 2022" (mandato 2027-2030) ---------- */
.pm-ja-selo{color:var(--n-tinta);font-weight:600;white-space:nowrap}
.pm-ja-selo::before{content:"";display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:var(--n-caneta);vertical-align:1px}
.pm-ja{margin-top:12px;padding:12px 14px;border:1px solid var(--n-linha);border-left:4px solid var(--st22,var(--n-trilho));border-radius:0 10px 10px 0;background:var(--n-folha)}
.pm-ja .pm-ev-tit{display:flex;align-items:center;gap:6px}
.pm-ja .pm-ev-tit .ico{width:14px;height:14px}
.pm-ja p{margin:0;font-size:.9rem;color:var(--n-tinta);line-height:1.5}
.pm-ja-st{margin-top:6px!important}
.pm-ja-st b{display:inline-flex;align-items:center;gap:5px;padding:2px 10px 2px 8px;border-radius:999px;border:1.5px solid var(--st22,var(--n-trilho));color:var(--n-tinta);font-weight:700}
.pm-ja-st b .ico{width:14px;height:14px;color:var(--st22,var(--n-tinta2))}
.pm-ja-a{display:inline-block;padding:12px 0 10px;line-height:1.4;color:var(--n-caneta);font-weight:600;font-size:.9rem}
.pm-ja-a .ico{width:14px;height:14px;margin-left:4px;vertical-align:-2px}
.pm-ja-resumo{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:14px;padding-top:14px;border-top:1px solid var(--n-linha)}
.pm-ja-resumo p{display:flex;gap:8px;align-items:flex-start;flex:1 1 320px;margin:0;font-size:.92rem;color:var(--n-tinta);line-height:1.5}
.pm-ja-resumo p .ico{flex:none;width:18px;height:18px;margin-top:2px;color:var(--n-caneta)}

/* ---------- método ---------- */
.pm-como details+details{margin-top:8px;border-top:1px solid var(--n-linha);padding-top:8px}
.pm-como summary{cursor:pointer;list-style:none}
.pm-como summary::-webkit-details-marker{display:none}
.pm-como summary h2{display:inline;margin:0;font-size:1.1rem}
.pm-como summary::before{content:"+";display:inline-block;width:22px;font-weight:800;color:var(--n-caneta)}
.pm-como details[open] summary::before{content:"−"}
.pm-como ul,.pm-metodo ul{margin:12px 0 4px;padding-left:20px;color:var(--n-tinta2);line-height:1.6}
.pm-fora{list-style:none;padding:0!important;display:grid;gap:10px}
.pm-fora q{display:block;color:var(--n-tinta);font-family:var(--n-serif)}
.pm-fora small{color:var(--n-tinta2)}
.pm-fonte{font-size:.84rem;margin-top:8px}

/* ---------- movimento ---------- */
@keyframes pm-sobe{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes pm-surge{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}
@keyframes pm-anel{from{stroke-dashoffset:var(--c)}}
@keyframes pm-cresce{from{transform:scaleX(0)}to{transform:none}}
@keyframes pm-risca{from{transform:scaleX(0)}to{transform:none}}
@keyframes pm-gaveta{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.pm *,.pm *::before,.pm *::after{animation:none!important;transition:none!important}}

/* ---------- celular ---------- */
@media (max-width:860px){
  .pm-topo{grid-template-columns:1fr;padding:24px 20px}
  .pm-placar{order:-1}
  .pm-placar svg,.pm-placar-n{width:180px}
  .pm-placar-n b{font-size:2.6rem}
  .pm-dois{grid-template-columns:1fr}
  .pm-bloco{padding:18px 14px}
  .pm-gaveta>summary{grid-template-columns:38px minmax(0,1fr) 24px;gap:10px;padding:12px}
  .pm-g-n{width:38px;height:38px}
  .pm-g-barra{display:none}
  .pm-item-c{margin-left:8px}
  .pm-filtros-fim{margin-left:0}
}
[data-theme="contrast"] .pm-topo{background:#000;border:1px solid #fff}
/* Blocos fechados (padrão "para leigo", 10/11/2026): título e resumo na cor da página. */
.pm .bloco-t{color:var(--n-tinta)}
.pm .bloco-s{color:var(--n-tinta2)}
.pm-metodo .bloco-c>ul{margin:0}

/* ---------- seletor de mandato (12/11/2026): 2027-2030 e o balanço de 2023-2026 ---------- */
.pm-mandatos{display:flex;flex-wrap:wrap;gap:8px}
.pm-mandatos a{display:grid;gap:2px;min-height:44px;padding:10px 16px;border:1px solid var(--n-linha);border-radius:12px;background:var(--n-folha);color:var(--n-tinta);text-decoration:none;flex:1 1 220px;max-width:340px}
.pm-mandatos a b{font:800 1rem/1.2 var(--n-ui)}
.pm-mandatos a small{color:var(--n-tinta2);font-size:.85rem}
.pm-mandatos a:hover{border-color:var(--n-caneta)}
.pm-mandatos a[aria-current="page"]{border-color:var(--n-caneta);box-shadow:inset 0 -4px 0 var(--n-caneta);background:var(--n-folha2)}
.pm-mandatos a:focus-visible{outline:3px solid var(--n-caneta);outline-offset:2px}
/* placar do balanço ainda não feito: número de itens em conferência, sem anel (nada de "0 cumpridas") */
.pm-placar-espera{justify-items:center;text-align:center}
.pm-placar-espera .pm-placar-n{position:static;width:auto;aspect-ratio:auto;transform:none}
.pm-placar-espera .pm-placar-dias{max-width:28ch}
.pm-fora li b{display:block;margin-bottom:4px}
