/* Apuração Eleições v9.0 — neutral design system + live experience */
.ab26-app{
	--ab26-custom-primary:#24272b!important;
	--ab26-custom-accent:#5b6168!important;
	--ab26-brand:var(--ab26-custom-primary)!important;
	--ab26-accent:var(--ab26-custom-accent)!important;
	--ab26-neutral-950:#17191b;
	--ab26-neutral-900:#202326;
	--ab26-neutral-800:#303438;
	--ab26-neutral-700:#4c5156;
	--ab26-neutral-600:#676c71;
	--ab26-neutral-500:#858a8f;
	--ab26-neutral-300:#d7dadd;
	--ab26-neutral-200:#e5e7e8;
	--ab26-neutral-100:#f0f1ef;
	--ab26-neutral-50:#f7f7f5;
	--ab26-action-height:42px;
	--ab26-action-radius:10px;
}
.ab26-app .ab26-kicker,
.ab26-app .ab26-section-heading>div>span,
.ab26-app .ab26-section-titlebar p,
.ab26-app .ab26-filter-heading p{color:var(--ab26-neutral-700)!important}
.ab26-app .ab26-election-header:before{background:var(--ab26-neutral-900)!important}
.ab26-app a:not(.ab26-primary-button):not(.ab26-secondary-button){color:var(--ab26-neutral-900)}

/* Button system: action/content buttons share the same geometry. */
.ab26-app .ab26-action-button,
.ab26-app .ab26-primary-button,
.ab26-app .ab26-secondary-button,
.ab26-app .ab26-pagination button,
.ab26-app .ab26-map-detail>button:not(.ab26-map-detail-close),
.ab26-app .ab26-turn-tabs button{
	min-height:var(--ab26-action-height)!important;
	height:var(--ab26-action-height);
	padding:0 14px!important;
	border-radius:var(--ab26-action-radius)!important;
	border:1px solid var(--ab26-border-strong)!important;
	box-shadow:none!important;
	font-family:var(--ab26-font)!important;
	font-size:12px!important;
	font-weight:750!important;
	line-height:1!important;
	letter-spacing:0!important;
	text-transform:none!important;
	transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,opacity .16s ease;
}
.ab26-app .ab26-action-button,
.ab26-app .ab26-secondary-button,
.ab26-app .ab26-pagination button,
.ab26-app .ab26-turn-tabs button{
	background:var(--ab26-surface)!important;
	color:var(--ab26-heading)!important;
	-webkit-text-fill-color:var(--ab26-heading)!important;
}
.ab26-app .ab26-primary-button,
.ab26-app .ab26-map-detail>button:not(.ab26-map-detail-close),
.ab26-app .ab26-action-button.is-active,
.ab26-app .ab26-turn-tabs button.is-active,
.ab26-app .ab26-pagination button:hover:not(:disabled){
	background:var(--ab26-neutral-900)!important;
	border-color:var(--ab26-neutral-900)!important;
	color:#fff!important;
	-webkit-text-fill-color:#fff!important;
}
.ab26-app .ab26-action-button:hover:not(:disabled),
.ab26-app .ab26-secondary-button:hover:not(:disabled),
.ab26-app .ab26-turn-tabs button:hover:not(:disabled){border-color:var(--ab26-neutral-700)!important;background:var(--ab26-surface-soft)!important;transform:translateY(-1px)}
.ab26-app .ab26-action-button.is-active:hover:not(:disabled),
.ab26-app .ab26-primary-button:hover:not(:disabled){background:var(--ab26-neutral-800)!important;color:#fff!important}
.ab26-app button:disabled{opacity:.42!important;cursor:not-allowed!important;transform:none!important}
.ab26-app .ab26-office-tabs button{min-height:42px;padding:0 12px!important;border-radius:8px 8px 0 0!important;color:var(--ab26-muted)!important}
.ab26-app .ab26-office-tabs button.is-active{border-bottom-color:var(--ab26-neutral-900)!important;color:var(--ab26-heading)!important}
/* Map icon controls remain compact but use the same neutral visual language. */
.ab26-app .ab26-map-controls button,.ab26-app .ab26-icon-button{
	width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;padding:0!important;border:1px solid transparent!important;border-radius:9px!important;background:transparent!important;color:var(--ab26-heading)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important
}
.ab26-app .ab26-map-controls button:hover,.ab26-app .ab26-icon-button:hover{background:var(--ab26-surface-soft)!important;border-color:var(--ab26-border)!important}

.ab26-v9-experience{
	width:min(100%,1160px);margin:18px auto 8px;padding:12px 14px;border:1px solid var(--ab26-border);border-radius:14px;background:var(--ab26-surface);display:flex;align-items:center;gap:18px;min-width:0
}
.ab26-v9-experience-copy{flex:0 0 auto;min-width:150px;padding-right:16px;border-right:1px solid var(--ab26-border)}
.ab26-v9-experience-copy span{display:block;color:var(--ab26-muted);font-size:9px;font-weight:850;letter-spacing:.12em}
.ab26-v9-experience-copy strong{display:block;margin-top:2px;color:var(--ab26-heading);font-size:13px}
.ab26-v9-action-scroll{display:flex;align-items:center;gap:7px;min-width:0;overflow-x:auto;scrollbar-width:thin;padding:1px 1px 3px}
.ab26-action-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;cursor:pointer;white-space:nowrap}
.ab26-action-button>span{display:grid;place-items:center;width:17px;font-size:15px;line-height:1}
.ab26-action-button>b{font:inherit}
.ab26-action-button.is-ready:after{content:"";width:6px;height:6px;margin-left:1px;border-radius:50%;background:currentColor;opacity:.6}

