/* Na Galeria — camada da aplicação sobre o design system Civic Editorial.
   Ordem de carga: ce-tokens.css, ce-base.css, ce-components.css (cópias exatas de
   design-system/) e, por último, este arquivo. Só usa tokens --ce-*. */

/* Global */
body { margin: 0; }
.ce-app [hidden] { display: none !important; }
/* #AAA095 (components.css) dá 2,57:1 sobre branco; WCAG 1.4.11 pede 3:1 para borda de controle. */
.ce-app .ce-input, .ce-app .ce-select { border-color: var(--ce-vote-other); box-sizing: border-box; }
.ce-app .ce-input::placeholder { color: var(--ce-text-muted); opacity: 1; }

.ce-app .ce-skip { position: absolute; left: var(--ce-space-2); top: -4rem; z-index: 20; padding: var(--ce-space-3) var(--ce-space-4); background: var(--ce-espresso); color: #fff; border-radius: var(--ce-radius-md); }
.ce-app .ce-skip:focus { top: var(--ce-space-2); }

/* Topo: faixa azul-marinho do kit da marca, a mesma cor da barra do navegador (theme-color). */
.ce-app { --mp-marinho: #14263D; --mp-marinho-campo: #1E3552; --mp-marinho-borda: #4A6382; --mp-marinho-texto: #C9D3E0; --mp-amarelo: #FFCA18; }
.ce-app .ce-topbar { background: var(--mp-marinho); border-bottom: 0; color: #FFFFFF; }
.ce-app .ce-topbar-inner { min-height: 76px; }
.ce-app .ce-topbar :focus-visible { outline-color: var(--mp-amarelo); }
.ce-app .ce-brand { color: #FFFFFF; font: 600 1.3rem/1.2 var(--ce-font-display); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.ce-app .ce-brand-logo { display: block; flex: none; width: 42px; height: 42px; }
@media (max-width: 480px) { .ce-app .ce-brand-logo { width: 36px; height: 36px; } .ce-app .ce-brand { font-size: 1.15rem; } }
.ce-app .ce-nav a { display: inline-flex; align-items: center; min-height: 44px; }
.ce-app .ce-topbar .ce-nav { margin-right: auto; margin-left: var(--ce-space-6); gap: var(--ce-space-6); }
.ce-app .ce-topbar .ce-nav a { color: var(--mp-marinho-texto); font-size: .9375rem; font-weight: 500; text-decoration: none; border-bottom: 3px solid transparent; }
.ce-app .ce-topbar .ce-nav a:hover { color: #FFFFFF; text-decoration: none; border-bottom-color: rgb(255 255 255 / .35); }
.ce-app .ce-topbar .ce-nav a[aria-current="page"] { color: #FFFFFF; font-weight: 700; text-decoration: none; border-bottom-color: var(--mp-amarelo); }
.ce-app .ce-topbar .busca input { background: var(--mp-marinho-campo); border-color: var(--mp-marinho-borda); color: #FFFFFF; }
.ce-app .ce-topbar .busca input::placeholder { color: var(--mp-marinho-texto); }
.ce-app .ce-topbar .busca svg { stroke: var(--mp-marinho-texto); }

.busca { position: relative; flex: 1 1 240px; max-width: 360px; min-width: 0; }
.busca svg { position: absolute; left: .75rem; top: 50%; transform: translateY(-50%); width: 1rem; height: 1rem; fill: none; stroke: var(--ce-text-secondary); stroke-width: 2; pointer-events: none; }
.ce-app .busca input { padding-left: 2.25rem; font-size: var(--ce-text-sm); }
.busca-res {
  position: absolute; z-index: 10; top: calc(100% + var(--ce-space-1)); left: 0; right: 0; margin: 0; padding: var(--ce-space-1); list-style: none;
  background: var(--ce-surface); border: 1px solid var(--ce-border); border-radius: var(--ce-radius-md);
  box-shadow: var(--ce-shadow-float); max-height: min(420px, 70vh); overflow-y: auto;
}
.busca-res .grupo { font-size: var(--ce-text-xs); font-weight: 650; letter-spacing: .1em; text-transform: uppercase; color: var(--ce-text-secondary); padding: var(--ce-space-2) var(--ce-space-2) var(--ce-space-1); }
.busca-res .aviso { padding: var(--ce-space-3) var(--ce-space-2); color: var(--ce-text-secondary); font-size: var(--ce-text-sm); }
.ce-app .busca-res a { display: grid; grid-template-columns: 2rem 1fr; gap: var(--ce-space-3); align-items: center; min-height: 44px; padding: var(--ce-space-1) var(--ce-space-2); border-radius: var(--ce-radius-sm); text-decoration: none; color: var(--ce-ink); }
.ce-app .busca-res a[aria-selected="true"], .ce-app .busca-res a:hover { background: var(--ce-sand); }
.busca-res a > span:last-child { min-width: 0; }
.busca-res .av { width: 2rem; height: 2rem; border-radius: 50%; background: var(--ce-sand); display: grid; place-items: center; font-size: var(--ce-text-xs); font-weight: 650; color: var(--ce-espresso); }
.busca-res .av.prop { border-radius: var(--ce-radius-sm); font-size: .625rem; }
.busca-res .n { font-weight: 600; display: block; line-height: 1.25; }
.busca-res .n mark { background: none; color: inherit; text-decoration: underline; text-underline-offset: .18em; }
.busca-res .m { font-size: var(--ce-text-xs); color: var(--ce-text-secondary); display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.busca-res .mais { display: block; padding: var(--ce-space-2); font-size: var(--ce-text-xs); color: var(--ce-text-secondary); border-top: 1px solid var(--ce-border-soft); margin-top: var(--ce-space-1); }

@media (max-width: 800px) {
  .ce-app .ce-topbar .ce-nav { gap: var(--ce-space-5); }
  .ce-app .ce-topbar-inner { align-items: stretch; gap: var(--ce-space-2); }
  .ce-app .ce-topbar .ce-nav { margin: 0; }
  .busca { flex: none; max-width: none; }
}

/* Rodapé */
.ce-app .ce-footer { margin-top: var(--ce-space-16); padding-block: var(--ce-space-6) var(--ce-space-8); border-top: 1px solid var(--ce-border); font-size: .8125rem; color: var(--ce-text-secondary); }
.ce-app .ce-footer p + p { margin-top: var(--ce-space-2); }

/* Abertura de página */
.ce-app .ce-page-head { padding-block: var(--ce-space-10) var(--ce-space-6); display: flex; flex-direction: column; gap: var(--ce-space-3); }
.ce-app .ce-page-head h1 { font: 480 var(--ce-title-md)/1.12 var(--ce-font-display); letter-spacing: -.03em; max-width: 24ch; overflow-wrap: break-word; }
.ce-app .ce-page-head--editorial { padding-block: var(--ce-space-12) var(--ce-space-8); }
.ce-app .ce-page-head--editorial h1 { font-size: var(--ce-title-lg); letter-spacing: -.035em; max-width: 18ch; }
.ce-app .ce-page-head .ce-eyebrow { color: var(--ce-terracotta); }
.ce-app .ce-deck { font-size: var(--ce-text-lg); color: var(--ce-text-secondary); }

/* Seções e blocos */
.ce-app .ce-section { margin-top: var(--ce-space-12); }
.ce-app .ce-section-note { margin-top: var(--ce-space-3); font-size: var(--ce-text-sm); color: var(--ce-text-secondary); }
.ce-app .ce-subtitle { font: 500 1.25rem/1.2 var(--ce-font-display); letter-spacing: -.01em; }
.ce-app .ce-text-sm { font-size: var(--ce-text-sm); }
.ce-app .ce-stack { display: flex; flex-direction: column; gap: var(--ce-space-8); min-width: 0; }
.ce-app .ce-card-title { margin-block: var(--ce-space-1) var(--ce-space-2); }
.ce-app .ce-card-link { margin-top: var(--ce-space-3); }
.ce-app .ce-actions { display: flex; flex-wrap: wrap; gap: var(--ce-space-3); margin-top: var(--ce-space-5); }
.ce-app .ce-cta { padding-top: var(--ce-space-8); border-top: 1px solid var(--ce-border); }
.ce-app .ce-cta > p { margin-top: var(--ce-space-2); }

/* Indicadores */
.ce-app .ce-kpis { border-block: 1px solid var(--ce-border); padding-block: var(--ce-space-5); }
.ce-app .ce-kpi-grid { gap: var(--ce-space-6); }
.ce-app .ce-kpi { display: flex; flex-direction: column; gap: var(--ce-space-1); min-width: 0; }
.ce-app .ce-kpi-label { font-weight: 600; color: var(--ce-ink); font-size: var(--ce-text-sm); }
.ce-app .ce-kpi-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 800px) { .ce-app .ce-kpi-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) {
  .ce-app .ce-kpi-grid:not(.ce-kpi-grid--4) { grid-template-columns: 1fr; gap: var(--ce-space-4); }
  .ce-app .ce-kpi-grid--4 { gap: var(--ce-space-4); }
}

/* Pauta */
.ce-app .ce-duo { display: grid; gap: var(--ce-space-6) var(--ce-space-8); grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr)); align-items: start; margin-top: var(--ce-space-5); }
.ce-app .ce-house-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--ce-space-1) var(--ce-space-3); padding-bottom: var(--ce-space-3); }
.ce-app .ce-session + .ce-session { margin-top: var(--ce-space-5); }
.ce-app .ce-session > .ce-eyebrow { padding-bottom: var(--ce-space-2); }
.ce-app .ce-items { list-style: none; margin: 0; padding: 0; }
.ce-app .ce-items li { border-top: 1px solid var(--ce-border-soft); }
.ce-app .ce-items a, .ce-app .ce-items li > div { display: flex; flex-direction: column; gap: var(--ce-space-1); padding-block: var(--ce-space-3); color: var(--ce-ink); text-decoration: none; }
.ce-app .ce-item-title { font-weight: 600; font-size: .9375rem; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.ce-app .ce-item-title--lg { font: 480 1.1875rem/1.3 var(--ce-font-display); letter-spacing: -.01em; }
.ce-app a:hover > .ce-item-title, .ce-app a:hover .ce-vote-text .ce-item-title { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }

/* Etiquetas de tema (filtro) */
.chips { display: flex; flex-wrap: wrap; gap: var(--ce-space-2); margin-top: var(--ce-space-4); }
.ce-app .chip { display: inline-flex; align-items: center; gap: var(--ce-space-2); min-height: 44px; padding: var(--ce-space-1) var(--ce-space-3); background: transparent; border: 1px solid var(--ce-border); border-radius: var(--ce-radius-md); color: var(--ce-ink); font-size: var(--ce-text-sm); text-align: left; transition: background var(--ce-duration-fast) var(--ce-ease); }
.ce-app .chip:hover { background: var(--ce-sand); }
.chip .qtd { font-size: var(--ce-text-xs); font-weight: 650; color: var(--ce-text-secondary); font-variant-numeric: tabular-nums; }

/* Filtros */
.ce-app .ce-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(11rem, 100%), 1fr)); gap: var(--ce-space-3) var(--ce-space-4); align-items: end; margin-top: var(--ce-space-5); }
.ce-app .ce-field { display: block; min-width: 0; }
.ce-app .ce-check { display: flex; align-items: center; gap: var(--ce-space-2); min-height: 44px; font-size: var(--ce-text-sm); }
.ce-app .ce-check input { width: 1.125rem; height: 1.125rem; flex: none; accent-color: var(--ce-espresso); }
.ce-app .ce-count { margin-top: var(--ce-space-4); padding-bottom: var(--ce-space-3); font-size: var(--ce-text-sm); color: var(--ce-text-secondary); border-bottom: 1px solid var(--ce-border); }

/* Lista de votadas */
.ce-app .ce-vote-list { list-style: none; margin: 0; padding: 0; }
.ce-app .ce-vote-list li { border-bottom: 1px solid var(--ce-border-soft); }
.ce-app .ce-vote-list a { display: grid; grid-template-columns: minmax(0, 1fr) 15rem; gap: var(--ce-space-3) var(--ce-space-8); padding-block: var(--ce-space-5); color: var(--ce-ink); text-decoration: none; }
.ce-app .ce-vote-text { display: flex; flex-direction: column; gap: var(--ce-space-2); min-width: 0; }
.ce-app .ce-vote-results { display: flex; flex-direction: column; gap: var(--ce-space-3); }
.ce-app .ce-vote-results > div { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ce-space-1) var(--ce-space-2); }
.ce-app .ce-score { flex-basis: 100%; font-size: var(--ce-text-sm); font-weight: 600; font-variant-numeric: tabular-nums; }
@media (max-width: 800px) { .ce-app .ce-vote-list a { grid-template-columns: minmax(0, 1fr); } }

