:root{--ink:#17191b;--muted:#68716e;--line:#dde6df;--bg:#f4f7f5;--federal:#3e3593;--estadual:#ed1c24;--vereador:#008d45;--accent:#008d45}
header{gap:25px;border-top:4px solid var(--accent);padding-top:14px;padding-bottom:14px}
.brand-logo{position:relative;flex:0 0 210px;width:210px;height:145px;overflow:hidden;background:#fff}
.brand-logo img{position:absolute;width:330px;height:330px;max-width:none;left:-60px;top:-82px}
.brand-title{flex:1;border-left:1px solid #e4e8e5;padding-left:25px}
.header-side{max-width:220px}
.badge{background:#edf7f0;color:#006f36;border-color:#d2e9d9}
.segmented button.active{background:var(--accent)}
.segmented button:hover:not(.active){background:#eff7f1;color:#006f36}
.segmented button{color:#55695d}
.segmented{border-color:#d3dfd6}
.text-button{color:#007b3c}
.light-button{color:#28653e;border-color:#d3e2d7}
.light-button:hover{background:#f0f8f2}
.brand-dot{background:var(--vereador);box-shadow:14px 0 0 var(--estadual),28px 0 0 var(--federal);margin-right:28px}
.legend-circle{background:#3e359399;border-color:var(--federal)}
.kpi{background:#f6f8f6}
.change-value.positive{color:#008d45}
.change-value.negative{color:#c91b25}
footer{max-width:none}
.developer-credit{border-top:1px solid var(--line);padding:17px 0 0;margin:18px 0 0;text-align:center;font-size:12px;color:#65736b}
.developer-credit strong{font-weight:650;color:#007b3c;letter-spacing:.2px}
.map-actions{display:flex;gap:6px}
.detail-table .council-votes{color:#007c3c;background:#f0f8f2;font-variant-numeric:tabular-nums;font-weight:600}
.detail-table td:nth-child(6){font-variant-numeric:tabular-nums}
@media(max-width:1150px){header{gap:18px}.brand-title{padding-left:18px}h1{font-size:26px}.header-side{max-width:170px}.brand-logo{flex-basis:180px;width:180px;height:125px}.brand-logo img{width:285px;height:285px;left:-53px;top:-71px}}
@media(max-width:800px){header{flex-wrap:wrap;align-items:center;gap:12px;padding:12px 18px 19px}.brand-logo{flex-basis:160px;width:160px;height:110px;margin:auto}.brand-logo img{width:250px;height:250px;left:-45px;top:-62px}.brand-title{flex-basis:100%;border-left:0;border-top:1px solid #e4e8e5;padding:16px 0 0}.brand-title h1{font-size:24px}.brand-dot{box-shadow:11px 0 0 var(--estadual),22px 0 0 var(--federal);margin-right:22px}.brand-logo img{object-fit:contain}.map-actions{flex-wrap:wrap;justify-content:flex-end}.developer-credit{font-size:12px}}