/* Neutral live turnovers: party fills remain data colors; the change marker itself is neutral. */
.ab26-app .ab26-map-municipality.is-turnover{
	stroke:var(--ab26-neutral-950)!important;stroke-width:2!important;stroke-dasharray:3 1.8!important;filter:drop-shadow(0 0 1px rgba(255,255,255,.95))!important
}
.ab26-turnover-panel{margin-top:16px;padding:18px;border:1px solid var(--ab26-border);border-radius:14px;background:var(--ab26-surface)}
.ab26-turnover-panel>header,.ab26-timeline-advanced>header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding-bottom:13px;border-bottom:1px solid var(--ab26-border)}
.ab26-turnover-panel>header span,.ab26-timeline-advanced>header span{display:block;color:var(--ab26-muted);font-size:9px;font-weight:850;letter-spacing:.12em}
.ab26-turnover-panel>header h3,.ab26-timeline-advanced>header h3{margin:2px 0 0;color:var(--ab26-heading);font-size:19px;line-height:1.15}
.ab26-turnover-panel>header small,.ab26-timeline-advanced>header small{color:var(--ab26-muted);font-size:10px}
.ab26-turnover-list{display:grid;margin-top:4px}
.ab26-turnover-list article{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--ab26-border)}
.ab26-turnover-list article:last-child{border-bottom:0}
.ab26-turnover-list time{color:var(--ab26-muted);font-size:10px;font-weight:750}
.ab26-turnover-list strong{display:block;color:var(--ab26-heading);font-size:12px}
.ab26-turnover-list span{display:block;margin-top:2px;color:var(--ab26-muted);font-size:10px;overflow-wrap:anywhere}
.ab26-turnover-list article>b{padding:5px 7px;border:1px solid var(--ab26-border);border-radius:7px;color:var(--ab26-heading);font-size:9px}