/* Estados */
.ce-app .ce-state-box { font-size: var(--ce-text-sm); }
.ce-app .ce-state-box .ce-button { margin-top: var(--ce-space-3); }

/* Trilha de navegação */
.ce-app .ce-breadcrumb { padding-top: var(--ce-space-4); font-size: .8125rem; color: var(--ce-text-secondary); }
.ce-app .ce-breadcrumb ol { display: flex; flex-wrap: wrap; align-items: center; list-style: none; margin: 0; padding: 0; }
.ce-app .ce-breadcrumb li + li::before { content: "/"; margin-inline: var(--ce-space-2); color: var(--ce-text-muted); }
.ce-app .ce-breadcrumb a { display: inline-block; padding-block: var(--ce-space-2); }
.ce-app .ce-breadcrumb + .ce-page-head { padding-top: var(--ce-space-5); }

/* Proposição */
.ce-app .ce-tags { display: flex; flex-wrap: wrap; gap: var(--ce-space-2); }
.ce-app .ce-badge { width: auto; max-width: 100%; }
.ce-app .ce-official-text { margin-top: var(--ce-space-4); font-size: var(--ce-text-lg); line-height: 1.6; max-width: 70ch; }
.ce-app .ce-ai { display: flex; flex-direction: column; align-items: flex-start; gap: var(--ce-space-3); padding: var(--ce-space-5); background: var(--ce-muted-surface); border-left: 3px solid var(--ce-terracotta); }
.ce-app .ce-ai .ce-meta { color: var(--ce-text-secondary); }
.ce-app .ce-source ul { list-style: none; margin: var(--ce-space-2) 0 var(--ce-space-3); padding: 0; }
.ce-app .ce-source li a { display: inline-block; padding-block: var(--ce-space-2); font-size: var(--ce-text-sm); }
.ce-app .ce-grid-main > aside.ce-source { align-self: start; }
.ce-app .ce-subsection { margin-block: var(--ce-space-8) var(--ce-space-2); }
.ce-app .ce-after-header { margin-top: var(--ce-space-4); }

