/* Tema Apuração (resultados das eleições). Escrito à mão; o app.css traz o Tailwind. Claro, sóbrio, um acento (--accent).
   Contrato do Editor visual: cor por --accent, fontes por --tn-font-*, cantos por --tn-radius (sempre com reserva). */
.el { --el-ink: #14202b; --el-muted: #475569; --el-line: #dde3ea; --el-soft: #f3f6f9; --el-paper: #fff; --el-r: var(--tn-radius, 10px);
  --el-head: "Manrope", system-ui, sans-serif; --el-body: "IBM Plex Sans", system-ui, sans-serif; color-scheme: light;
  --s0: #1f63b4; --s1: #d4511c; --s2: #168a60; --s3: #b87d00; --s4: #c24a7c; --s5: #007a00; --s6: #5a48c8; --so: #7b8591; }
.el-body { margin: 0; background: var(--el-paper); color: var(--el-ink); font-family: var(--tn-font-body, var(--el-body)); font-size: 16.5px; line-height: 1.55; -webkit-text-size-adjust: 100%; }
.el *, .el *::before, .el *::after { box-sizing: border-box; }
.el h1, .el h2, .el h3, .el h4, .el-h { font-family: var(--tn-font-heading, var(--el-head)); letter-spacing: -.015em; line-height: 1.15; margin: 0; color: var(--el-ink); }
.el a { color: inherit; text-underline-offset: 3px; }
.el a:focus-visible, .el button:focus-visible, .el input:focus-visible, .el select:focus-visible, .el summary:focus-visible { outline: 3px solid #0b57d0; outline-offset: 2px; border-radius: 4px; }
.el-wrap { width: 100%; max-width: 74rem; margin-inline: auto; padding-inline: 1rem; }
@media (min-width: 640px) { .el-wrap { padding-inline: 1.5rem; } }
.el-narrow { max-width: 46rem; }
.el-mut { color: var(--el-muted); }
.el-num { font-variant-numeric: tabular-nums; }
.el-skip { position: absolute; left: -999px; top: 0; background: #fff; padding: .6rem 1rem; z-index: 99; }
.el-skip:focus { left: 1rem; top: 1rem; box-shadow: 0 2px 12px rgba(0,0,0,.2); }

/* faixa superior: independência e fonte */
.el-top { background: var(--el-ink); color: #e6ebf0; font-size: 13px; }
.el-top .el-wrap { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; align-items: center; min-height: 2.25rem; padding-block: .3rem; }
.el-top a { color: #fff; font-weight: 600; }
.el-top .sp { margin-left: auto; }
.el-demo { background: #fff4c2; color: #3b2f00; border-bottom: 1px solid #e8d37a; padding: .45rem 1rem; text-align: center; font-size: 13.5px; }
.el-head { border-bottom: 1px solid var(--el-line); background: #fff; }
.el-head .el-wrap { display: flex; align-items: center; gap: 1rem; min-height: 4rem; }
.el-brand { display: flex; align-items: center; gap: .6rem; font: 800 1.2rem/1 var(--tn-font-heading, var(--el-head)); text-decoration: none; letter-spacing: -.02em; min-width: 0; }
.el-brand svg { flex: none; }
.el-brand span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.el-nav { display: none; gap: .1rem; margin-left: auto; }
.el-nav a { padding: .55rem .75rem; font-weight: 600; font-size: 15px; text-decoration: none; border-radius: 6px; color: var(--el-muted); }
.el-nav a:hover, .el-nav a[aria-current] { color: var(--el-ink); background: var(--el-soft); }
.el-nav a[aria-current] { box-shadow: inset 0 -3px 0 var(--accent); }
.el-menu { margin-left: auto; }
.el-menu summary { list-style: none; cursor: pointer; padding: .6rem .8rem; border: 1px solid var(--el-line); border-radius: 8px; font-weight: 700; }
.el-menu summary::-webkit-details-marker { display: none; }
.el-menu nav { position: absolute; left: 0; right: 0; background: #fff; border-bottom: 1px solid var(--el-line); box-shadow: 0 12px 24px rgba(20,32,43,.08); padding: .5rem 1rem 1rem; z-index: 30; display: grid; }
.el-menu nav a { padding: .8rem .25rem; border-bottom: 1px solid var(--el-line); text-decoration: none; font-weight: 600; }
@media (min-width: 900px) { .el-nav { display: flex; } .el-menu { display: none; } }

/* selo de situação */
.el-chip { display: inline-flex; align-items: center; gap: .4rem; font: 700 12px/1 var(--tn-font-body, var(--el-body)); letter-spacing: .04em; text-transform: uppercase; padding: .38rem .55rem; border-radius: 999px; border: 1px solid var(--el-line); background: #fff; color: var(--el-ink); white-space: nowrap; }
.el-chip i { width: .55rem; height: .55rem; border-radius: 50%; background: var(--el-muted); display: inline-block; }
.el-chip.live { border-color: #b42318; color: #8a1a10; } .el-chip.live i { background: #b42318; animation: el-pulse 1.6s ease-in-out infinite; }
.el-chip.done { border-color: #14703f; color: #0e5a31; } .el-chip.done i { background: #14703f; }
.el-chip.wait { color: #475569; }
@keyframes el-pulse { 50% { opacity: .3; transform: scale(.7); } }
@media (prefers-reduced-motion: reduce) { .el-chip.live i { animation: none; } }

/* títulos de seção */
.el-sec { padding-block: 2.25rem; }
.el-sec + .el-sec { border-top: 1px solid var(--el-line); }
.el-over { font: 700 12.5px/1.2 var(--tn-font-body, var(--el-body)); letter-spacing: .09em; text-transform: uppercase; color: var(--accent); margin: 0 0 .4rem; }
.el-title { font-size: clamp(1.55rem, 4.2vw, 2.15rem); font-weight: 800; }
.el-lead { font-size: 1.1rem; color: var(--el-muted); max-width: 44rem; margin: .6rem 0 0; }
.el-crumb { font-size: 14px; color: var(--el-muted); padding-top: 1.25rem; } .el-crumb a { text-decoration: none; font-weight: 600; } .el-crumb a:hover { text-decoration: underline; }
.el-pagehead { padding-block: 1.25rem 1.5rem; }

/* painel de estado (seções apuradas) */
.el-tabs { display: flex; gap: .5rem; flex-wrap: wrap; margin: 1.25rem 0 0; }
.el-tab { display: grid; gap: .25rem; padding: .7rem .95rem; border: 1px solid var(--el-line); border-radius: var(--el-r); text-decoration: none; min-width: 11rem; background: #fff; }
.el-tab b { font: 800 1rem/1.1 var(--tn-font-heading, var(--el-head)); }
.el-tab[aria-current] { border-color: var(--el-ink); box-shadow: inset 0 0 0 1px var(--el-ink); }
.el-tab:hover { border-color: var(--el-muted); }
.el-grid2 { display: grid; gap: 1.5rem; }
@media (min-width: 900px) { .el-grid2 { grid-template-columns: 1.55fr 1fr; align-items: start; } .el-grid2.even { grid-template-columns: 1fr 1fr; } }
.el-panel { border: 1px solid var(--el-line); border-radius: var(--el-r); background: #fff; padding: 1.1rem 1.2rem; }
.el-panel h3 { font-size: 1.05rem; font-weight: 800; margin-bottom: .6rem; }
.el-big { font: 800 clamp(2.4rem, 7vw, 3.4rem)/1 var(--tn-font-heading, var(--el-head)); letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.el-progress { height: .7rem; background: var(--el-soft); border-radius: 99px; overflow: hidden; border: 1px solid var(--el-line); margin: .6rem 0; }
.el-progress > span { display: block; height: 100%; background: var(--el-ink); border-radius: 99px; }
.el-dl { display: grid; grid-template-columns: 1fr auto; gap: .35rem 1rem; margin: .8rem 0 0; font-size: 14.5px; }
.el-dl dt { color: var(--el-muted); } .el-dl dd { margin: 0; font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; }

/* candidatos */
.el-duel { display: grid; gap: .9rem; }
@media (min-width: 640px) { .el-duel { grid-template-columns: 1fr 1fr; } }
.el-card { position: relative; border: 1px solid var(--el-line); border-radius: var(--el-r); background: #fff; padding: 1rem; display: grid; grid-template-columns: auto 1fr; gap: .9rem; align-items: center; border-top: 5px solid var(--cc, var(--so)); }
.el-card .nm { font: 800 1.25rem/1.15 var(--tn-font-heading, var(--el-head)); }
.el-card .pc { font: 800 2.1rem/1 var(--tn-font-heading, var(--el-head)); letter-spacing: -.03em; font-variant-numeric: tabular-nums; margin-top: .35rem; }
.el-card .vt { font-size: 14.5px; color: var(--el-muted); font-variant-numeric: tabular-nums; }
.el-card .tag { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; margin-top: .35rem; display: inline-block; }
.el-card.win { background: var(--el-soft); }
.el-ph { position: relative; flex: none; width: 5.5rem; height: 6.75rem; border-radius: calc(var(--el-r) * .7); background: #e6ebf0; overflow: hidden; display: grid; place-items: center; font: 800 1.6rem/1 var(--tn-font-heading, var(--el-head)); color: #475569; }
.el-ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.el-ph.sm { width: 2.75rem; height: 3.4rem; font-size: 1rem; } .el-ph.md { width: 3.6rem; height: 4.4rem; font-size: 1.15rem; }
.el-leve .el-ph img { display: none; }
.c0b { --cc: var(--s0); } .c1b { --cc: var(--s1); } .c2b { --cc: var(--s2); } .c3b { --cc: var(--s3); } .c4b { --cc: var(--s4); } .c5b { --cc: var(--s5); } .c6b { --cc: var(--s6); } .cob { --cc: var(--so); }

.el-rank { list-style: none; margin: 0; padding: 0; display: grid; gap: .15rem; }
.el-rank li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .2rem .8rem; align-items: center; padding: .65rem 0; border-bottom: 1px solid var(--el-line); }
.el-rank .who { min-width: 0; } .el-rank .who b { display: block; font-weight: 700; overflow-wrap: anywhere; }
.el-rank .who small { color: var(--el-muted); font-size: 13.5px; }
.el-rank .v { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; } .el-rank .v b { font-size: 1.05rem; display: block; } .el-rank .v small { color: var(--el-muted); font-size: 13.5px; }
.el-rank .bar { grid-column: 1 / -1; height: .5rem; background: var(--el-soft); border-radius: 2px 5px 5px 2px; overflow: hidden; }
.el-rank .bar i { display: block; height: 100%; background: var(--cc, var(--so)); border-radius: 0 4px 4px 0; }
.el-rank .pos { width: 1.7rem; font: 800 .95rem var(--tn-font-heading, var(--el-head)); color: var(--el-muted); }
.el-ok { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; color: #0e5a31; border: 1px solid #14703f; padding: .1rem .35rem; border-radius: 4px; margin-left: .35rem; white-space: nowrap; vertical-align: 2px; }
.el-2t { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; color: #1f4f99; border: 1px solid #1f63b4; padding: .1rem .35rem; border-radius: 4px; margin-left: .35rem; white-space: nowrap; vertical-align: 2px; }

/* mapa */
.el-map { width: 100%; height: auto; max-height: 36rem; display: block; }
.el-map .uf { stroke: #fff; stroke-width: 1.4; stroke-linejoin: round; transition: opacity .15s; cursor: pointer; }
.el-map a:hover .uf, .el-map a:focus-visible .uf { stroke: var(--el-ink); stroke-width: 2.2; }
.el-map a:focus-visible { outline: none; }
.el-map .nd { fill: #e6ebf0; }
.el-map .c0 { fill: var(--s0); } .el-map .c1 { fill: var(--s1); } .el-map .c2 { fill: var(--s2); } .el-map .c3 { fill: var(--s3); } .el-map .c4 { fill: var(--s4); } .el-map .c5 { fill: var(--s5); } .el-map .c6 { fill: var(--s6); } .el-map .co { fill: var(--so); }
.el-map .s1 { fill-opacity: .62; } .el-map .s2 { fill-opacity: .82; }
.el-map-t { font: 700 10px var(--el-body); fill: #fff; paint-order: stroke; stroke: rgba(15,23,42,.55); stroke-width: 2.5px; pointer-events: none; }
.el-key { list-style: none; margin: .8rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem 1rem; font-size: 14px; }
.el-key li { display: flex; align-items: center; gap: .4rem; }
.sw { display: inline-block; width: .9rem; height: .9rem; border-radius: 3px; background: var(--so); flex: none; }
.sw.c0 { background: var(--s0); } .sw.c1 { background: var(--s1); } .sw.c2 { background: var(--s2); } .sw.c3 { background: var(--s3); } .sw.c4 { background: var(--s4); } .sw.c5 { background: var(--s5); } .sw.c6 { background: var(--s6); } .sw.co { background: var(--so); } .sw.nd { background: #e6ebf0; border: 1px solid #b9c2cc; }
.sw.seg-v { background: var(--el-ink); } .sw.seg-b { background: #8b97a5; } .sw.seg-n { background: #c4ccd5; } .sw.seg-a { background: #fff; border: 1.5px solid #8b97a5; }
.el-shade { font-size: 13px; color: var(--el-muted); margin-top: .4rem; }

/* barras empilhadas, waffle, haltere */
.el-stack { width: 100%; height: 1rem; display: block; } .el-stack .seg-v { fill: var(--el-ink); } .el-stack .seg-b { fill: #8b97a5; } .el-stack .seg-n { fill: #c4ccd5; } .el-stack .seg-a { fill: #fff; stroke: #8b97a5; stroke-width: .4; }
.el-legend { list-style: none; margin: .7rem 0 0; padding: 0; display: grid; gap: .3rem; font-size: 14px; } .el-legend li { display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; } .el-legend .mut { color: var(--el-muted); }
.el-waffle { max-width: 100%; height: auto; display: block; } .el-waffle .c0 { fill: var(--s0); } .el-waffle .c1 { fill: var(--s1); } .el-waffle .c2 { fill: var(--s2); } .el-waffle .c3 { fill: var(--s3); } .el-waffle .c4 { fill: var(--s4); } .el-waffle .c5 { fill: var(--s5); } .el-waffle .c6 { fill: var(--s6); } .el-waffle .co { fill: var(--so); }
.el-dumb { width: 100%; max-width: 30rem; height: auto; display: block; font-family: var(--el-body); } .el-dumb .grid { stroke: var(--el-line); stroke-width: .6; } .el-dumb .ax { font-size: 8.5px; fill: var(--el-muted); }
.el-dumb .dl { stroke-width: 2; opacity: .5; } .el-dumb .dl.c0 { stroke: var(--s0); } .el-dumb .dl.c1 { stroke: var(--s1); } .el-dumb .dl.c2 { stroke: var(--s2); } .el-dumb .dl.c3 { stroke: var(--s3); } .el-dumb .dl.c4 { stroke: var(--s4); } .el-dumb .dl.c5 { stroke: var(--s5); } .el-dumb .dl.c6 { stroke: var(--s6); }
.el-dumb .dm1 { fill: #fff; stroke-width: 2; } .el-dumb .dm2 { stroke: #fff; stroke-width: 1.5; }
.el-dumb .c0 { stroke: var(--s0); } .el-dumb .c1 { stroke: var(--s1); } .el-dumb .c2 { stroke: var(--s2); } .el-dumb .c3 { stroke: var(--s3); } .el-dumb .c4 { stroke: var(--s4); } .el-dumb .c5 { stroke: var(--s5); } .el-dumb .c6 { stroke: var(--s6); }
.el-dumb circle.dm2.c0 { fill: var(--s0); } .el-dumb circle.dm2.c1 { fill: var(--s1); } .el-dumb circle.dm2.c2 { fill: var(--s2); } .el-dumb circle.dm2.c3 { fill: var(--s3); } .el-dumb circle.dm2.c4 { fill: var(--s4); } .el-dumb circle.dm2.c5 { fill: var(--s5); } .el-dumb circle.dm2.c6 { fill: var(--s6); }

/* tabelas */
.el-tw { overflow-x: auto; border: 1px solid var(--el-line); border-radius: var(--el-r); }
.el-table { width: 100%; border-collapse: collapse; font-size: 15px; min-width: 32rem; }
.el-table caption { text-align: left; padding: .8rem 1rem; font-weight: 800; font-family: var(--tn-font-heading, var(--el-head)); }
.el-table th, .el-table td { padding: .6rem .8rem; border-top: 1px solid var(--el-line); text-align: left; vertical-align: middle; }
.el-table thead th { background: var(--el-soft); font-size: 13px; text-transform: uppercase; letter-spacing: .05em; color: var(--el-muted); border-top: 0; }
.el-table td.r, .el-table th.r { text-align: right; font-variant-numeric: tabular-nums; }
.el-table a { font-weight: 700; }

/* UFs em lista */
.el-uflist { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: .5rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 14.5rem), 1fr)); }
.el-uflist a { display: grid; gap: .1rem; padding: .65rem .8rem; border: 1px solid var(--el-line); border-left: 5px solid var(--cc, #c4ccd5); border-radius: calc(var(--el-r) * .6); text-decoration: none; background: #fff; height: 100%; }
.el-uflist a:hover { border-color: var(--el-muted); border-left-color: var(--cc, #c4ccd5); background: var(--el-soft); }
.el-uflist b { font-size: 15px; } .el-uflist span { font-size: 13.5px; color: var(--el-muted); }

/* aviso de fonte (obrigatório) */
.el-src { display: flex; flex-wrap: wrap; gap: .3rem 1.1rem; align-items: baseline; font-size: 14px; color: var(--el-ink); background: var(--el-soft); border: 1px solid var(--el-line); border-left: 5px solid var(--el-ink); border-radius: calc(var(--el-r) * .6); padding: .7rem 1rem; margin: 0 0 1.25rem; }
.el-src b { font-weight: 800; } .el-src .t { color: var(--el-muted); }
.el-note { border: 1px solid #e8d37a; background: #fff8d9; color: #3b2f00; border-radius: calc(var(--el-r) * .6); padding: .7rem 1rem; margin: 0 0 1.25rem; font-size: 14.5px; }
.el-note.err { border-color: #e4a29b; background: #fdecea; color: #6b140d; }
.el-live-bar { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; font-size: 13.5px; color: var(--el-muted); margin-bottom: 1rem; }
.el-btn { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; min-height: 2.75rem; padding: .55rem 1rem; border-radius: 8px; border: 1px solid var(--el-ink); background: var(--el-ink); color: #fff; font: 700 15px var(--tn-font-body, var(--el-body)); text-decoration: none; cursor: pointer; }
.el-btn.ghost { background: #fff; color: var(--el-ink); border-color: var(--el-line); } .el-btn.ghost:hover { border-color: var(--el-ink); }
.el-btn.sm { min-height: 2.25rem; padding: .3rem .7rem; font-size: 13.5px; }
.el-inp { min-height: 2.9rem; padding: .5rem .85rem; border: 1px solid #94a3b8; border-radius: 8px; background: #fff; font: 16px var(--tn-font-body, var(--el-body)); width: 100%; color: var(--el-ink); }
.el-search { display: flex; gap: .5rem; flex-wrap: wrap; } .el-search .el-inp { flex: 1 1 14rem; }
.el-tools { display: grid; gap: .8rem; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); }
.el-tool { display: grid; gap: .3rem; padding: 1rem 1.1rem; border: 1px solid var(--el-line); border-radius: var(--el-r); text-decoration: none; background: #fff; }
.el-tool:hover { border-color: var(--el-ink); } .el-tool b { font: 800 1.05rem var(--tn-font-heading, var(--el-head)); } .el-tool span { font-size: 14.5px; color: var(--el-muted); }
.el-pill { display: inline-block; padding: .35rem .7rem; border: 1px solid var(--el-line); border-radius: 99px; font-size: 14px; font-weight: 600; text-decoration: none; background: #fff; }
.el-pill:hover, .el-pill[aria-current] { border-color: var(--el-ink); background: var(--el-soft); }
.el-pills { display: flex; flex-wrap: wrap; gap: .4rem; margin: .8rem 0 0; }
.el-lite { background: #eef4ff; border: 1px solid #b6ccf4; color: #0f2e63; font-size: 14px; padding: .55rem 1rem; display: none; } .el-lite.on { display: block; } .el-lite a { font-weight: 700; }

/* texto corrido (páginas institucionais) */
.el-prose { max-width: 46rem; font-size: 1.05rem; } .el-prose h2 { font-size: 1.4rem; margin: 2rem 0 .6rem; } .el-prose h3 { font-size: 1.1rem; margin: 1.4rem 0 .4rem; }
.el-prose p, .el-prose li { color: #26323f; } .el-prose ul, .el-prose ol { padding-left: 1.3rem; } .el-prose li { margin: .3rem 0; }
.el-prose code { background: var(--el-soft); padding: .1rem .35rem; border-radius: 4px; font-size: .92em; overflow-wrap: anywhere; }
.el-prose table { border-collapse: collapse; width: 100%; font-size: 15px; } .el-prose td, .el-prose th { border: 1px solid var(--el-line); padding: .5rem .7rem; text-align: left; vertical-align: top; }

/* artigos */
.el-posts { display: grid; gap: 1.2rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); list-style: none; padding: 0; margin: 1.2rem 0 0; }
.el-post { position: relative; display: grid; gap: .5rem; align-content: start; }
.el-post .im { aspect-ratio: 16/10; background: var(--el-soft); border-radius: var(--el-r); overflow: hidden; } .el-post img { width: 100%; height: 100%; object-fit: cover; display: block; }
.el-post h3 { font-size: 1.1rem; font-weight: 800; } .el-post h3 a { text-decoration: none; } .el-post h3 a::after { content: ""; position: absolute; inset: 0; } .el-post:hover h3 a { text-decoration: underline; }
.el-post p { margin: 0; font-size: 14.5px; color: var(--el-muted); }

.el-foot { margin-top: 3rem; border-top: 1px solid var(--el-line); background: var(--el-soft); font-size: 14.5px; }
.el-foot .el-wrap { padding-block: 2rem; display: grid; gap: 1.5rem; }
@media (min-width: 800px) { .el-foot .cols { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 2rem; } }
.el-foot h2 { font-size: .8rem; text-transform: uppercase; letter-spacing: .09em; color: var(--el-muted); font-family: var(--tn-font-body, var(--el-body)); font-weight: 700; margin-bottom: .6rem; }
.el-foot ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .45rem; } .el-foot a { text-decoration: none; } .el-foot a:hover { text-decoration: underline; }
.el-legal { border-top: 1px solid var(--el-line); padding-top: 1rem; color: var(--el-muted); font-size: 13.5px; }
.el-empty { padding: 2rem 1rem; text-align: center; color: var(--el-muted); border: 1px dashed var(--el-line); border-radius: var(--el-r); }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.el-leve .el-hide-leve { display: none !important; }
@media print { .el-top, .el-nav, .el-menu, .el-foot .cols { display: none; } }