/* Advanced timeline */
.ab26-timeline-advanced{margin-top:24px;padding-top:22px;border-top:1px solid var(--ab26-border)}
.ab26-timeline-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(270px,.6fr);gap:20px;margin-top:18px}
.ab26-candidate-evolution{min-width:0;padding:14px;border:1px solid var(--ab26-border);border-radius:12px;background:var(--ab26-surface-soft)}
.ab26-candidate-evolution svg{display:block;width:100%;height:auto;max-height:270px;overflow:visible}
.ab26-candidate-evolution svg>line{stroke:var(--ab26-border-strong);stroke-width:1}
.ab26-candidate-evolution .series{fill:none;stroke:var(--ab26-neutral-950);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.ab26-candidate-evolution .series-1{stroke:var(--ab26-neutral-600);stroke-dasharray:9 5}
.ab26-candidate-evolution .series-2{stroke:var(--ab26-neutral-400,#a5a9ad);stroke-dasharray:2 5}
.ab26-series-legend{display:flex;flex-wrap:wrap;gap:7px 14px;margin-bottom:6px;color:var(--ab26-muted);font-size:9px;font-weight:700}
.ab26-series-legend span{display:inline-flex;align-items:center;gap:6px}
.ab26-series-legend i{width:18px;height:3px;border-radius:99px;background:var(--ab26-neutral-950)}
.ab26-series-legend .series-1 i{background:var(--ab26-neutral-600)}
.ab26-series-legend .series-2 i{background:var(--ab26-neutral-400,#a5a9ad)}
.ab26-event-timeline{position:relative;display:grid;align-content:start}
.ab26-event-timeline:before{content:"";position:absolute;top:10px;bottom:10px;left:51px;width:1px;background:var(--ab26-border)}
.ab26-event-timeline article{position:relative;display:grid;grid-template-columns:40px 12px minmax(0,1fr);gap:7px;padding:7px 0}
.ab26-event-timeline time{color:var(--ab26-muted);font-size:9px;font-weight:700;text-align:right}
.ab26-event-timeline article>i{position:relative;z-index:1;width:9px;height:9px;margin-top:3px;border:2px solid var(--ab26-surface);border-radius:50%;background:var(--ab26-neutral-950);box-shadow:0 0 0 1px var(--ab26-border-strong)}
.ab26-event-timeline article.is-milestone>i{background:var(--ab26-neutral-500)}
.ab26-event-timeline strong{display:block;color:var(--ab26-heading);font-size:10px}.ab26-event-timeline span,.ab26-event-timeline small{display:block;color:var(--ab26-muted);font-size:9px;line-height:1.35}

/* Modal system */
.ab26-v9-modal-layer{position:fixed;z-index:999999;inset:0;display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:.18s ease}
.ab26-v9-modal-layer.is-open{opacity:1;visibility:visible}
.ab26-v9-modal-backdrop{position:absolute;inset:0;background:rgba(15,17,18,.66);backdrop-filter:blur(5px)}
.ab26-v9-modal{position:relative;z-index:1;width:min(680px,100%);max-height:min(84vh,820px);overflow:auto;border:1px solid var(--ab26-border);border-radius:16px;background:var(--ab26-surface);box-shadow:0 26px 80px rgba(0,0,0,.28);transform:translateY(10px) scale(.99);transition:.18s ease}
.ab26-v9-modal-layer.is-open .ab26-v9-modal{transform:none}
.ab26-v9-modal-wide{width:min(920px,100%)}
.ab26-v9-modal>header{position:sticky;z-index:2;top:0;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--ab26-border);background:color-mix(in srgb,var(--ab26-surface) 96%,transparent);backdrop-filter:blur(12px)}
.ab26-v9-modal>header span{display:block;color:var(--ab26-muted);font-size:9px;font-weight:850;letter-spacing:.12em}.ab26-v9-modal>header h3{margin:3px 0 0;color:var(--ab26-heading);font-size:22px;line-height:1.15}.ab26-icon-button{font-size:22px!important;cursor:pointer}
.ab26-v9-modal-body{padding:20px}
.ab26-v9-intro{margin:0 0 18px;color:var(--ab26-muted);font-size:12px;line-height:1.55}
.ab26-v9-modal-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--ab26-border)}
.ab26-primary-button,.ab26-secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none!important;cursor:pointer}

/* Comparator */
.ab26-compare-selects{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:10px}
.ab26-compare-selects label,.ab26-share-form label,.ab26-bu-grid>label:not(.ab26-bu-upload){display:grid;gap:6px}.ab26-compare-selects label>span,.ab26-share-form label>span,.ab26-bu-grid label>span{color:var(--ab26-heading);font-size:10px;font-weight:750}
.ab26-compare-selects select,.ab26-share-form select,.ab26-bu-grid textarea{width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--ab26-border-strong);border-radius:9px;background:var(--ab26-surface);color:var(--ab26-heading);box-shadow:none}
.ab26-compare-x{padding-bottom:11px;color:var(--ab26-muted);font-size:16px;font-weight:800}
.ab26-compare-headline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding:12px 14px;border-radius:10px;background:var(--ab26-neutral-100);color:var(--ab26-heading)}
.ab26-app[data-ab26-theme="dark"] .ab26-compare-headline{background:var(--ab26-surface-soft)}
.ab26-compare-headline strong{font-size:12px}.ab26-compare-headline span{color:var(--ab26-muted);font-size:9px}
.ab26-compare-table{display:grid;margin-top:10px;border:1px solid var(--ab26-border);border-radius:11px;overflow:hidden}
.ab26-compare-table>div{display:grid;grid-template-columns:minmax(90px,.65fr) repeat(2,minmax(0,1fr));gap:10px;padding:11px 13px;border-bottom:1px solid var(--ab26-border);align-items:center}.ab26-compare-table>div:last-child{border-bottom:0}.ab26-compare-table>div:first-child{background:var(--ab26-surface-soft)}.ab26-compare-table span{color:var(--ab26-muted);font-size:10px}.ab26-compare-table strong,.ab26-compare-table b{color:var(--ab26-heading);font-size:11px;overflow-wrap:anywhere}