/* Linha do tempo: concluído (ponto cheio) e previsto (ponto vazado, com rótulo) */
.ce-app .ce-timeline--spaced { margin-block: var(--ce-space-6) var(--ce-space-5); margin-left: var(--ce-space-2); }
.ce-app .ce-timeline li { display: flex; flex-direction: column; gap: var(--ce-space-1); }
.ce-app .ce-timeline-title { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ce-space-2); font-weight: 600; }
.ce-app .ce-timeline li.futura::before { background: var(--ce-paper); border: 2px solid var(--ce-espresso); }

/* Votações */
.ce-app .ce-cards { display: grid; gap: var(--ce-space-4); grid-template-columns: repeat(auto-fit, minmax(min(21rem, 100%), 1fr)); align-items: start; margin-top: var(--ce-space-5); }
.ce-app .ce-vote-card { display: flex; flex-direction: column; gap: var(--ce-space-3); min-width: 0; }
.ce-app .ce-vote-card .ce-house-head { padding-bottom: 0; }
.ce-app .ce-vote-card .ce-legend { margin-top: 0; }
.ce-app .ce-vote-other { background: var(--ce-vote-other); }
.ce-app .ce-vote-bar > span { flex-shrink: 1; }
.ce-app .ce-guidance { border-top: 1px solid var(--ce-border-soft); padding-top: var(--ce-space-3); font-size: var(--ce-text-sm); }
.ce-app .ce-guidance h4 { font-size: var(--ce-text-sm); margin-bottom: var(--ce-space-1); }
.ce-app .ce-guidance p + p { margin-top: var(--ce-space-1); }
.ce-app .ce-rito { list-style: none; margin: 0; padding: 0; font-size: var(--ce-text-sm); }
.ce-app .ce-rito li { padding-block: var(--ce-space-3); border-bottom: 1px solid var(--ce-border-soft); }
.ce-app .ce-rito .ce-meta { display: block; }

/* Abas */
.abas { display: flex; flex-wrap: wrap; gap: var(--ce-space-1); border-bottom: 1px solid var(--ce-border); margin-block: var(--ce-space-3); }
.ce-app .abas button { min-height: 44px; padding: 0 var(--ce-space-3); border: 0; border-bottom: 3px solid transparent; background: none; color: var(--ce-text-secondary); font-size: var(--ce-text-sm); }
.ce-app .abas button:hover { color: var(--ce-ink); }
.ce-app .abas button[aria-selected="true"] { border-bottom-color: var(--ce-espresso); color: var(--ce-ink); font-weight: 650; }

/* Tabelas */
.ce-app .ce-table td .ce-dot { vertical-align: 0; }
.ce-app .ce-table--wrap th, .ce-app .ce-table--wrap td { white-space: normal; vertical-align: top; }
.ce-app .ce-table th[scope="row"] { color: var(--ce-ink); background: transparent; font-size: var(--ce-text-sm); font-weight: 600; letter-spacing: 0; }
.ce-app .ce-table-scroll:focus-visible { outline-offset: 0; }
.ce-app .painel-votos .ce-state-box { margin-top: var(--ce-space-4); }

