/* Análise "Espectro político dos partidos" (complementa erro.css) */
.es-plabel { font: 600 12px 'JetBrains Mono', monospace; fill: var(--text); pointer-events: none; }
.es-plabel.sm { font-size: 10.5px; fill: var(--text-secondary); }
.es-party circle.sel { stroke: var(--text); stroke-width: 2.5; }
.es-party:hover circle { stroke: var(--text); }
.es-heat td.es-cell { font-weight: 600; min-width: 64px; }
.es-heat td.es-na { color: var(--text-tertiary); }
.es-heat tbody tr { cursor: pointer; }
.es-heat tbody tr:hover td, .es-heat tbody tr.sel td { box-shadow: inset 0 1px 0 var(--brand), inset 0 -1px 0 var(--brand); }
.es-sw { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 6px; vertical-align: 0; }
.es-foot { margin-top: 10px; }
.es-select { font: 500 13px Inter, sans-serif; padding: 8px 12px; border-radius: 10px; border: 1px solid var(--border); background: var(--bg-elev); color: var(--text); max-width: 100%; }
.es-conta { display: grid; gap: 14px; margin-top: 14px; }
.es-tema { border: 1px solid var(--border-soft); border-radius: 14px; padding: 12px 14px; background: var(--bg-elev-2); }
.es-tema-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 6px; }
.es-tema h3, .es-vgroup h3 { font-size: 14px; margin: 0; }
.es-badge { font: 600 12px 'JetBrains Mono', monospace; padding: 3px 9px; border-radius: 8px; white-space: nowrap; }
.es-tema .an-table td { white-space: normal; }
.es-votos { display: grid; gap: 18px; margin-top: 8px; }
.es-vgroup { display: grid; gap: 8px; }
.es-vot { border-left: 3px solid var(--border); padding: 4px 0 4px 12px; border-radius: 0; }
.es-vot-top { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; font-size: 13.5px; }
.es-vot-top a { color: var(--text); text-decoration: none; }
.es-vot-top a:hover { color: var(--brand); text-decoration: underline; }
.es-vot-top .muted, .es-conta .muted, .es-heat .muted { color: var(--text-tertiary); font-size: 12px; font-weight: 400; }
.es-vot .an-note { margin: 2px 0 0; }
.es-glegend { margin-top: 10px; flex-wrap: wrap; gap: 6px 16px; font-size: 12.5px; }
.lg-dot.es-dot-b, circle.es-dot-b { background: #b45309; fill: #b45309; }
.lg-dot.es-dot-l, circle.es-dot-l { background: #0f766e; fill: #0f766e; }
circle.es-dot-b, circle.es-dot-l { fill-opacity: .9; cursor: default; }
@media (max-width: 620px) {
  .es-heat .muted { display: none; }
}
.es-desc { margin: 2px 0 6px; }
.es-lados { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.es-lado { display: flex; flex-direction: column; gap: 2px; font-size: 12.5px; color: var(--text-secondary); padding: 7px 10px; border-radius: 10px; border: 1px solid var(--border-soft); }
.es-lado.esq { background: rgba(180, 66, 79, .06); }
.es-lado.dir { background: rgba(47, 93, 168, .06); }
.es-lado-t { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--text-tertiary); }
.es-lado-t b { color: var(--text); }
.es-pares { display: grid; gap: 3px; margin: 6px 0; }
.es-pares i { font-style: normal; color: var(--text-tertiary); margin: 0 4px; }
@media (max-width: 620px) { .es-lados { grid-template-columns: 1fr; } }