/* Transparency */
.ab26-transparency-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.ab26-transparency-grid>div{padding:12px;border:1px solid var(--ab26-border);border-radius:10px;background:var(--ab26-surface-soft)}.ab26-transparency-grid>div.is-wide{grid-column:1/-1}.ab26-transparency-grid dt{color:var(--ab26-muted);font-size:9px;font-weight:750}.ab26-transparency-grid dd{margin:4px 0 0;color:var(--ab26-heading);font-size:11px;overflow-wrap:anywhere}.ab26-transparency-grid code{display:block;max-width:100%;margin-bottom:10px;padding:8px;border:1px solid var(--ab26-border);border-radius:7px;background:var(--ab26-surface);white-space:normal;word-break:break-all;font-size:9px}

/* Share card */
.ab26-share-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.ab26-card-preview{display:grid;place-items:center;min-height:260px;margin-top:18px;padding:14px;border:1px dashed var(--ab26-border-strong);border-radius:12px;background:var(--ab26-surface-soft);color:var(--ab26-muted);font-size:11px}.ab26-card-preview img{display:block;width:auto;max-width:100%;max-height:480px;border-radius:8px;box-shadow:0 8px 30px rgba(0,0,0,.12)}

/* BU */
.ab26-bu-grid{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);gap:12px}.ab26-bu-upload{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:190px;padding:18px;border:1px dashed var(--ab26-border-strong);border-radius:11px;background:var(--ab26-surface-soft);text-align:center;cursor:pointer}.ab26-bu-upload input{position:absolute;opacity:0;pointer-events:none}.ab26-bu-upload>span{margin-bottom:12px}.ab26-bu-upload strong{color:var(--ab26-heading);font-size:12px}.ab26-bu-upload small{max-width:220px;margin-top:5px;color:var(--ab26-muted);font-size:9px;line-height:1.45}.ab26-bu-grid textarea{min-height:190px;resize:vertical}.ab26-bu-result{margin-top:18px;border:1px solid var(--ab26-border);border-radius:11px;overflow:hidden}.ab26-bu-result>header{display:flex;justify-content:space-between;gap:10px;padding:12px;background:var(--ab26-surface-soft)}.ab26-bu-result>header strong{font-size:11px}.ab26-bu-result>header span{color:var(--ab26-muted);font-size:9px}.ab26-bu-result>div,.ab26-bu-result>p,.ab26-bu-result>details{margin:0;padding:12px;border-top:1px solid var(--ab26-border)}.ab26-bu-result>div>span{display:block;color:var(--ab26-muted);font-size:9px}.ab26-bu-result code,.ab26-bu-result pre{display:block;margin-top:5px;white-space:pre-wrap;word-break:break-all;color:var(--ab26-heading);font-size:9px}.ab26-bu-result dl{margin:0;padding:0 12px}.ab26-bu-result dl>div{display:grid;grid-template-columns:minmax(100px,.5fr) minmax(0,1.5fr);gap:10px;padding:8px 0;border-top:1px solid var(--ab26-border)}.ab26-bu-result dt{color:var(--ab26-muted);font-size:9px}.ab26-bu-result dd{margin:0;color:var(--ab26-heading);font-size:10px;overflow-wrap:anywhere}.ab26-bu-result p,.ab26-bu-result summary{color:var(--ab26-muted);font-size:10px}.ab26-bu-warning{background:var(--ab26-surface-soft)}