/* Barras do resumo. Espresso e terracota são séries neutras: não indicam avaliação. */
.ce-app .ce-series-a { background: var(--ce-espresso); }
.ce-app .ce-series-b { background: var(--ce-terracotta); }
.ce-app .ce-bars { list-style: none; margin: var(--ce-space-3) 0 0; padding: 0; }
.ce-app .ce-bars button { width: 100%; min-height: 36px; display: grid; grid-template-columns: 7.5rem minmax(0, 1fr) 6rem; gap: var(--ce-space-3); align-items: center; padding: var(--ce-space-1); border: 0; border-radius: var(--ce-radius-xs); background: none; color: var(--ce-ink); text-align: left; }
.ce-app .ce-bars button:hover { background: var(--ce-sand); }
.ce-bar-label { font-size: var(--ce-text-sm); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ce-bar-track { display: block; height: .75rem; background: var(--ce-sand); border-radius: var(--ce-radius-xs); overflow: hidden; }
.ce-bar-value { display: block; height: 100%; background: var(--ce-espresso); }
.ce-bar-number { font-size: var(--ce-text-sm); text-align: right; font-variant-numeric: tabular-nums; }
.ce-app .ce-split { display: flex; gap: 2px; height: 15px; margin-top: var(--ce-space-4); border-radius: 3px; overflow: hidden; }
.ce-app .ce-legend--stack { flex-direction: column; gap: var(--ce-space-2); }
.ce-app .ce-after-note { margin-top: var(--ce-space-4); }
.ce-app .ce-blocks { list-style: none; margin: var(--ce-space-5) 0 0; padding: 0; display: grid; gap: var(--ce-space-5) var(--ce-space-8); grid-template-columns: repeat(auto-fit, minmax(min(19rem, 100%), 1fr)); }
.ce-app .ce-blocks li { display: flex; flex-direction: column; gap: var(--ce-space-2); }
.ce-app .ce-block-head { display: flex; justify-content: space-between; gap: var(--ce-space-2); }
.ce-app .ce-ufs { list-style: none; margin: var(--ce-space-5) 0 0; padding: 0; display: grid; gap: var(--ce-space-2); grid-template-columns: repeat(auto-fill, minmax(7.5rem, 1fr)); }
.ce-app .ce-ufs button { width: 100%; height: 100%; min-height: 64px; display: flex; flex-direction: column; align-items: flex-start; gap: var(--ce-space-1); padding: var(--ce-space-2) var(--ce-space-3); border: 1px solid var(--ce-border); border-radius: var(--ce-radius-sm); background: transparent; color: var(--ce-ink); text-align: left; }
.ce-app .ce-ufs button:hover { background: var(--ce-muted-surface); }
.ce-app .ce-ufs .ce-meta { color: var(--ce-text-secondary); }
/* Mapa das bancadas: um tom só, do claro ao escuro, nas cores das barras do site. */
.ce-app { --mapa-0: #ECE3D6; --mapa-1: #D6BFA2; --mapa-2: #B48D66; --mapa-3: #86624A; --mapa-4: #4F3B2D; }
.ce-app .mapa-bancadas { display: grid; grid-template-columns: minmax(0, 1fr) 16rem; gap: var(--ce-space-8); align-items: start; margin-top: var(--ce-space-5); }
.ce-app .mapa-svg { display: block; width: 100%; max-width: 640px; height: auto; }
.ce-app .mapa-contorno path { fill: none; stroke: #B5A999; stroke-width: 3; }
.ce-app .mapa-uf { stroke: var(--ce-paper); stroke-width: 1.4; cursor: pointer; outline: none; }
.ce-app .mapa-uf:hover { opacity: .88; }
.ce-app .mapa-uf[aria-pressed="true"], .ce-app .mapa-uf:focus-visible { stroke: var(--ce-ink); stroke-width: 4; paint-order: stroke; }
.ce-app .mapa-f0 { fill: var(--mapa-0); background: var(--mapa-0); }
.ce-app .mapa-f1 { fill: var(--mapa-1); background: var(--mapa-1); }
.ce-app .mapa-f2 { fill: var(--mapa-2); background: var(--mapa-2); }
.ce-app .mapa-f3 { fill: var(--mapa-3); background: var(--mapa-3); }
.ce-app .mapa-f4 { fill: var(--mapa-4); background: var(--mapa-4); }
.ce-app .mapa-rotulo { font: 500 21px/1 var(--ce-font-ui); fill: var(--ce-ink); color: var(--ce-ink); text-anchor: middle; pointer-events: none; font-variant-numeric: tabular-nums; }
.ce-app .mapa-rotulo--claro { fill: #FFFFFF; color: #FFFFFF; }
.ce-app .mapa-rotulo-uf { font-weight: 700; }
.ce-app .mapa-legenda { margin-top: var(--ce-space-4); }
.ce-app .mapa-legenda .ce-dot { box-shadow: inset 0 0 0 1px rgb(38 34 30 / .12); }
.ce-app .mapa-painel { padding: var(--ce-space-5); border: 1px solid var(--ce-border-soft); border-radius: var(--ce-radius-md); background: var(--ce-surface); }
.ce-app .mapa-painel p { margin: 0; }
.ce-app .mapa-painel-vazio { margin-top: var(--ce-space-2) !important; color: var(--ce-text-secondary); }
.ce-app .mapa-painel-nome { margin-top: var(--ce-space-2) !important; font: 500 1.375rem/1.15 var(--ce-font-display); }
.ce-app .mapa-painel-n { margin: var(--ce-space-2) 0 !important; color: var(--ce-text-secondary); }
.ce-app .mapa-painel-acao { margin-top: var(--ce-space-4) !important; }
.ce-app .mapa-painel-n span { margin-right: .2rem; font: 500 2.25rem/1 var(--ce-font-display); color: var(--ce-ink); font-variant-numeric: tabular-nums; }
@media (max-width: 800px) { .ce-app .mapa-bancadas { grid-template-columns: 1fr; gap: var(--ce-space-5); } }
@media (max-width: 560px) { .ce-app .mapa-rotulo { font-size: 32px; } }
@media (pointer: coarse) { .ce-app .ce-bars button { min-height: 44px; } }
@media (max-width: 480px) { .ce-app .ce-bars button { grid-template-columns: 7.5rem minmax(0, 1fr) 5.25rem; gap: var(--ce-space-2); } }

/* Lista de parlamentares */
.ce-app .ce-people { list-style: none; margin: 0; padding: 0; display: grid; column-gap: var(--ce-space-6); grid-template-columns: repeat(auto-fill, minmax(min(15rem, 100%), 1fr)); }
.ce-app .ce-people li { border-bottom: 1px solid var(--ce-border-soft); }
.ce-app .ce-people a { display: grid; grid-template-columns: 3rem 1fr; grid-template-rows: auto auto; column-gap: var(--ce-space-3); align-content: center; align-items: center; height: 100%; padding-block: var(--ce-space-3); color: var(--ce-ink); text-decoration: none; }
.ce-app .ce-people a:hover .ce-people-name { text-decoration: underline; text-underline-offset: .18em; }
.ce-app .ce-people img, .ce-app .ce-people .ce-photo-empty { grid-row: span 2; width: 3rem; height: 4rem; object-fit: cover; border-radius: var(--ce-radius-xs); background: var(--ce-sand); }
.ce-app .ce-people-name { font-weight: 600; font-size: .9375rem; line-height: 1.3; }
.ce-app .ce-people .ce-meta { align-self: start; }
.ce-app .ce-photo-empty { display: block; background: var(--ce-sand); }

/* Perfil */
.ce-app .ce-profile { display: grid; grid-template-columns: 11.25rem minmax(0, 1fr); gap: var(--ce-space-8); align-items: start; padding-top: var(--ce-space-6); }
.ce-app .ce-profile > img, .ce-app .ce-profile > .ce-photo-empty { width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; border-radius: var(--ce-radius-md); background: var(--ce-sand); }
.ce-app .ce-profile .ce-page-head { padding-block: 0 var(--ce-space-5); }
.ce-app .ce-profile-title { margin-block: var(--ce-space-8) var(--ce-space-3); padding-bottom: var(--ce-space-3); border-bottom: 1px solid var(--ce-border); }
.ce-app .ce-links { margin: 0; padding: 0; list-style: none; }
.ce-app .ce-links a { display: inline-block; padding-block: var(--ce-space-2); }
@media (max-width: 640px) {
  .ce-app .ce-profile { grid-template-columns: minmax(0, 1fr); gap: var(--ce-space-5); padding-top: var(--ce-space-3); }
  .ce-app .ce-profile > img, .ce-app .ce-profile > .ce-photo-empty { max-width: 9.375rem; }
}

/* Pares de termo e valor */
.ce-app .ce-dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: var(--ce-space-2) var(--ce-space-5); margin: 0; }
.ce-app .ce-dl dt { color: var(--ce-text-secondary); font-size: var(--ce-text-sm); padding-top: .1rem; }
.ce-app .ce-dl dd { margin: 0; overflow-wrap: anywhere; }
.ce-app .ce-dl--stack { grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: var(--ce-space-3); }
.ce-app .ce-dl--stack dd { padding-bottom: var(--ce-space-3); }

/* Entenda os dados */
.ce-app .ce-prose { max-width: 46rem; }
.ce-app .ce-prose > h2 { margin-block: var(--ce-space-10) var(--ce-space-3); padding-bottom: var(--ce-space-3); border-bottom: 1px solid var(--ce-border); }
.ce-app .ce-prose > p, .ce-app .ce-prose > ul { margin-block: var(--ce-space-3); }
.ce-app .ce-prose li + li { margin-top: var(--ce-space-2); }
.ce-app .ce-terms { margin: 0; }
.ce-app .ce-terms > div { padding-block: var(--ce-space-4); border-bottom: 1px solid var(--ce-border-soft); scroll-margin-top: var(--ce-space-4); }
.ce-app .ce-terms > div:target { background: var(--ce-muted-surface); box-shadow: inset 3px 0 0 var(--ce-terracotta); padding-inline: var(--ce-space-3); }
.ce-app .ce-terms dt { font-weight: 600; }
.ce-app .ce-terms dd { margin: var(--ce-space-1) 0 0; color: var(--ce-text-secondary); }

/* Perfil ampliado de parlamentar */
.ce-app .pf-topo { padding-top: var(--ce-space-5); }
.ce-app .pf-deck { color: var(--ce-text-secondary); }
.ce-app .pf-ancoras { position: sticky; top: 0; z-index: 5; display: flex; gap: var(--ce-space-5); overflow-x: auto; margin-top: var(--ce-space-8); background: var(--ce-paper); border-bottom: 1px solid var(--ce-border); scrollbar-width: none; }
.ce-app .pf-ancoras a { flex: none; padding-block: var(--ce-space-3); color: var(--ce-text-secondary); font-size: var(--ce-text-sm); font-weight: 600; text-decoration: none; }
.ce-app .pf-ancoras a:hover { color: var(--ce-ink); text-decoration: underline; text-underline-offset: .4em; }
.ce-app .pf-ancoras a[aria-current] { color: var(--ce-ink); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .4em; }
.ce-app .pf-compartilhar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ce-space-3); margin-top: var(--ce-space-6); }
.ce-app .pf-secao { padding-top: var(--ce-space-12); scroll-margin-top: 2.5rem; }
.ce-app .pf-secao > .ce-eyebrow { color: var(--ce-terracotta); margin-bottom: var(--ce-space-2); }
.ce-app .pf-bloco { margin-top: var(--ce-space-12); padding-top: var(--ce-space-8); border-top: 1px solid var(--ce-border); scroll-margin-top: 3rem; }
.ce-app .pf-h2 { font: 480 var(--ce-title-sm)/1.2 var(--ce-font-display); letter-spacing: -.02em; margin-bottom: var(--ce-space-5); text-wrap: balance; }
.ce-app .pf-h3 { font: 600 1.0625rem/1.35 var(--ce-font-ui); margin-bottom: var(--ce-space-3); text-wrap: balance; }
.ce-app .pf-espaco { margin-top: var(--ce-space-8); }
.ce-app .pf-duas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ce-space-8) clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.ce-app .pf-duas > * { min-width: 0; }
.ce-app .pf-nota { font-size: var(--ce-text-sm); color: var(--ce-text-secondary); }
.ce-app .pf-lista { display: flex; flex-direction: column; gap: var(--ce-space-2); margin: 0; padding: 0; list-style: none; font-size: .9375rem; }
.ce-app .pf-num { text-align: right; }
.ce-app .pf-tabela tbody th { white-space: nowrap; color: var(--ce-ink); background: transparent; font-size: var(--ce-text-sm); font-weight: 600; letter-spacing: 0; }
.ce-app .pf-barras { display: flex; flex-direction: column; gap: var(--ce-space-3); margin: 0; padding: 0; list-style: none; }
.ce-app .pf-barras li { display: grid; grid-template-columns: minmax(0, 10.5rem) minmax(2.5rem, 1fr) 4.5rem; gap: var(--ce-space-3); align-items: center; font-size: var(--ce-text-sm); }
.ce-app .pf-barras--curta li { grid-template-columns: 3rem minmax(2.5rem, 1fr) 7.5rem; }
.ce-app .pf-barra-numero { font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; }
.ce-app .pf-variacoes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ce-space-5); margin: 0; }
.ce-app .pf-variacoes dt { font-size: .8125rem; color: var(--ce-text-secondary); }
.ce-app .pf-variacoes dd { display: flex; flex-direction: column; margin: 0; font-size: var(--ce-text-sm); color: var(--ce-text-secondary); }
.ce-app .pf-variacoes strong { font: 460 clamp(1.6rem, 2.6vw, 2.25rem)/1.15 var(--ce-font-display); font-variant-numeric: tabular-nums; color: var(--ce-ink); }
.ce-app .pf-detalhes { margin-top: var(--ce-space-4); font-size: var(--ce-text-sm); color: var(--ce-text-secondary); }
.ce-app .pf-detalhes summary { display: flex; align-items: center; gap: var(--ce-space-2); width: max-content; max-width: 100%; min-height: 44px; font-weight: 600; color: var(--ce-espresso); cursor: pointer; list-style: none; }
.ce-app .pf-detalhes summary::-webkit-details-marker { display: none; }
.ce-app .pf-detalhes summary::before { content: ""; flex: none; width: .4rem; height: .4rem; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(-45deg); }
.ce-app .pf-detalhes[open] > summary::before { transform: rotate(45deg); }
.ce-app .pf-detalhes > p { margin-bottom: var(--ce-space-2); }
/* Blocos longos que ficam recolhidos, como fornecedores e comprovantes: o título tem o peso de um subtítulo. */
.ce-app .pf-ementa-botao { display: inline; margin: 0 0 0 .25rem; padding: 0; border: 0; background: none; font: 600 var(--ce-text-sm)/inherit var(--ce-font-ui); color: var(--ce-espresso); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.ce-app .pf-ementa-botao:focus-visible { outline: 2px solid var(--ce-focus); outline-offset: 2px; border-radius: 2px; }
.ce-app .pf-recolhe { font-size: var(--ce-text-md); color: var(--ce-ink); border-top: 1px solid var(--ce-border-soft); }
.ce-app .pf-recolhe > summary { font-size: var(--ce-text-md); color: var(--ce-ink); }
.ce-app .pf-recolhe[open] > summary { margin-bottom: var(--ce-space-3); }
.ce-app .pf-composicao { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ce-space-6); margin-top: var(--ce-space-3); }
.ce-app .pf-composicao > * { min-width: 0; }
.ce-app .pf-composicao h4 { font: 600 var(--ce-text-sm)/1.3 var(--ce-font-ui); margin-bottom: var(--ce-space-2); color: var(--ce-ink); }
.ce-app .pf-composicao ul { margin: 0; padding: 0; list-style: none; font-size: .8125rem; }
.ce-app .pf-composicao li { display: flex; flex-direction: column; padding-block: var(--ce-space-2); border-bottom: 1px solid var(--ce-border-soft); overflow-wrap: anywhere; }
.ce-app .pf-composicao strong { color: var(--ce-ink); }
.ce-app .pf-numeros { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--ce-space-5); padding-block: var(--ce-space-5); border-block: 1px solid var(--ce-border); }
.ce-app .pf-numeros a { display: flex; flex-direction: column; gap: var(--ce-space-1); min-width: 0; color: var(--ce-text-secondary); font-size: var(--ce-text-sm); text-decoration: none; }
.ce-app .pf-numeros a:hover span:last-child { text-decoration: underline; }
.ce-app .pf-numeros .ce-kpi-value { color: var(--ce-ink); font-size: clamp(1.5rem, 2.3vw, 2.15rem); }
.ce-app .pf-temas { margin: 0; padding: 0; list-style: none; }
.ce-app .pf-temas li { display: grid; grid-template-columns: minmax(0, 17rem) minmax(4rem, 1fr) 10rem; gap: var(--ce-space-1) var(--ce-space-4); align-items: center; padding-block: var(--ce-space-3); border-bottom: 1px solid var(--ce-border-soft); }
.ce-app .pf-tema-nome { font-size: .9375rem; overflow-wrap: anywhere; }
.ce-app .pf-votos { margin: 0; padding: 0; list-style: none; }
.ce-app .pf-votos > li { display: grid; grid-template-columns: minmax(0, 1fr) 13.5rem; gap: var(--ce-space-3) var(--ce-space-8); padding-block: var(--ce-space-5); border-bottom: 1px solid var(--ce-border-soft); }
.ce-app .pf-votos > li > * { min-width: 0; }
.ce-app .pf-voto-meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ce-space-1) var(--ce-space-3); margin-bottom: var(--ce-space-2); font-size: .8125rem; color: var(--ce-text-secondary); }
.ce-app .pf-voto-meta a { font-weight: 700; }
.ce-app .pf-voto-texto { font-size: .9375rem; line-height: 1.45; overflow-wrap: anywhere; }
.ce-app .pf-voto-posicao { display: flex; flex-direction: column; gap: var(--ce-space-2); font-size: .8125rem; color: var(--ce-text-secondary); }
.ce-app .pf-voto-rotulo { font-size: .9375rem; font-weight: 700; color: var(--ce-ink); }
.ce-app .pf-detalhes--voto { margin-top: var(--ce-space-1); font-size: .8125rem; }
.ce-app .pf-detalhes--voto summary { min-height: 32px; }
.ce-app .pf-detalhes--voto > p { overflow-wrap: anywhere; }
.ce-app .pf-mais { margin-top: var(--ce-space-4); }
.ce-app .pf-total th, .ce-app .pf-total td { font-weight: 700; color: var(--ce-ink); }
.ce-app .pf-normas, .ce-app .pf-propostas { margin: 0; padding: 0; list-style: none; }
.ce-app .pf-normas > li, .ce-app .pf-propostas > li { display: flex; flex-direction: column; gap: var(--ce-space-1); padding-block: var(--ce-space-4); border-bottom: 1px solid var(--ce-border-soft); min-width: 0; }
.ce-app .pf-normas .pf-voto-meta, .ce-app .pf-propostas .pf-voto-meta { margin-bottom: 0; }
.ce-app .pf-norma-nome { font-weight: 600; }
.ce-app .pf-caminho-linha { display: flex; flex-direction: column; gap: var(--ce-space-2); padding-block: var(--ce-space-4); border-bottom: 1px solid var(--ce-border-soft); }
.ce-app .pf-caminho-titulo { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 var(--ce-space-3); }
.ce-app .pf-caminho-numeros { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--ce-space-1) var(--ce-space-3); font-size: var(--ce-text-sm); color: var(--ce-text-secondary); }
.ce-app .pf-caminho-numeros .ce-kpi-value { color: var(--ce-ink); font-size: clamp(1.5rem, 2.3vw, 2.15rem); }
.ce-app .pf-caminho-seta { font-size: var(--ce-text-lg); color: var(--ce-text-muted); }
.ce-app .pf-caminho-barra { display: flex; gap: 2px; height: 15px; min-width: 2rem; overflow: hidden; border-radius: 3px; }
.ce-app .pf-caminho-barra > span { min-width: 2px; }
.ce-app .pf-caminho .ce-legend { margin-top: 0; }
.ce-app .pf-sit-norma { background: var(--ce-espresso); }
.ce-app .pf-sit-senado { background: var(--ce-olive); }
.ce-app .pf-sit-tramitacao { background: var(--ce-vote-other); }
.ce-app .pf-sit-encerrada { background: var(--ce-border); }
.ce-app .pf-sit-sem_situacao { background: var(--ce-sand); box-shadow: inset 0 0 0 1px var(--ce-border); }
.ce-app .pf-h4 { font: 600 .9375rem/1.35 var(--ce-font-ui); margin-bottom: var(--ce-space-3); }
.ce-app .pf-barras--moeda li { grid-template-columns: minmax(0, 11rem) minmax(2.5rem, 1fr) 7.5rem; }
.ce-app .pf-tabela--texto td { white-space: normal; overflow-wrap: anywhere; }
.ce-app .pf-tabela--texto td.pf-num { white-space: nowrap; }
.ce-app .pf-comprovantes td:first-child { white-space: nowrap; }
.ce-app .pf-comprovantes td:nth-child(2) { min-width: 11rem; }
.ce-app .pf-secao .ce-filters .ce-input, .ce-app .pf-secao .ce-filters .ce-select { height: 46px; }
@media (max-width: 800px) {
  .ce-app .ce-topbar .ce-nav { gap: var(--ce-space-5); }
  .ce-app .pf-votos > li, .ce-app .pf-temas li { grid-template-columns: minmax(0, 1fr); }
  .ce-app .pf-numeros { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ce-app .pf-duas, .ce-app .pf-composicao { grid-template-columns: minmax(0, 1fr); }
  .ce-app .pf-barras li { grid-template-columns: minmax(0, 8rem) minmax(2rem, 1fr) 4rem; }
  .ce-app .pf-barras--curta li { grid-template-columns: 3rem minmax(2rem, 1fr) 7rem; }
  .ce-app .pf-barras--moeda li { grid-template-columns: minmax(0, 1fr) 7rem; }
  .ce-app .pf-barras--moeda .ce-bar-track { grid-column: 1 / -1; grid-row: 2; }
  .ce-app .pf-tabela th, .ce-app .pf-tabela td { padding-inline: var(--ce-space-2); white-space: normal; }
}

/* Lista de deputados com as leis de cada um */
.ce-app .ce-people--leis img, .ce-app .ce-people--leis .ce-photo-empty { grid-row: 1 / span 4; align-self: start; }
.ce-app .ce-people--leis a { align-content: start; }
.ce-app .ce-people--leis a > :not(img):not(.ce-photo-empty) { grid-column: 2; min-width: 0; }
.ce-app .ce-people-leis { font-size: .8125rem; line-height: 1.35; color: var(--ce-text-secondary); }
.ce-app .ce-people-leis strong { color: var(--ce-ink); font-weight: 700; font-variant-numeric: tabular-nums; }

/* Situação eleitoral e virada de legislatura */
.ce-app .pf-badges { display: flex; flex-wrap: wrap; gap: var(--ce-space-2); }
.ce-app .ce-people-leis .ce-badge { margin-top: var(--ce-space-1); }
.ce-app .pf-atalhos { display: flex; flex-wrap: wrap; gap: 0 var(--ce-space-6); margin-top: var(--ce-space-3); }
.ce-app .pf-renovacao { margin-top: var(--ce-space-5); }
.ce-app .pf-eleito-reeleicao { background: var(--ce-focus); }
.ce-app .pf-eleito-retorno { background: var(--ce-olive); }
.ce-app .pf-eleito-primeiro { background: var(--ce-terracotta); }
.ce-app .pf-eleito-camara { background: #6F86B8; }
.ce-app .pf-composicao-lista { margin: 0; padding: 0; list-style: none; font-size: var(--ce-text-sm); }
.ce-app .pf-composicao-lista li { display: flex; justify-content: space-between; gap: var(--ce-space-4); padding-block: var(--ce-space-2); border-bottom: 1px solid var(--ce-border-soft); overflow-wrap: anywhere; }
.ce-app .pf-composicao-lista strong { flex: none; }

/* Cores dos badges. São categorias, não julgamento: nada de verde e vermelho como certo e errado.
   O texto sempre diz a situação, e todas as combinações têm contraste acima de 6,5:1. */
.ce-app .ce-people-leis .ce-badge { max-width: 100%; height: auto; white-space: normal; }
.ce-app .badge-reeleicao { background: #CDE3EF; color: #123F57; border-color: #8FB9CF; }
.ce-app .badge-retorno { background: #DDE6BE; color: #3D4A1E; border-color: #A9B878; }
.ce-app .badge-primeiro { background: #F7D6C8; color: #7D2F18; border-color: #DE9E85; }
.ce-app .badge-suplencia { background: #F6E9CF; color: #664510; border-color: #D9B878; }
.ce-app .badge-nao_reeleito { background: #E6E6E3; color: #4A4A46; border-color: #B4B4AE; }
.ce-app .badge-outro_eleito { background: #E2D9F3; color: #42306B; border-color: #B3A2D6; }
.ce-app .badge-outro_disputou { background: #F4E2EC; color: #70304F; border-color: #D9AEC5; }
.ce-app .badge-sem_candidatura { background: #F0EBE2; color: #5A5148; border-color: #CFC6B8; }
.ce-app .badge-sem_resultado { background: #FFFFFF; color: #5A5148; border: 1px dashed #8B7F73; }
.ce-app .badge-falecimento { background: #FFFFFF; color: #26221E; border-color: #26221E; }
.ce-app .badge-camara { background: #D6E0F5; color: #263F73; border-color: #9FB3DC; }
.ce-app .badge-continua { background: #E4ECEA; color: #2F4A45; border-color: #A9C0BB; }
/* Resultado de votação: os mesmos tons do voto Sim e do voto Não. */
.ce-app .resultado-aprovada { background: #DCE8F6; color: #1F4A80; border-color: #9DBBE0; }
.ce-app .resultado-rejeitada { background: #F6E9CF; color: #664510; border-color: #D9B878; }

/* Página inicial: destaques, pauta, assuntos e entrada por estado. */
.ce-app .ini-topo h1 { max-width: 22ch; }
.ce-app .ini-cab { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--ce-space-2) var(--ce-space-4); padding-bottom: var(--ce-space-3); border-bottom: 1px solid var(--ce-border); }
.ce-app .ini-mais { font-weight: 600; font-size: var(--ce-text-sm); }
.ce-app .ini-destaques { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ce-space-5); margin-top: var(--ce-space-5); }
@media (max-width: 760px) { .ce-app .ini-destaques { grid-template-columns: 1fr; } }
.ce-app .ini-destaque { display: flex; flex-direction: column; gap: var(--ce-space-3); min-width: 0; padding: var(--ce-space-6); background: var(--ce-surface); border: 1px solid var(--ce-border-soft); border-radius: var(--ce-radius-lg); }
.ce-app .ini-destaque p { margin: 0; }
.ce-app .ini-d-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--ce-space-1) var(--ce-space-4); font-size: .8125rem; color: var(--ce-text-muted); }
.ce-app .ini-d-tema { font-weight: 600; color: var(--ce-espresso); }
.ce-app .ini-d-titulo { font: 480 1.375rem/1.25 var(--ce-font-display); letter-spacing: -.01em; text-wrap: balance; }
.ce-app .ini-d-titulo a { text-decoration: none; color: var(--ce-ink); }
.ce-app .ini-d-titulo a:hover { text-decoration: underline; text-underline-offset: 3px; }
.ce-app .ini-d-muda { color: var(--ce-text-secondary); }
.ce-app .ini-d-resultado { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ce-space-2); font-weight: 600; font-size: var(--ce-text-sm); }
.ce-app .resultado-norma { background: #E3EBDA; color: #2F4A1E; border-color: #A9B98F; }
.ce-app .ini-placar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--ce-space-1) var(--ce-space-3); align-items: center; font-size: .8125rem; color: var(--ce-text-secondary); }
.ce-app .ini-placar-rotulo { grid-column: 1 / -1; }
.ce-app .ini-placar-num { white-space: nowrap; color: var(--ce-ink); }
.ce-app .ini-d-nota { padding-top: var(--ce-space-2); border-top: 1px solid var(--ce-border-soft); font-size: .8125rem; color: var(--ce-text-secondary); }
.ce-app .ini-duas { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: var(--ce-space-10); }
@media (max-width: 860px) { .ce-app .ini-duas { grid-template-columns: 1fr; gap: var(--ce-space-8); } }
.ce-app .ini-sessao { margin-top: var(--ce-space-5); }
.ce-app .ini-quando { margin: 0 0 var(--ce-space-2); font-size: var(--ce-text-sm); color: var(--ce-text-secondary); }
.ce-app .ini-pauta { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ce-border-soft); }
.ce-app .ini-pauta li { display: flex; justify-content: space-between; gap: var(--ce-space-4); padding: var(--ce-space-3) 0; border-bottom: 1px solid var(--ce-border-soft); }
.ce-app .ini-pauta a, .ce-app .ini-pauta li > span:first-child { font-weight: 500; color: var(--ce-ink); }
.ce-app .ini-pauta .ce-meta { white-space: nowrap; }
.ce-app .ini-temas { list-style: none; margin: var(--ce-space-4) 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--ce-space-2); }
.ce-app .ini-temas a { display: inline-flex; align-items: center; gap: var(--ce-space-2); min-height: 44px; padding: 0 var(--ce-space-4); border: 1px solid var(--ce-border); border-radius: 999px; background: var(--ce-surface); color: var(--ce-ink); text-decoration: none; font-size: var(--ce-text-sm); font-weight: 500; }
.ce-app .ini-temas a:hover { background: var(--ce-sand); }
.ce-app .ini-temas .qtd { font-size: var(--ce-text-xs); font-weight: 700; color: var(--ce-espresso); }
.ce-app .ini-repr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: var(--ce-space-10); align-items: center; padding: var(--ce-space-8); background: var(--ce-surface); border: 1px solid var(--ce-border-soft); border-radius: var(--ce-radius-lg); }
@media (max-width: 760px) { .ce-app .ini-repr { grid-template-columns: 1fr; padding: var(--ce-space-5); gap: var(--ce-space-5); } }
.ce-app .ini-repr-texto > p { margin-top: var(--ce-space-2); }
.ce-app .ini-repr-campo { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--ce-space-3); margin-top: var(--ce-space-5); }
.ce-app .ini-repr-campo .ce-field { flex: 1 1 12rem; }
.ce-app .ini-mapa { display: block; width: 100%; max-width: 460px; height: auto; margin: 0 auto; }
.ce-app .ini-mapa path { fill: #E9E1D5; stroke: var(--ce-surface); stroke-width: 2; transition: fill var(--ce-duration-fast); }
.ce-app .ini-mapa a:hover path, .ce-app .ini-mapa a:focus-visible path { fill: var(--mp-marinho); }
.ce-app .ini-mapa a:focus-visible { outline: none; }
.ce-app .ini-mapa text { font: 700 22px/1 var(--ce-font-ui); fill: var(--ce-espresso); text-anchor: middle; pointer-events: none; }
@media (max-width: 560px) { .ce-app .ini-mapa text { font-size: 30px; } }
.ce-app .ini-final { padding: var(--ce-space-6); background: var(--ce-sand); border-radius: var(--ce-radius-lg); }
.ce-app .ini-final > p { margin-bottom: var(--ce-space-4); }
@media (prefers-reduced-motion: reduce) { .ce-app .ini-mapa path { transition: none; } }

/* Página do estado */
.ce-app .est-barras { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ce-space-10); margin: var(--ce-space-5) 0 var(--ce-space-8); }
@media (max-width: 860px) { .ce-app .est-barras { grid-template-columns: 1fr; gap: var(--ce-space-6); } }
.ce-app .est-lista-barras { margin-top: var(--ce-space-3); }
.ce-app .est-lista-barras li { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr) 2.5rem; gap: var(--ce-space-3); align-items: center; min-height: 32px; }
.ce-app .est-lista-barras--longo li { grid-template-columns: 11rem minmax(0, 1fr) 2.5rem; }
.ce-app .est-lista-barras .ce-bar-label { white-space: normal; }
.ce-app .est-lista-barras .ce-bar-number { text-align: right; }
@media (max-width: 420px) { .ce-app .est-lista-barras--longo li { grid-template-columns: 8.5rem minmax(0, 1fr) 2.5rem; } }
.ce-app .est-mais { margin-top: var(--ce-space-5); }
.ce-app .est-novos { list-style: none; margin: var(--ce-space-3) 0 0; padding: 0; }
.ce-app .est-novos li { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ce-space-1) var(--ce-space-2); padding: var(--ce-space-2) 0; border-bottom: 1px solid var(--ce-border-soft); }
.ce-app .est-novos a { font-weight: 600; }

/* Retrospectiva da legislatura */
.ce-app .rt-link { margin-top: var(--ce-space-3); }
.ce-app .rt-botoes { display: flex; flex-wrap: wrap; gap: var(--ce-space-3); margin-top: var(--ce-space-4); }
.ce-app .rt-numeros { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ce-space-4); margin-top: var(--ce-space-5); }
.ce-app .rt-numeros--dois { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 860px) { .ce-app .rt-numeros { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .ce-app .rt-numeros, .ce-app .rt-numeros--dois { grid-template-columns: 1fr; } }
.ce-app .rt-num { display: flex; flex-direction: column; gap: var(--ce-space-1); min-width: 0; padding: var(--ce-space-5); background: var(--ce-surface); border: 1px solid var(--ce-border-soft); border-radius: var(--ce-radius-lg); }
.ce-app .rt-num strong { font: 480 2.6rem/1 var(--ce-font-display); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.ce-app .rt-rot { font-weight: 600; }
.ce-app .rt-cmp { margin-top: var(--ce-space-2); padding-top: var(--ce-space-2); border-top: 1px solid var(--ce-border-soft); font-size: .8125rem; color: var(--ce-text-secondary); }
.ce-app .rt-trilho { position: relative; display: block; height: 8px; margin-top: var(--ce-space-2); border-radius: 4px; background: var(--ce-sand); }
.ce-app .rt-fill { position: absolute; inset: 0 auto 0 0; border-radius: 4px; background: var(--ce-espresso); }
.ce-app .rt-med { position: absolute; top: -4px; bottom: -4px; width: 2px; background: var(--ce-ink); }
.ce-app .rt-duas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ce-space-10); }
@media (max-width: 860px) { .ce-app .rt-duas { grid-template-columns: 1fr; gap: var(--ce-space-8); } }
.ce-app .rt-leis { list-style: none; margin: var(--ce-space-4) 0 0; padding: 0; border-top: 1px solid var(--ce-border-soft); }
.ce-app .rt-leis li { display: grid; gap: var(--ce-space-1); padding: var(--ce-space-3) 0; border-bottom: 1px solid var(--ce-border-soft); }
.ce-app .rt-lei-nome { font-weight: 700; display: flex; flex-wrap: wrap; align-items: center; gap: var(--ce-space-2); }
.ce-app .rt-lei-texto { color: var(--ce-text-secondary); font-size: .9375rem; }
.ce-app .rt-vbar { margin: var(--ce-space-4) 0 var(--ce-space-2); }
.ce-app .rt-fatos { list-style: none; margin: var(--ce-space-4) 0 0; padding: 0; display: grid; gap: var(--ce-space-2); }
.ce-app .rt-fatos li { padding: var(--ce-space-3) var(--ce-space-4); background: var(--ce-surface); border: 1px solid var(--ce-border-soft); border-radius: var(--ce-radius-md); }
.ce-app .rt-espaco { margin-top: var(--ce-space-8); }
.ce-app .rt-barras li { display: grid; grid-template-columns: 11rem minmax(0, 1fr) 3rem; gap: var(--ce-space-3); align-items: center; min-height: 32px; }
.ce-app .rt-barras .ce-bar-label { white-space: normal; }
.ce-app .rt-barras .ce-bar-number { text-align: right; }
@media (max-width: 420px) { .ce-app .rt-barras li { grid-template-columns: 8.5rem minmax(0, 1fr) 3rem; } }
.ce-app .rt-imagens { display: flex; flex-wrap: wrap; gap: var(--ce-space-8); align-items: flex-start; margin-top: var(--ce-space-5); }
.ce-app .rt-imagem { display: grid; gap: var(--ce-space-2); justify-items: start; margin: 0; }
.ce-app .rt-imagem img { display: block; height: auto; max-width: 100%; border: 1px solid var(--ce-border); border-radius: var(--ce-radius-md); box-shadow: var(--ce-shadow-float); }
.ce-app .rt-imagem figcaption { font-size: var(--ce-text-sm); color: var(--ce-text-secondary); }