.ab26-v9-empty{padding:16px;border:1px dashed var(--ab26-border);border-radius:10px;color:var(--ab26-muted);font-size:10px;text-align:center}
.ab26-v9-toast{position:fixed;z-index:1000000;right:22px;bottom:22px;max-width:min(390px,calc(100vw - 32px));padding:12px 14px;border:1px solid var(--ab26-border-strong);border-radius:10px;background:var(--ab26-neutral-950);color:#fff;box-shadow:0 14px 40px rgba(0,0,0,.22);font-size:11px;font-weight:650;opacity:0;transform:translateY(8px);transition:.2s ease}.ab26-v9-toast.is-visible{opacity:1;transform:none}

/* Mobile: no horizontal page overflow; controlled tool scrolling only. */
@media(max-width:760px){
	.ab26-app{width:100%!important;max-width:100%!important;padding-inline:10px!important;overflow-x:clip}
	.ab26-v9-experience{width:100%;margin:12px 0 6px;padding:10px;display:block;overflow:hidden}
	.ab26-v9-experience-copy{min-width:0;margin-bottom:9px;padding:0 0 8px;border-right:0;border-bottom:1px solid var(--ab26-border)}
	.ab26-v9-action-scroll{width:100%;overflow-x:auto;padding-bottom:4px}
	.ab26-action-button{min-width:max-content}
	.ab26-timeline-grid{grid-template-columns:1fr}.ab26-event-timeline{padding-top:4px}
	.ab26-turnover-list article{grid-template-columns:46px minmax(0,1fr);gap:8px}.ab26-turnover-list article>b{grid-column:2;justify-self:start}
	.ab26-v9-modal-layer{padding:8px}.ab26-v9-modal{width:100%;max-height:92vh;border-radius:13px}.ab26-v9-modal>header{padding:15px}.ab26-v9-modal-body{padding:15px}
	.ab26-compare-selects{grid-template-columns:1fr}.ab26-compare-x{display:none}.ab26-compare-table>div{grid-template-columns:74px repeat(2,minmax(0,1fr));padding:9px 8px;gap:7px}
	.ab26-transparency-grid{grid-template-columns:1fr}.ab26-transparency-grid>div.is-wide{grid-column:auto}
	.ab26-share-form{grid-template-columns:1fr}.ab26-share-form .ab26-primary-button{width:100%}
	.ab26-bu-grid{grid-template-columns:1fr}.ab26-bu-upload,.ab26-bu-grid textarea{min-height:150px}
	.ab26-v9-modal-actions>.ab26-primary-button,.ab26-v9-modal-actions>.ab26-secondary-button{flex:1 1 140px}
	.ab26-v9-toast{right:16px;bottom:16px}
}
@media(max-width:420px){
	.ab26-app .ab26-action-button,.ab26-app .ab26-primary-button,.ab26-app .ab26-secondary-button,.ab26-app .ab26-pagination button,.ab26-app .ab26-turn-tabs button{min-height:40px!important;height:40px;padding-inline:11px!important;font-size:11px!important}
	.ab26-candidate-evolution{padding:8px}.ab26-turnover-panel{padding:14px}
}
@media(prefers-reduced-motion:reduce){.ab26-v9-modal-layer,.ab26-v9-modal,.ab26-v9-toast{transition:none!important}}
