
*{box-sizing:border-box}body{margin:0;background:#f2f7fc;color:#073b78;font-family:Arial,sans-serif}.top{background:white;border-bottom:1px solid #d8e6f2}.head{max-width:1500px;margin:auto;height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 20px}.brand{font-size:38px;font-weight:800;color:#1082b9}.brand small{font-size:20px;color:#163d75;margin-left:24px;border-left:1px solid #9cb8ce;padding-left:24px}.menu{display:flex;gap:30px;font-size:13px;font-weight:700;text-align:center}.hero{max-width:1500px;margin:12px auto 0;background:linear-gradient(90deg,#dff1ff,#fff);border:1px solid #cfe0ee;border-radius:13px;display:grid;grid-template-columns:260px 1fr 430px;min-height:128px;overflow:hidden}.flag{background:linear-gradient(155deg,#0a5fb6 0 34%,#fff 34% 40%,#f5d43b 40% 67%,#14844d 67%);position:relative}.flag:after{content:'★';position:absolute;color:#fff;font-size:70px;left:95px;top:23px}.heroText{padding:22px 28px}.heroText b{font-size:13px}.heroText h1{font-size:31px;margin:8px 0 5px}.heroText p{margin:0;color:#5680aa}.live{margin:18px;background:#fff;border:1px solid #d7e5f0;border-radius:12px;padding:18px;color:#087b47}.bar{height:12px;background:#e3edf6;border-radius:10px;margin-top:13px;overflow:hidden}.bar i{display:block;width:67%;height:100%;background:#0aae6c}.tabs{max-width:1500px;margin:10px auto 16px;display:grid;grid-template-columns:repeat(5,1fr);background:white;border:1px solid #cedfeb;border-radius:10px;overflow:hidden}.tabs a{padding:16px;text-align:center;font-weight:800;border-right:1px solid #dbe6ef;color:#06489b;text-decoration:none}.wrap{max-width:1500px;margin:auto;padding:0 0 40px}.majors{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel{background:#fff;border:1px solid #d5e3ef;border-radius:12px;overflow:hidden}.ph{padding:15px 18px;border-bottom:1px solid #e0eaf2;display:flex;align-items:center;justify-content:space-between}.ph h2{margin:0;font-size:25px}.ph small{display:block;color:#6689aa;margin-top:4px}.green h2{color:#078047}.leadergrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px}.leader{border:1px solid #dce8f2;border-radius:10px;padding:14px;display:grid;grid-template-columns:44px 74px 1fr;align-items:center;gap:10px}.pos{font-size:18px;font-weight:800;background:#0d7df1;color:#fff;border-radius:8px;padding:12px 8px;text-align:center}.green .pos{background:#0ba562}.photo{width:70px;height:70px;border-radius:50%;background:linear-gradient(#d5e4ef,#9fb7c8)}.leader strong{font-size:18px}.leader em{display:block;font-style:normal;font-size:29px;font-weight:800;margin-top:4px}.rest{padding:0 12px 12px}.rrow{height:54px;border:1px solid #e1eaf1;border-radius:8px;margin-top:7px;display:grid;grid-template-columns:42px 45px 1fr 100px 130px;align-items:center;padding:0 10px;gap:8px}.mini{width:38px;height:38px;border-radius:50%;background:#ccdce8}.deputies{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}.dephead{padding:15px 18px;background:linear-gradient(90deg,#fff8e7,#fff);border-bottom:1px solid #e4eaf0}.dephead.purple{background:linear-gradient(90deg,#f5efff,#fff)}.dephead h2{margin:0;font-size:23px}.dephead small{color:#6484a2}.cols{display:grid;grid-template-columns:28px 30px 1.35fr .65fr .75fr 35px 180px;gap:7px;padding:7px 10px;background:#f2f7fb;font-size:10px;font-weight:800;color:#47739d}.drow{display:grid;grid-template-columns:28px 30px 1.35fr .65fr .75fr 35px 180px;gap:7px;align-items:center;min-height:42px;padding:4px 10px;border-bottom:1px solid #e3ebf2;font-size:12px}.rank{text-align:center}.avatar{width:27px;height:27px;border-radius:50%;background:#dce7ef;display:grid;place-items:center;font-size:8px}.who strong{display:block;font-size:12px}.who small,.votes small{display:block;color:#7892a9;font-size:9px}.pct b{display:block}.pct i{display:block;height:5px;background:#2188f5;border-radius:4px;margin-top:4px}.pct.purple i{background:#9551df}.status{text-align:center}.mun{border:1px solid #b9d9ef;background:#f5fbff;border-radius:7px;padding:7px 8px;text-decoration:none;color:#07529a;font-size:10px;font-weight:800;white-space:nowrap}.pres{margin-top:24px;border-color:#f2c9ce}.pres .ph{background:linear-gradient(90deg,#fff0f1,#fff)}.pres h2{color:#df1c2f}.presgrid{display:grid;grid-template-columns:1fr 1fr 1fr;padding:14px;gap:12px}.pres .leader{grid-template-columns:44px 74px 1fr}.note{margin-top:15px;background:#fff;border:1px solid #d9e5ef;border-radius:10px;padding:12px;color:#67829a;font-size:12px}
@media(max-width:900px){.head{height:auto;padding:14px;display:block}.menu{display:none}.brand{font-size:28px}.hero{margin:8px;grid-template-columns:1fr}.flag{height:80px}.live{margin:10px}.tabs{margin:8px;overflow-x:auto;display:flex}.tabs a{min-width:150px}.wrap{padding:0 8px 30px}.majors,.deputies{grid-template-columns:1fr}.leadergrid{grid-template-columns:1fr 1fr}.drow,.cols{grid-template-columns:24px 26px 1.2fr .65fr .7fr 30px 145px;font-size:10px}.mun{font-size:9px}.presgrid{grid-template-columns:1fr}}

/* LIVE25E: refinamento visual */
.flag{background:#eaf3fb;display:flex;align-items:center;justify-content:center;padding:0;overflow:hidden}.flag:after{display:none!important}.flag img{width:100%;height:100%;object-fit:cover;display:block}
.hero{grid-template-columns:260px 1fr 390px;min-height:118px}.heroText{padding:18px 26px}.heroText h1{font-size:29px;margin:6px 0 4px}.live{margin:14px;padding:14px}
.majors{gap:14px}.ph{padding:11px 16px}.ph h2{font-size:22px}.leadergrid{padding:9px;gap:9px}.leader{padding:9px;grid-template-columns:38px 58px 1fr}.photo{width:54px;height:54px}.leader strong{font-size:16px}.leader em{font-size:24px}.rest{padding:0 9px 9px}.rrow{height:43px;margin-top:5px;grid-template-columns:36px 36px 1fr 86px 112px}.mini{width:32px;height:32px}
.deputies{gap:14px;margin-top:20px}.dephead{padding:14px 16px}.dephead h2{font-size:24px}.dephead small{font-size:13px}.cols{grid-template-columns:30px 38px 1.25fr .64fr .76fr 42px 190px;font-size:11px;padding:9px 10px}.drow{grid-template-columns:30px 38px 1.25fr .64fr .76fr 42px 190px;min-height:50px;padding:5px 10px;font-size:13px}.avatar{width:34px;height:34px}.who strong{font-size:13.5px}.who small,.votes small{font-size:10px}.pct b{font-size:13px}.mun{font-size:11px;padding:8px 8px}
@media(max-width:900px){.hero{grid-template-columns:1fr}.flag{height:95px}.majors,.deputies{grid-template-columns:1fr}.drow,.cols{grid-template-columns:26px 34px 1.25fr .62fr .7fr 36px 155px}.mun span{display:inline}.leader em{font-size:21px}}

.approved-top{max-width:1536px;margin:0 auto;background:#fff}.approved-top img{display:block;width:100%;height:auto}.drow{font-size:14px!important;min-height:54px!important}.who strong{font-size:14.5px!important}.who small,.votes small{font-size:10.5px!important}.pct b{font-size:14px!important}.mun{font-size:11px!important}.avatar{width:36px!important;height:36px!important}
@media(max-width:900px){.approved-top{overflow-x:auto}.approved-top img{min-width:980px}.drow{font-size:13px!important}}


.portal-top{width:100%;background:#fff;border-bottom:1px solid #d9e6f0}.portal-top img{display:block;width:100%;height:auto}
.livehero{max-width:1500px;margin:0 auto;background:linear-gradient(100deg,#e9f6ff 0%,#f8fcff 60%,#fff 100%);border:1px solid #cfe1ee;border-top:0;min-height:120px;display:grid;grid-template-columns:1fr 560px;align-items:center;padding:18px 24px;gap:24px}.livecopy>b{font-size:15px;color:#0753a3}.livecopy h1{font-size:31px;line-height:1.05;margin:5px 0 6px;color:#063f8d}.livecopy p{margin:0;color:#4c78a4;font-size:17px}.livebox{background:#fff;border:1px solid #cfe0ec;border-radius:12px;padding:14px 18px;display:grid;grid-template-columns:1fr 1fr 110px;gap:15px;align-items:center;box-shadow:0 3px 12px rgba(18,80,130,.05)}.livebox strong{display:block;color:#07834d;font-size:17px}.livebox small{display:block;color:#5f82a4;margin-top:3px}.liveprogress{height:14px;background:#dfeaf3;border-radius:10px;overflow:hidden}.liveprogress i{display:block;width:67.32%;height:100%;background:#0aae6c}.livepercent b{display:block;font-size:25px;color:#063f8d}.livepercent span{font-size:12px;color:#5d7f9f}.tabs{margin-top:0;margin-bottom:16px}
.leader em{font-size:25px!important;letter-spacing:-.3px}.leader .secondary-pct{display:block!important;font-size:15px!important;font-weight:800;color:#0753a3;margin-top:3px}.green .leader .secondary-pct{color:#078047}.restvotes{font-size:14px!important;white-space:nowrap}.restvotes small{display:block;color:#6383a2;font-size:11px;font-weight:700;margin-top:2px}.rrow{grid-template-columns:36px 36px 1fr 145px 70px!important}
.votes{font-size:15px;font-weight:800;color:#073b78}.votes small{font-weight:400}.drow{font-size:14px!important;min-height:56px!important}.who strong{font-size:15px!important}.pct b{font-size:13px!important}.mun{font-size:11px!important}
@media(max-width:900px){.portal-top{overflow-x:auto}.portal-top img{min-width:980px}.livehero{margin:0 8px;grid-template-columns:1fr;padding:15px}.livebox{grid-template-columns:1fr}.livecopy h1{font-size:25px}.rrow{grid-template-columns:34px 34px 1fr 135px 55px!important}.deputies{grid-template-columns:1fr}.drow{font-size:13px!important}}

/* LIVE25H — largura inteligente + mobile real */
.mobile-portal{display:none}
@media(min-width:901px){
  .portal-top,.livehero,.tabs,.wrap{max-width:1500px;margin-left:auto;margin-right:auto}
  .portal-top{box-shadow:0 1px 0 #d9e6f0}
  body{padding-left:14px;padding-right:14px}
}
@media(max-width:900px){
 body{padding:0;background:#f2f7fc;overflow-x:hidden}
 .portal-top{display:none!important}
 .mobile-portal{display:block;background:#fff;border-bottom:4px solid #0b86c6;position:sticky;top:0;z-index:20}
 .mobile-brand{height:68px;display:grid;grid-template-columns:1fr auto 32px;align-items:center;gap:12px;padding:0 14px;color:#087daf}
 .mobile-brand>b{font-size:24px;letter-spacing:-1px}.mobile-brand>span{font-size:8px;line-height:1;color:#123f79;border-left:1px solid #aac3d7;padding-left:12px}.mobile-brand>span strong{font-size:20px;color:#f5b600}.mobile-brand>i{font-style:normal;font-size:22px;color:#06499a}
 .livehero{margin:0!important;border-left:0;border-right:0;border-radius:0;display:block!important;padding:15px 12px!important;min-height:0!important}
 .livecopy>b{font-size:12px}.livecopy h1{font-size:24px!important;line-height:1.08;margin:4px 0 5px}.livecopy p{font-size:14px!important}
 .livebox{margin-top:12px!important;display:grid!important;grid-template-columns:1fr 76px!important;gap:8px 10px!important;padding:11px 12px!important}
 .livebox>div:first-child{grid-column:1/3}.livebox strong{font-size:13px!important}.livebox small{font-size:10px}.liveprogress{height:9px!important}.livepercent b{font-size:20px!important}.livepercent span{font-size:9px!important}
 .tabs{margin:0!important;border-radius:0!important;display:flex!important;overflow-x:auto!important;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs a{min-width:auto!important;flex:0 0 92px;padding:12px 7px!important;font-size:11px;white-space:nowrap}.tabs a:nth-child(3){flex-basis:116px}.tabs a:nth-child(4){flex-basis:120px}
 .wrap{padding:10px 8px 28px!important}.majors,.deputies{display:block!important}.panel{margin-bottom:12px}.ph{padding:11px 12px!important}.ph h2{font-size:19px!important}.ph small{font-size:11px}.ph a{font-size:10px}
 .leadergrid{grid-template-columns:1fr!important;padding:8px!important}.leader{grid-template-columns:38px 58px 1fr!important;padding:10px!important}.photo{width:54px!important;height:54px!important}.leader strong{font-size:14px!important}.leader em{font-size:23px!important}.pos{font-size:14px!important;padding:10px 5px!important}
 .rrow{height:45px!important;grid-template-columns:28px 30px 1fr 92px 54px!important;padding:0 7px!important;gap:5px!important;font-size:11px!important}.mini{width:28px!important;height:28px!important}
 .deputies{margin-top:12px!important}.dephead{padding:12px!important}.dephead h2{font-size:20px!important}.dephead small{font-size:11px!important}.cols{display:none!important}
 .drow{display:grid!important;grid-template-columns:26px 36px minmax(0,1fr) auto!important;grid-template-areas:'rank avatar who votes' 'rank avatar pct status' 'mun mun mun mun'!important;gap:2px 7px!important;min-height:88px!important;padding:8px!important;font-size:12px!important}
 .drow .rank{grid-area:rank;align-self:start;padding-top:8px}.drow .avatar{grid-area:avatar;width:34px!important;height:34px!important;align-self:start}.drow .who{grid-area:who;min-width:0}.drow .who strong{font-size:13px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drow .who small{font-size:9px!important}.drow .votes{grid-area:votes;text-align:right;font-size:15px!important;font-weight:800;white-space:nowrap}.drow .votes small{display:inline!important;font-size:9px!important}.drow .pct{grid-area:pct;display:flex;align-items:center;gap:7px}.drow .pct b{font-size:11px!important}.drow .pct i{width:64px;height:4px}.drow .status{grid-area:status;text-align:right;font-size:10px}.drow .mun{grid-area:mun;display:block;text-align:center;margin-top:5px;padding:7px!important;font-size:10px!important;width:100%}
 .pres{margin-top:12px!important}.presgrid{grid-template-columns:1fr!important;padding:8px!important}.note{font-size:10px}
}
@media(min-width:1501px){body{background:#edf4fa}.portal-top,.livehero,.tabs,.wrap{width:1500px}}

/* LIVE29E — transposição fiel do preview 25H aprovado para a home real */
body{background:#f2f7fc}
.livehero,.tabs,.wrap{max-width:1500px}
.livehero{margin-top:12px}
.wrap{padding-bottom:40px}
.ph a,.dephead a{color:#073b78;text-decoration:none;font-weight:800}
.real-photo{overflow:hidden;background:#d5e4ef}
.real-photo img{width:100%;height:100%;object-fit:cover;display:block}
.leader .photo.real-photo{width:54px;height:54px}
.rrow .mini.real-photo{width:32px;height:32px}
.drow .avatar.real-photo{width:36px;height:36px;font-size:0}
.wait-rank{background:#edf4fa!important;color:transparent!important}
.wait-leader em{font-size:17px;color:#7892a9}
.wait-leader .secondary-pct{color:#7892a9}
.wait-rest .restvotes{color:#7892a9}
.mun img.ro-mini-flag{width:20px;height:14px;object-fit:cover;border-radius:2px;vertical-align:-2px;margin-right:5px}
.dephead{display:flex;align-items:center;justify-content:space-between}
.dephead>div h2{margin:0}
.dephead>a{white-space:nowrap}
.source-real{margin-top:15px;background:#fff;border:1px solid #d9e5ef;border-radius:10px;padding:12px;color:#67829a;font-size:12px}
.livebox.waiting strong{color:#496f91}
.livebox.waiting .liveprogress i{width:0}
.livebox.waiting .livepercent b{color:#073b78}
@media(max-width:900px){
  .livehero{margin:8px;grid-template-columns:1fr!important}
  .livecopy{padding:18px}
  .livebox{margin:10px}
  .wrap{padding:0 8px 30px}
  .tabs{margin:8px;overflow-x:auto;display:flex}
  .tabs a{min-width:150px}
  .leadergrid{grid-template-columns:1fr 1fr}
  .leader{grid-template-columns:34px 48px 1fr}
  .leader .photo.real-photo{width:46px;height:46px}
  .leader em{font-size:19px}
  .drow,.cols{grid-template-columns:26px 34px 1.2fr .62fr .7fr 36px 155px}
}
@media(max-width:620px){
  .leadergrid{grid-template-columns:1fr}
  .rrow{grid-template-columns:32px 34px 1fr 88px}
  .rrow>span:last-child{display:none}
  .cols{display:none}
  .drow{grid-template-columns:26px 34px 1fr 74px}
  .drow .pct,.drow .status{display:none}
  .drow .mun{grid-column:3/5;justify-self:start;margin-bottom:5px}
}

/* LIVE29F — hierarquia votos > percentual, barras de desempenho e dados gerais */
.leaderdata{min-width:0}.leader em{font-size:27px!important;line-height:1.05;color:#073b78;font-weight:900!important}.green .leader em{color:#073b78}.leader .secondary-pct{font-size:12px!important;font-weight:700!important;color:#6c87a1!important;margin-top:4px!important}.perf{display:block;height:7px;background:#e9f1f7;border-radius:99px;overflow:hidden;margin-top:8px;width:100%}.perf i{display:block;height:100%;border-radius:99px;min-width:0}.restvotes{font-size:16px!important;color:#073b78!important;font-weight:900!important}.restvotes small{font-size:10px!important;color:#7a92a9!important;font-weight:700!important}.rowperf{display:block!important;height:6px;background:#e9f1f7;border-radius:99px;overflow:hidden;width:100%}.rowperf i{display:block;height:100%;border-radius:99px;min-width:0}.generalbox{margin:0 9px 10px;border:1px solid #dbe7f0;border-radius:9px;background:#f8fbfe;overflow:hidden}.general-title{display:flex;align-items:center;justify-content:space-between;padding:9px 11px;border-bottom:1px solid #e1ebf3}.general-title strong{font-size:13px;color:#073b78}.general-title span{font-size:10px;color:#718ba2}.general-grid{display:grid;grid-template-columns:1.25fr 1fr 1.25fr 1.15fr;gap:0}.general-grid>div{padding:9px 11px;border-right:1px solid #e4edf4;border-bottom:1px solid #e4edf4;min-width:0}.general-grid>div:nth-child(4n){border-right:0}.general-grid>div:nth-last-child(-n+3){border-bottom:0}.general-grid small{display:block;color:#718ba2;font-size:9px;margin-bottom:3px}.general-grid b{display:block;color:#073b78;font-size:12px;line-height:1.2;white-space:normal}.generalbox.waiting .general-grid b{color:#91a5b6}.generalbox.waiting .general-title span{color:#91a5b6}
@media(max-width:900px){.leader em{font-size:23px!important}.general-grid{grid-template-columns:1fr 1fr}.general-grid>div{border-right:1px solid #e4edf4!important;border-bottom:1px solid #e4edf4!important}.general-grid>div:nth-child(2n){border-right:0!important}.general-grid>div:last-child{border-bottom:0!important}.general-title{align-items:flex-start;gap:8px;flex-direction:column}.rrow{grid-template-columns:28px 30px 1fr 105px 62px!important}.restvotes{font-size:13px!important}}


/* LIVE29G — escala majoritária ampliada; dados gerais somente Governo */
.majors{align-items:start}
.panel[data-cargo="governador"] .ph,.panel[data-cargo="senador"] .ph{padding:16px 18px!important}
.panel[data-cargo="governador"] .ph h2,.panel[data-cargo="senador"] .ph h2{font-size:26px!important}
.panel[data-cargo="governador"] .ph small,.panel[data-cargo="senador"] .ph small{font-size:13px!important}
.panel[data-cargo="governador"] .leadergrid,.panel[data-cargo="senador"] .leadergrid{padding:14px!important;gap:14px!important}
.panel[data-cargo="governador"] .leader,.panel[data-cargo="senador"] .leader{min-height:132px!important;padding:15px!important;grid-template-columns:46px 82px 1fr!important;gap:12px!important}
.panel[data-cargo="governador"] .leader .photo.real-photo,.panel[data-cargo="senador"] .leader .photo.real-photo{width:78px!important;height:78px!important}
.panel[data-cargo="governador"] .leader strong,.panel[data-cargo="senador"] .leader strong{font-size:18px!important;line-height:1.12}
.panel[data-cargo="governador"] .leader em,.panel[data-cargo="senador"] .leader em{font-size:31px!important;margin-top:7px!important}
.panel[data-cargo="governador"] .leader .secondary-pct,.panel[data-cargo="senador"] .leader .secondary-pct{font-size:12px!important}
.panel[data-cargo="governador"] .perf,.panel[data-cargo="senador"] .perf{height:9px!important;margin-top:10px!important}
.panel[data-cargo="governador"] .rest,.panel[data-cargo="senador"] .rest{padding:0 14px 14px!important}
.panel[data-cargo="governador"] .rrow,.panel[data-cargo="senador"] .rrow{height:58px!important;margin-top:7px!important;grid-template-columns:40px 46px 1fr 150px 92px!important;padding:0 12px!important}
.panel[data-cargo="governador"] .mini,.panel[data-cargo="senador"] .mini{width:40px!important;height:40px!important}
.panel[data-cargo="governador"] .rrow>strong,.panel[data-cargo="senador"] .rrow>strong{font-size:15px!important}
.panel[data-cargo="governador"] .restvotes,.panel[data-cargo="senador"] .restvotes{font-size:18px!important}
.panel[data-cargo="governador"] .rowperf,.panel[data-cargo="senador"] .rowperf{height:8px!important}
.generalbox{margin:2px 14px 16px!important;border-radius:10px!important}
.general-title{padding:12px 14px!important}.general-title strong{font-size:16px!important}.general-title span{font-size:11px!important}
.general-grid>div{padding:13px 14px!important}.general-grid small{font-size:11px!important;margin-bottom:5px!important}.general-grid b{font-size:15px!important}
@media(max-width:900px){
 .panel[data-cargo="governador"] .leader,.panel[data-cargo="senador"] .leader{min-height:118px!important;grid-template-columns:42px 72px 1fr!important;padding:13px!important}
 .panel[data-cargo="governador"] .leader .photo.real-photo,.panel[data-cargo="senador"] .leader .photo.real-photo{width:68px!important;height:68px!important}
 .panel[data-cargo="governador"] .leader em,.panel[data-cargo="senador"] .leader em{font-size:26px!important}
 .panel[data-cargo="governador"] .rrow,.panel[data-cargo="senador"] .rrow{grid-template-columns:32px 38px 1fr 112px 64px!important;height:55px!important}
 .general-grid b{font-size:14px!important}
}


/* LIVE29H — partido junto ao candidato; votos dominantes; dados gerais maiores e com cor */
.candidate-party{display:block!important;margin-top:4px!important;color:#557a9e!important;font-size:12px!important;font-weight:800!important;letter-spacing:.1px}
.leaderdata em span{font-size:.55em;font-weight:800;letter-spacing:0}
.restidentity{min-width:0;display:flex;flex-direction:column;justify-content:center}
.restidentity strong{font-size:15px!important;line-height:1.05}
.restidentity small{display:block;margin-top:4px;color:#6686a5;font-size:10px;font-weight:800}
.panel[data-cargo="governador"] .rrow,.panel[data-cargo="senador"] .rrow{grid-template-columns:40px 46px minmax(150px,1fr) 150px 92px!important}
.generalbox{border:1px solid #bdd8ee!important;background:#f7fbff!important;box-shadow:0 3px 12px rgba(13,78,139,.06)}
.general-title{padding:15px 17px!important;background:linear-gradient(90deg,#e9f5ff,#f8fcff)!important;border-bottom:1px solid #cfe2f1!important}
.general-title strong{font-size:18px!important;color:#06468e!important}
.general-title span{font-size:12px!important;color:#557a9e!important;font-weight:700}
.general-grid{background:#fff}
.general-grid>div{padding:16px 17px!important;min-height:78px;background:linear-gradient(180deg,#fff,#f8fbfe)}
.general-grid>div:first-child{background:linear-gradient(180deg,#eaf6ff,#f7fbff)}
.general-grid>div:nth-child(3){background:linear-gradient(180deg,#eefaf4,#fbfefd)}
.general-grid>div:nth-child(4){background:linear-gradient(180deg,#fff7e9,#fffdf9)}
.general-grid small{font-size:12px!important;color:#567b9f!important;font-weight:700!important;margin-bottom:7px!important}
.general-grid b{font-size:18px!important;color:#063f82!important;font-weight:900!important;line-height:1.15!important}
.general-grid>div:first-child b{font-size:20px!important;color:#0758a8!important}
.general-grid>div:nth-child(3) b{color:#087a4a!important}
.general-grid>div:nth-child(4) b{color:#9a6400!important}
.generalbox.waiting .general-grid b{color:#8ba1b4!important}
@media(max-width:900px){
 .candidate-party{font-size:10px!important}
 .restidentity strong{font-size:13px!important}.restidentity small{font-size:9px!important}
 .panel[data-cargo="governador"] .rrow,.panel[data-cargo="senador"] .rrow{grid-template-columns:32px 38px minmax(0,1fr) 112px 64px!important}
 .general-title strong{font-size:16px!important}.general-grid>div{padding:13px!important;min-height:70px}.general-grid small{font-size:10px!important}.general-grid b{font-size:16px!important}.general-grid>div:first-child b{font-size:17px!important}
}

/* LIVE44 — reconstrução limpa a partir do LIVE29H aprovado */

/* Dados gerais: desktop no espaço sob Governo; mobile somente após Presidente. */
.general-desktop-only{display:block}
.general-mobile-only{display:none}

/* CTA municipal: uma linguagem visual única e discreta. */
.major-mun,
.drow .mun{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  min-height:28px!important;
  padding:5px 9px!important;
  border:1px solid #b9d9ef!important;
  border-radius:7px!important;
  background:#eaf5fd!important;
  color:#07529a!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}
.major-mun:hover,.drow .mun:hover{background:#dceefa!important;border-color:#91c3e4!important}
.major-mun .ro-mini-flag,.drow .mun .ro-mini-flag{
  width:21px!important;height:14px!important;object-fit:cover!important;border-radius:2px!important;flex:0 0 auto!important;
}
.leaderdata .major-mun{margin-top:8px!important;width:100%!important}
.restidentity .major-mun{margin-top:4px!important;font-size:9px!important;min-height:24px!important;padding:4px 7px!important}
.rrow{min-height:68px!important;height:auto!important}

/* Desktop mantém a composição do LIVE29H. */
@media(min-width:651px){
  .majors{align-items:stretch!important}
  .panel[data-cargo="governador"],.panel[data-cargo="senador"]{align-self:stretch!important}
}

/* Mobile: compacto, sem levar regras de desktop para dentro dos cards. */
@media(max-width:650px){
  .general-desktop-only{display:none!important}
  .general-mobile-only{display:block!important;margin-top:12px!important}

  .hero{padding-top:18px!important;padding-bottom:18px!important}
  .hero h1{font-size:24px!important;line-height:1.02!important;margin-bottom:5px!important}
  .hero p{font-size:14px!important;line-height:1.15!important}
  .livebox{margin-top:14px!important;padding:12px!important;min-height:0!important}
  .livebox .livepercent b{font-size:22px!important}

  .ph h2,.dephead h2{font-size:20px!important;line-height:1.05!important;white-space:nowrap!important}
  .pres .ph h2{font-size:17px!important;white-space:nowrap!important}
  .ph{gap:8px!important}
  .ph>a,.dephead>a{font-size:11px!important}

  .leadergrid{grid-template-columns:1fr!important}
  .leader{min-height:132px!important}
  .leaderdata .major-mun{width:max-content!important;max-width:100%!important;font-size:9px!important}

  .rrow{min-height:76px!important}
  .restidentity .major-mun{width:max-content!important;max-width:100%!important}

  .drow .mun{font-size:9px!important;padding:4px 7px!important;min-height:25px!important}
}


/* LIVE45 — corrige definitivamente o CTA dos deputados.
   O link original .mun é grid-item; por isso o fundo aplicado nele virava
   apenas uma pequena caixa no espaço da coluna. O botão visual passa a ser
   desenhado pelo conteúdo interno, sem alterar a grade da linha. */
@media(min-width:651px){
  .drow .mun{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:5px!important;
    min-width:0!important;
    width:auto!important;
    max-width:none!important;
    min-height:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
    white-space:nowrap!important;
    color:#07529a!important;
    text-decoration:none!important;
  }
  .drow .mun img.ro-mini-flag{
    width:22px!important;
    height:15px!important;
    border-radius:3px!important;
    flex:0 0 auto!important;
  }
  .drow .mun span{
    display:inline-flex!important;
    align-items:center!important;
    min-height:27px!important;
    padding:5px 9px!important;
    border:1px solid #b9d9ef!important;
    border-radius:6px!important;
    background:#eaf5fd!important;
    color:#07529a!important;
    font-size:9px!important;
    font-weight:800!important;
    line-height:1!important;
    white-space:nowrap!important;
    box-sizing:border-box!important;
  }
  .drow .mun:hover span{
    background:#dceefa!important;
    border-color:#91c3e4!important;
  }
}

/* LIVE46 — deputados em quatro colunas */
.cols.cols-four{display:grid!important;grid-template-columns:minmax(0,1.65fr) minmax(90px,.55fr) minmax(105px,.65fr) minmax(190px,1fr)!important;align-items:center!important;gap:12px!important;padding:10px 18px!important}
.cols.cols-four b{text-align:left!important;font-size:11px!important}.cols.cols-four b:last-child{text-align:center!important}
.drow.drow-four{display:grid!important;grid-template-columns:minmax(0,1.65fr) minmax(90px,.55fr) minmax(105px,.65fr) minmax(190px,1fr)!important;gap:12px!important;align-items:center!important;min-height:66px!important;padding:7px 18px!important;box-sizing:border-box!important}
.drow-four .candidate-cell{display:grid!important;grid-template-columns:26px 42px minmax(0,1fr)!important;gap:8px!important;align-items:center!important;min-width:0!important}
.drow-four .rank{display:flex!important;align-items:center!important;justify-content:center!important;width:26px!important;height:26px!important;border-radius:50%!important;background:#eef5fc!important;color:#2d6ca8!important;font-size:10px!important}
.drow-four .avatar{width:42px!important;height:42px!important}.drow-four .who{min-width:0!important}.drow-four .who strong{font-size:14px!important;line-height:1.05!important}.drow-four .who small{font-size:10px!important}
.drow-four .votes{display:flex!important;flex-direction:column!important;align-items:flex-start!important;font-size:15px!important;font-weight:800!important}.drow-four .votes small{margin-top:3px!important;font-size:9px!important;font-weight:500!important;color:#6984a0!important}
.drow-four .status{font-size:12px!important;font-weight:700!important;color:#174f86!important}
.drow-four .mun.mun-stacked{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;width:100%!important;min-height:48px!important;padding:5px 8px!important;border:1px solid #b9d9ef!important;border-radius:7px!important;background:#eaf5fd!important;color:#07529a!important;text-decoration:none!important;box-sizing:border-box!important}
.drow-four .mun.mun-stacked .ro-mini-flag{width:28px!important;height:18px!important;border-radius:3px!important;object-fit:cover!important}
.drow-four .mun.mun-stacked span{display:block!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;font-size:9px!important;font-weight:800!important;line-height:1.05!important;text-align:center!important;white-space:nowrap!important}
.drow-four .mun.mun-stacked:hover{background:#dceefa!important;border-color:#91c3e4!important}
@media(max-width:650px){.cols.cols-four{display:none!important}.drow.drow-four{grid-template-columns:1fr!important;gap:7px!important;padding:10px!important}.drow-four .candidate-cell{grid-template-columns:24px 40px minmax(0,1fr)!important}.drow-four .votes,.drow-four .status{padding-left:72px!important}.drow-four .mun.mun-stacked{width:calc(100% - 72px)!important;margin-left:72px!important;flex-direction:row!important;min-height:34px!important}.drow-four .mun.mun-stacked .ro-mini-flag{width:23px!important;height:15px!important}}


/* ============================================================
   LIVE48 — PRODUÇÃO
   Deputados em listas verticais de largura total.
   Preserva Governador/Senado, Dados Gerais, Presidente e mobile.
   ============================================================ */

/* Federal e Estadual deixam de disputar duas colunas longas. */
.deputies{
  display:block!important;
  margin-top:28px!important;
}
.deputies > .panel{
  width:100%!important;
  margin:0 0 22px!important;
}
.deputies .dephead{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding:17px 20px!important;
}
.deputies .dephead h2{
  font-size:24px!important;
}
.deputies .dephead small{
  font-size:12px!important;
}
.deputies .dephead a{
  font-size:13px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}

/* Quatro informações editoriais, com espaço real para leitura. */
.deputies .cols.cols-four,
.deputies .drow.drow-four{
  grid-template-columns:minmax(360px,2.25fr) minmax(150px,.72fr) minmax(170px,.86fr) minmax(220px,1fr)!important;
  gap:18px!important;
}
.deputies .cols.cols-four{
  padding:11px 20px!important;
  background:#edf4fa!important;
}
.deputies .cols.cols-four b{
  font-size:11px!important;
  letter-spacing:.01em!important;
}
.deputies .drow.drow-four{
  min-height:72px!important;
  padding:8px 20px!important;
}

/* Candidato: posição + foto + nome/partido, sem espremer o nome. */
.deputies .drow-four .candidate-cell{
  grid-template-columns:30px 48px minmax(0,1fr)!important;
  gap:11px!important;
}
.deputies .drow-four .rank{
  width:30px!important;
  height:30px!important;
  font-size:11px!important;
}
.deputies .drow-four .avatar{
  width:48px!important;
  height:48px!important;
}
.deputies .drow-four .who strong{
  font-size:16px!important;
  line-height:1.08!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.deputies .drow-four .who small{
  margin-top:3px!important;
  font-size:10.5px!important;
}

/* Votos são o dado primário; percentual fica secundário logo abaixo. */
.deputies .drow-four .votes{
  font-size:19px!important;
  line-height:1!important;
  font-weight:900!important;
}
.deputies .drow-four .votes small{
  margin-top:6px!important;
  font-size:11px!important;
  line-height:1.1!important;
}

/* Situação oficial do TSE ganha leitura clara, sem inferência local. */
.deputies .drow-four .status{
  justify-self:start!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:30px!important;
  padding:6px 10px!important;
  border-radius:7px!important;
  font-size:12.5px!important;
  line-height:1.08!important;
  font-weight:900!important;
  text-align:left!important;
}
.deputies .status-eleito{background:#e7f7ee!important;color:#087b45!important}
.deputies .status-media{background:#fff4d8!important;color:#9a6300!important}
.deputies .status-suplente{background:#edf3f8!important;color:#456783!important}
.deputies .status-nao-eleito{background:#f0f3f5!important;color:#7b8994!important}
.deputies .status-default,.deputies .status-wait{background:transparent!important;color:#637b91!important;padding-left:0!important}

/* CTA municipal: bandeira em cima, texto embaixo, sem seta solta. */
.deputies .drow-four .mun.mun-stacked{
  justify-self:stretch!important;
  min-height:55px!important;
  padding:6px 12px!important;
  gap:4px!important;
}
.deputies .drow-four .mun.mun-stacked .ro-mini-flag{
  width:31px!important;
  height:20px!important;
}
.deputies .drow-four .mun.mun-stacked span{
  font-size:10.5px!important;
  line-height:1.05!important;
}

/* Majoritários: CTA também aparece antes da abertura da apuração. */
.wait-leader .major-mun,
.wait-rest .major-mun{
  display:flex!important;
}
.major-mun{
  text-decoration:none!important;
}
.major-mun-rest{
  width:max-content!important;
  max-width:100%!important;
}

/* Tablet */
@media(max-width:1100px) and (min-width:651px){
  .deputies .cols.cols-four,
  .deputies .drow.drow-four{
    grid-template-columns:minmax(280px,1.75fr) 120px 145px minmax(190px,.9fr)!important;
    gap:12px!important;
  }
  .deputies .drow-four .who strong{font-size:14.5px!important}
  .deputies .drow-four .votes{font-size:17px!important}
  .deputies .drow-four .status{font-size:11.5px!important}
}

/* Mobile: mantém uma lista por vez, sem tabela espremida. */
@media(max-width:650px){
  .deputies{margin-top:12px!important}
  .deputies > .panel{margin-bottom:14px!important}
  .deputies .dephead{padding:12px!important}
  .deputies .dephead h2{
    font-size:19px!important;
    white-space:nowrap!important;
  }
  .deputies .dephead a{font-size:10px!important}
  .deputies .cols.cols-four{display:none!important}
  .deputies .drow.drow-four{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    grid-template-areas:
      "candidate votes"
      "candidate status"
      "municipal municipal"!important;
    gap:5px 10px!important;
    min-height:104px!important;
    padding:10px!important;
  }
  .deputies .drow-four .candidate-cell{
    grid-area:candidate!important;
    grid-template-columns:25px 40px minmax(0,1fr)!important;
    gap:7px!important;
    align-self:start!important;
  }
  .deputies .drow-four .rank{width:25px!important;height:25px!important;font-size:9px!important}
  .deputies .drow-four .avatar{width:40px!important;height:40px!important}
  .deputies .drow-four .who strong{
    font-size:13px!important;
    white-space:normal!important;
    overflow:visible!important;
  }
  .deputies .drow-four .who small{font-size:9px!important}
  .deputies .drow-four .votes{
    grid-area:votes!important;
    padding-left:0!important;
    text-align:right!important;
    align-items:flex-end!important;
    font-size:16px!important;
  }
  .deputies .drow-four .votes small{font-size:9px!important;margin-top:3px!important}
  .deputies .drow-four .status{
    grid-area:status!important;
    justify-self:end!important;
    padding:4px 7px!important;
    min-height:24px!important;
    font-size:10px!important;
    text-align:right!important;
  }
  .deputies .drow-four .mun.mun-stacked{
    grid-area:municipal!important;
    width:100%!important;
    margin:4px 0 0!important;
    min-height:38px!important;
    flex-direction:row!important;
    gap:7px!important;
  }
  .deputies .drow-four .mun.mun-stacked .ro-mini-flag{
    width:25px!important;height:16px!important;
  }
  .deputies .drow-four .mun.mun-stacked span{font-size:10px!important}
}

/* LIVE49 REGERADO — visual compacto aprovado */
.deputies{display:block!important;margin:24px auto 0!important}
.deputies>.panel{max-width:1220px!important;margin:0 auto 24px!important;border:1px solid #cbddeb!important;border-radius:14px!important;box-shadow:0 8px 24px rgba(19,72,116,.06)!important}
.deputies>.panel:first-child{border-top:4px solid #176fd1!important}.deputies>.panel:nth-child(2){border-top:4px solid #8b45d8!important}
.deputies .dephead{padding:15px 20px!important;background:linear-gradient(90deg,#f7fbff 0,#fff 72%)!important}.deputies .dephead.purple{background:linear-gradient(90deg,#faf6ff 0,#fff 72%)!important}
.deputies .dephead h2{font-size:22px!important}.deputies .dephead small{font-size:11px!important;color:#6684a0!important}
.deputies .cols.cols-four,.deputies .drow.drow-four{grid-template-columns:minmax(360px,2fr) 150px 180px 220px!important;gap:14px!important;max-width:1160px!important;margin-left:auto!important;margin-right:auto!important}
.deputies .cols.cols-four{padding:9px 14px!important;background:linear-gradient(90deg,#eaf3fb,#f5f9fc)!important}.deputies .panel:nth-child(2) .cols.cols-four{background:linear-gradient(90deg,#f2ebfb,#faf8fd)!important}
.deputies .drow.drow-four{min-height:60px!important;padding:6px 14px!important;border-bottom:1px solid #e3ebf2!important}.deputies .drow.drow-four:nth-of-type(even){background:#fbfdff!important}
.deputies .drow-four .candidate-cell{grid-template-columns:28px 42px minmax(0,1fr)!important;gap:9px!important}.deputies .drow-four .rank{width:27px!important;height:27px!important;background:#e8f3ff!important;color:#176fd1!important;font-size:10px!important}.deputies .panel:nth-child(2) .drow-four .rank{background:#f1e9fb!important;color:#7c3ec2!important}
.deputies .drow-four .avatar{width:42px!important;height:42px!important}.deputies .drow-four .who strong{font-size:14px!important}.deputies .drow-four .who small{font-size:9.5px!important}
.deputies .drow-four .votes{font-size:17px!important;color:#063f86!important}.deputies .drow-four .votes small{font-size:9.5px!important}
.deputies .drow-four .status{font-size:11px!important;min-height:27px!important;padding:5px 9px!important;border-radius:999px!important}
.deputies .status-eleito{background:#e6f7ee!important;color:#087b45!important}.deputies .status-media{background:#fff2cc!important;color:#9a6300!important}.deputies .status-suplente{background:#eaf1f7!important;color:#456783!important}.deputies .status-nao-eleito{background:#f1f3f5!important;color:#7a8791!important}.deputies .status-wait,.deputies .status-default{background:#edf3f8!important;color:#657d92!important}
.deputies .drow-four .mun.mun-stacked{min-height:45px!important;padding:4px 9px!important;background:#eaf5fd!important;border-color:#b7d8ef!important;border-radius:8px!important}.deputies .drow-four .mun.mun-stacked .ro-mini-flag{width:27px!important;height:17px!important}.deputies .drow-four .mun.mun-stacked span{font-size:9.5px!important}
.dep-pager{max-width:1160px;margin:0 auto;padding:12px 14px 14px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;color:#6684a0;font-size:11px;background:#fbfdff}.dep-pager>small{text-align:right;font-size:10px}.dep-pages{display:flex;gap:6px}.dep-pages button{width:30px;height:30px;border:1px solid #c8dced;background:#fff;border-radius:7px;color:#07529a;font-weight:800;cursor:pointer}.dep-pages button.active{background:#0b69d1;color:#fff;border-color:#0b69d1}
.wait-rest .major-mun-rest{display:inline-flex!important;width:max-content!important;max-width:100%!important;margin-top:3px!important;padding:2px 5px!important;min-height:20px!important;font-size:8px!important;gap:4px!important}.wait-rest .major-mun-rest .ro-mini-flag{width:17px!important;height:11px!important}.wait-rest{grid-template-columns:36px 36px minmax(0,1fr) 86px 112px!important}
@media(max-width:900px){.deputies>.panel{max-width:none!important}.deputies .cols.cols-four{display:none!important}.dep-pager{grid-template-columns:1fr;justify-items:center;text-align:center}.dep-pager>small{text-align:center}.deputies .drow.drow-four{max-width:none!important}}


/* LIVE49B — correção crítica da paginação.
   As regras .drow { display:grid!important } anulavam o atributo HTML hidden.
   Resultado: os 30 candidatos eram exibidos apesar do paginador indicar 10.
*/
.deputies .dep-item[hidden]{
  display:none!important;
}

/* Mantém apenas a página selecionada visível também em impressão/PDF. */
@media print{
  .deputies .dep-item[hidden]{
    display:none!important;
  }
}

/* ============================================================
   LIVE50 — refinamento de produção aprovado
   30 deputados visíveis; tipografia maior; votos/situação fortes.
   ============================================================ */
.deputies>.panel{
  max-width:1260px!important;
  overflow:hidden!important;
}
.deputies .dephead{
  padding:18px 24px 15px!important;
}
.deputies .dephead h2{
  font-size:25px!important;
  line-height:1.05!important;
  font-weight:900!important;
}
.deputies .dephead small{
  font-size:12px!important;
  margin-top:5px!important;
}
.deputies .cols.cols-four,
.deputies .drow.drow-four{
  max-width:1190px!important;
  grid-template-columns:minmax(390px,2.15fr) 175px 205px 235px!important;
  gap:18px!important;
}
.deputies .cols.cols-four{
  padding:11px 16px!important;
}
.deputies .cols.cols-four b{
  font-size:12px!important;
}
.deputies .drow.drow-four{
  min-height:70px!important;
  padding:8px 16px!important;
}
.deputies .drow-four .candidate-cell{
  grid-template-columns:31px 48px minmax(0,1fr)!important;
  gap:11px!important;
}
.deputies .drow-four .rank{
  width:30px!important;height:30px!important;
  font-size:11px!important;font-weight:900!important;
}
.deputies .drow-four .avatar{
  width:48px!important;height:48px!important;
}
.deputies .drow-four .who strong{
  font-size:16px!important;
  line-height:1.08!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.deputies .drow-four .who small{
  font-size:11px!important;
  margin-top:4px!important;
  font-weight:700!important;
}
.deputies .drow-four .votes{
  font-size:20px!important;
  line-height:1!important;
  font-weight:900!important;
  color:#064d9c!important;
}
.deputies .drow-four .votes small{
  display:block!important;
  font-size:11px!important;
  line-height:1.05!important;
  margin-top:6px!important;
  color:#657f99!important;
  font-weight:600!important;
}
.deputies .drow-four .status{
  font-size:13px!important;
  min-height:32px!important;
  padding:7px 11px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.deputies .status-eleito{
  background:#ddf6e9!important;color:#087a43!important;border:1px solid #b9e8ce!important;
}
.deputies .status-media{
  background:#fff0c2!important;color:#976000!important;border:1px solid #f3d77c!important;
}
.deputies .status-suplente{
  background:#e8f0f7!important;color:#365d7d!important;border:1px solid #cfdee9!important;
}
.deputies .status-nao-eleito{
  background:#f0f2f4!important;color:#6e7d89!important;border:1px solid #e0e4e7!important;
}
.deputies .status-wait,.deputies .status-default{
  background:#edf4fa!important;color:#647f97!important;border:1px solid #d9e6ef!important;
}
.deputies .drow-four .mun.mun-stacked{
  min-height:52px!important;
  padding:6px 12px!important;
  background:linear-gradient(180deg,#eef8ff,#e3f2fd)!important;
  border:1px solid #acd3ef!important;
  border-radius:9px!important;
}
.deputies .drow-four .mun.mun-stacked .ro-mini-flag{
  width:30px!important;height:19px!important;
}
.deputies .drow-four .mun.mun-stacked span{
  font-size:10.5px!important;
  font-weight:900!important;
}
/* Remove paginação LIVE49B: o usuário optou pelos 30 na própria home. */
.deputies .dep-pager{display:none!important}
/* Alternância sutil dá vida sem poluir. */
.deputies .drow.drow-four:nth-child(odd){background:#fbfdff!important}
.deputies .drow.drow-four:hover{background:#f4f9fd!important}
/* CTA majoritário legível e contido no candidato. */
.wait-rest .major-mun-rest{
  font-size:9px!important;
  min-height:23px!important;
  padding:3px 7px!important;
  border-radius:6px!important;
}
.wait-rest .major-mun-rest .ro-mini-flag{
  width:20px!important;height:13px!important;
}
@media(max-width:1050px) and (min-width:651px){
 .deputies .cols.cols-four,.deputies .drow.drow-four{
   grid-template-columns:minmax(310px,1.8fr) 145px 165px 205px!important;
   gap:12px!important;
 }
 .deputies .drow-four .who strong{font-size:14.5px!important}
 .deputies .drow-four .votes{font-size:18px!important}
 .deputies .drow-four .status{font-size:11.5px!important}
}
@media(max-width:650px){
 .deputies .dephead h2{font-size:19px!important}
 .deputies .drow.drow-four{
   min-height:112px!important;
   grid-template-columns:1fr auto!important;
 }
 .deputies .drow-four .who strong{
   font-size:13.5px!important;white-space:normal!important;
 }
 .deputies .drow-four .votes{font-size:17px!important}
 .deputies .drow-four .status{font-size:10.5px!important}
}

/* LIVE51 */
.deputies .dep-item[hidden]{display:none!important}
.deputies .dep-pager{display:grid!important;max-width:1190px!important;margin:0 auto!important;padding:14px 16px 16px!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;gap:14px!important;border-top:1px solid #dce8f1!important;background:#f8fbfe!important;color:#607d98!important;font-size:11px!important}
.deputies .dep-pager>small{text-align:right!important;font-size:10px!important}.deputies .dep-pages{display:flex!important;gap:7px!important}.deputies .dep-pages button{width:32px!important;height:32px!important;border:1px solid #bdd6e9!important;background:#fff!important;border-radius:7px!important;color:#07539d!important;font-weight:900!important}.deputies .dep-pages button.active{background:#0869cf!important;color:#fff!important;border-color:#0869cf!important}
.deputies .cols.cols-four,.deputies .drow.drow-four{width:100%!important;max-width:1190px!important;margin-left:auto!important;margin-right:auto!important;grid-template-columns:minmax(390px,2.15fr) 175px 205px 235px!important;column-gap:18px!important}
.deputies .drow-four .candidate-cell{grid-column:1!important}.deputies .drow-four .votes{grid-column:2!important}.deputies .drow-four .status{grid-column:3!important;justify-self:start!important}.deputies .drow-four .mun{grid-column:4!important;justify-self:stretch!important}
.deputies .drow-four .status-wait{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:max-content!important}
.deputies .drow-four .mun.mun-stacked{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;width:100%!important}.deputies .drow-four .mun.mun-stacked span{text-align:center!important;white-space:nowrap!important}
/* Major cards: CTA gets its own bottom band */
.major-card{position:relative!important;padding-bottom:52px!important;overflow:hidden!important}.major-card .major-mun{position:absolute!important;left:16px!important;right:16px!important;bottom:10px!important;width:auto!important;min-height:31px!important;margin:0!important;padding:4px 8px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;background:#eaf5fd!important;border:1px solid #b8d9ef!important;border-radius:7px!important;font-size:9px!important;font-weight:900!important}.major-card .major-mun .ro-mini-flag{width:21px!important;height:13px!important}
/* Compact major rows: CTA stays with identity, but sized and contained */
.wait-rest{min-height:72px!important;overflow:hidden!important}.wait-rest .restidentity{min-width:0!important}.wait-rest .restidentity>.major-mun-rest{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;width:max-content!important;max-width:170px!important;min-height:25px!important;margin-top:4px!important;padding:3px 7px!important;background:#eaf5fd!important;border:1px solid #b8d9ef!important;border-radius:6px!important;font-size:8.5px!important}.wait-rest .restidentity>.major-mun-rest .ro-mini-flag{width:20px!important;height:13px!important}
@media(max-width:650px){.deputies .dep-pager{grid-template-columns:1fr!important;justify-items:center!important;text-align:center!important}.deputies .dep-pager>small{text-align:center!important}.deputies .drow-four .mun.mun-stacked span{white-space:normal!important}}

/* LIVE52 — 30 por página + acabamento majoritários/presidente */
.deputies .dep-pager{overflow-x:auto!important}
.deputies .dep-pages{flex-wrap:wrap!important;justify-content:center!important}

/* CTA dos dois cards principais: centralizado e sem extrapolar */
.major-card .major-mun{
  left:18px!important;right:18px!important;bottom:10px!important;
  max-width:none!important;box-sizing:border-box!important;
}
.major-card .major-mun span{white-space:nowrap!important}

/* Presidente usa a mesma linguagem visual de Governador/Senado.
   Estas regras atuam quando o bloco recebe a mesma marcação majoritária via JS. */
.president .major-card,.president-panel .major-card{
  border-color:#f2c7cd!important;
}
.president .major-card .major-mun,.president-panel .major-card .major-mun{
  background:#fff3f4!important;border-color:#f1cbd0!important;
}

/* LIVE53 — Presidente majoritário + CTA sem bandeira escapando */
.pres.major{
  max-width:1500px!important;
  margin:24px auto 0!important;
  border:1px solid #f0c7cc!important;
  border-radius:14px!important;
  overflow:hidden!important;
}
.pres.major .ph{
  background:linear-gradient(90deg,#fff2f3 0,#fff 72%)!important;
}
.pres.major .ph h2{color:#e51e34!important}
.pres.major .majorbody{
  padding:14px 18px 18px!important;
}
.pres.major .majorgrid{
  max-width:100%!important;
}

/* A bandeira pertence ao botão: elimina o pedaço que estava saindo pela esquerda. */
.major-mun,
.wait-rest .major-mun-rest,
.deputies .mun.mun-stacked{
  overflow:hidden!important;
}
.major-mun .ro-mini-flag,
.wait-rest .major-mun-rest .ro-mini-flag,
.deputies .mun.mun-stacked .ro-mini-flag{
  position:static!important;
  transform:none!important;
  margin:0!important;
  flex:0 0 auto!important;
  object-fit:cover!important;
}
.major-card .major-mun{
  padding-left:10px!important;
  padding-right:10px!important;
}
.major-card .major-mun .ro-mini-flag{
  margin-right:2px!important;
}

/* Presidente: mesmos cards grandes + linhas compactas de Governador/Senado. */
.pres.major .major-card{border-color:#f0d3d6!important}
.pres.major .wait-rest{border-color:#f0dfe1!important}
.pres.major .major-card .major-mun,
.pres.major .wait-rest .major-mun-rest{
  background:#fff1f3!important;
  border-color:#efc8cd!important;
}
@media(max-width:650px){
  .pres.major .majorbody{padding:10px!important}
  .pres.major .ph h2{white-space:nowrap!important;font-size:17px!important}
}

/* ==========================================================
   LIVE54 — PRESIDENTE + CTA MUNICÍPIOS
   ========================================================== */

/* Presidente com a mesma densidade visual dos deputados:
   ocupa o bloco sem cards gigantes. */
.pres.major .majorbody{
  max-width:1190px!important;
  margin:0 auto!important;
  padding:12px 16px 18px!important;
}
.pres.major .majorgrid{
  width:100%!important;
  gap:8px!important;
}
.pres.major .major-card{
  min-height:128px!important;
  padding:12px 14px 48px!important;
}
.pres.major .major-card .name,
.pres.major .major-card strong,
.pres.major .major-card h3{
  font-size:17px!important;
  line-height:1.08!important;
  font-weight:900!important;
}
.pres.major .major-card .party,
.pres.major .major-card small{
  font-size:11px!important;
}
.pres.major .wait-rest{
  min-height:64px!important;
}
.pres.major .wait-rest .restidentity strong,
.pres.major .wait-rest .who strong{
  font-size:15px!important;
  line-height:1.08!important;
  font-weight:900!important;
}
.pres.major .wait-rest .restidentity small,
.pres.major .wait-rest .who small{
  font-size:10px!important;
}

/* CORREÇÃO DEFINITIVA DO CTA:
   versões anteriores herdavam regras que posicionavam a bandeira
   parcialmente fora do link. Aqui a bandeira volta ao fluxo normal. */
.major-mun,
.major-mun-rest,
.deputies .mun.mun-stacked{
  position:static!important;
  text-indent:0!important;
  overflow:visible!important;
}
.major-card .major-mun{
  position:absolute!important;
  left:14px!important;
  right:14px!important;
  bottom:9px!important;
  width:auto!important;
  height:31px!important;
  min-height:31px!important;
  padding:4px 10px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  overflow:hidden!important;
}
.major-mun .ro-mini-flag,
.major-mun-rest .ro-mini-flag,
.deputies .mun.mun-stacked .ro-mini-flag{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  float:none!important;
  display:block!important;
  width:24px!important;
  height:15px!important;
  min-width:24px!important;
  max-width:24px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  object-fit:cover!important;
  flex:0 0 24px!important;
}
.major-mun span,
.major-mun-rest span{
  position:static!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
}

/* Linhas compactas: o botão não pode ser cortado nem começar fora da caixa. */
.wait-rest .restidentity>.major-mun-rest{
  position:static!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  width:auto!important;
  max-width:190px!important;
  height:27px!important;
  min-height:27px!important;
  margin:4px 0 0!important;
  padding:3px 8px!important;
  overflow:hidden!important;
}
.wait-rest .restidentity>.major-mun-rest .ro-mini-flag{
  width:22px!important;
  min-width:22px!important;
  max-width:22px!important;
  height:14px!important;
  flex-basis:22px!important;
}

/* Deputados preservam bandeira em cima, mas sem deslocamento lateral herdado. */
.deputies .mun.mun-stacked{
  position:relative!important;
  overflow:hidden!important;
}
.deputies .mun.mun-stacked .ro-mini-flag{
  width:28px!important;
  min-width:28px!important;
  max-width:28px!important;
  height:17px!important;
  flex-basis:28px!important;
  margin:0 auto!important;
}

@media(max-width:650px){
  .pres.major .majorbody{padding:8px 10px 14px!important}
  .pres.major .major-card .name,
  .pres.major .major-card strong,
  .pres.major .major-card h3{font-size:15px!important}
  .pres.major .wait-rest .restidentity strong,
  .pres.major .wait-rest .who strong{font-size:14px!important}
  .major-card .major-mun{left:10px!important;right:10px!important}
}


/* ============================================================
   LIVE55 — restauração mobile + largura Presidente + CTA isolado
   Regra: desktop e mobile não se sobrescrevem entre si.
   ============================================================ */

/* Desktop: Presidente usa EXATAMENTE a mesma largura externa dos deputados. */
@media(min-width:651px){
  .pres.major{
    width:auto!important;
    max-width:1260px!important;
    margin:24px auto 0!important;
  }
  .pres.major .majorbody{
    width:100%!important;
    max-width:1190px!important;
    margin:0 auto!important;
  }
}

/* CTA majoritário isolado das antigas regras de .ro-mini-flag. */
.major-mun .major-flag-clean,
.major-mun-rest .major-flag-clean{
  position:static!important;
  inset:auto!important;
  float:none!important;
  transform:none!important;
  display:block!important;
  width:24px!important;
  min-width:24px!important;
  max-width:24px!important;
  height:15px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:2px!important;
  object-fit:cover!important;
  flex:0 0 24px!important;
}
.major-mun,.major-mun-rest{
  text-indent:0!important;
  box-sizing:border-box!important;
}
.major-card .major-mun{
  overflow:hidden!important;
}
.wait-rest .restidentity>.major-mun-rest{
  overflow:hidden!important;
}

/* MOBILE CONGELADO — corrige as regras desktop LIVE50/51 que vazaram para <=650px. */
@media(max-width:650px){
  .wrap{padding-left:8px!important;padding-right:8px!important}
  .majors,.deputies{display:block!important}
  .majors>.panel,.deputies>.panel,.pres.major{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .majors>.panel+ .panel,.deputies>.panel+ .panel{margin-top:12px!important}

  /* Majoritários: um card por linha, sem largura de desktop. */
  .leadergrid{grid-template-columns:1fr!important;gap:8px!important;padding:8px!important}
  .leader,.major-card{width:100%!important;max-width:none!important}
  .rrow,.wait-rest{
    width:100%!important;
    max-width:none!important;
    grid-template-columns:28px 34px minmax(0,1fr) 82px 52px!important;
    gap:6px!important;
  }
  .restidentity{min-width:0!important}
  .restidentity strong{white-space:normal!important}
  .wait-rest .restidentity>.major-mun-rest{
    max-width:100%!important;
    font-size:8px!important;
    padding:3px 5px!important;
  }
  .wait-rest .restidentity>.major-mun-rest .major-flag-clean{
    width:18px!important;min-width:18px!important;max-width:18px!important;height:12px!important;flex-basis:18px!important;
  }

  /* Deputados: volta a ser um card mobile; a grade de 4 colunas fica só no desktop. */
  .deputies .cols.cols-four{display:none!important}
  .deputies .drow.drow-four{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:
      "candidate candidate"
      "votes status"
      "municipios municipios"!important;
    gap:8px 10px!important;
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    padding:11px 12px!important;
    margin:0!important;
  }
  .deputies .drow-four .candidate-cell{
    grid-area:candidate!important;
    grid-column:auto!important;
    min-width:0!important;
  }
  .deputies .drow-four .votes{
    grid-area:votes!important;
    grid-column:auto!important;
    justify-self:start!important;
    font-size:17px!important;
  }
  .deputies .drow-four .status{
    grid-area:status!important;
    grid-column:auto!important;
    justify-self:end!important;
    align-self:center!important;
    font-size:10.5px!important;
  }
  .deputies .drow-four .mun.mun-stacked{
    grid-area:municipios!important;
    grid-column:auto!important;
    justify-self:stretch!important;
    width:100%!important;
    min-height:42px!important;
    flex-direction:row!important;
    gap:7px!important;
  }
  .deputies .drow-four .mun.mun-stacked .ro-mini-flag{
    width:25px!important;min-width:25px!important;max-width:25px!important;height:16px!important;flex-basis:25px!important;margin:0!important;
  }
  .deputies .drow-four .mun.mun-stacked span{
    white-space:normal!important;
    font-size:10px!important;
  }
  .deputies .dep-pager{
    grid-template-columns:1fr!important;
    justify-items:center!important;
    text-align:center!important;
    gap:8px!important;
    padding:12px 8px!important;
    overflow:visible!important;
  }
  .deputies .dep-pages{justify-content:center!important;flex-wrap:wrap!important}
  .deputies .dep-pager>small{text-align:center!important}
  .deputies .dep-item[hidden]{display:none!important}

  /* Presidente: mesma largura dos deputados também no celular. */
  .pres.major{margin-top:12px!important}
  .pres.major .majorbody{width:100%!important;max-width:none!important;padding:8px!important}
  .pres.major .ph h2{font-size:17px!important;white-space:nowrap!important}

  /* Dados gerais permanecem somente depois de Presidente no mobile. */
  .general-desktop-only{display:none!important}
  .general-mobile-only{display:block!important;margin-top:12px!important}
}

/* ============================================================
   LIVE56 — correção do regressivo mobile do LIVE55
   A bandeira dos deputados volta à classe própria do componente.
   ============================================================ */
@media(max-width:650px){
  .deputies .drow.drow-four{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"candidate candidate" "votes status" "municipios municipios"!important;
    min-height:0!important;
    padding:10px!important;
  }
  .deputies .drow-four .mun.mun-stacked{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:34px!important;
    height:auto!important;
    padding:5px 8px!important;
    overflow:hidden!important;
  }
  .deputies .drow-four .mun.mun-stacked img.ro-mini-flag{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    display:block!important;
    width:22px!important;
    min-width:22px!important;
    max-width:22px!important;
    height:14px!important;
    min-height:14px!important;
    max-height:14px!important;
    margin:0 5px 0 0!important;
    padding:0!important;
    object-fit:cover!important;
    flex:0 0 22px!important;
  }
  .deputies .drow-four .mun.mun-stacked span{
    display:inline!important;
    width:auto!important;
    font-size:9px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }
}

/* ============================================================
   LIVE57 — correção estrutural mobile + CTA horizontal
   ============================================================ */

/* Majoritários: o CTA ocupa uma faixa própria dentro do card. */
.leader{position:relative!important;padding-bottom:46px!important;overflow:hidden!important}
.leader .leaderdata>.major-mun{
  position:absolute!important;
  left:10px!important;right:10px!important;bottom:8px!important;
  width:auto!important;max-width:none!important;min-width:0!important;
  min-height:29px!important;margin:0!important;padding:4px 7px!important;
  display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;
  gap:5px!important;overflow:hidden!important;white-space:nowrap!important;
  font-size:8.5px!important;line-height:1.1!important;
}
.leader .leaderdata>.major-mun .major-flag-clean{
  width:20px!important;min-width:20px!important;max-width:20px!important;height:13px!important;flex:0 0 20px!important;
}
.leader .leaderdata>.major-mun span{display:block!important;min-width:0!important;white-space:nowrap!important;overflow:visible!important}

/* Deputados em qualquer largura: bandeira AO LADO do texto, nunca acima. */
.deputies .drow-four .mun.mun-stacked{
  display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:6px!important;
}
.deputies .drow-four .mun.mun-stacked img.ro-mini-flag{
  position:static!important;transform:none!important;float:none!important;
  width:22px!important;min-width:22px!important;max-width:22px!important;
  height:14px!important;min-height:14px!important;max-height:14px!important;
  margin:0!important;padding:0!important;flex:0 0 22px!important;object-fit:cover!important;
}
.deputies .drow-four .mun.mun-stacked span{display:block!important;width:auto!important;white-space:nowrap!important}

/* MOBILE: linhas compactas. Remove o formato de card alto introduzido no LIVE55. */
@media(max-width:650px){
  .wrap{padding-left:6px!important;padding-right:6px!important}
  .deputies>.panel{border-radius:9px!important;margin-bottom:12px!important}
  .deputies .dephead{padding:10px 9px!important}
  .deputies .dephead h2{font-size:16px!important;line-height:1.1!important}
  .deputies .dephead small{font-size:9px!important}
  .deputies .dephead a{font-size:9px!important;white-space:nowrap!important}

  .deputies .drow.drow-four{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 76px!important;
    grid-template-areas:
      "candidate votes"
      "municipios status"!important;
    column-gap:7px!important;row-gap:5px!important;
    width:100%!important;min-height:0!important;
    padding:7px 7px!important;margin:0!important;
    align-items:center!important;
  }
  .deputies .drow-four .candidate-cell{
    grid-area:candidate!important;display:grid!important;
    grid-template-columns:20px 32px minmax(0,1fr)!important;
    gap:5px!important;align-items:center!important;min-width:0!important;
  }
  .deputies .drow-four .rank{width:20px!important;height:20px!important;font-size:8px!important;border-radius:50%!important}
  .deputies .drow-four .avatar{width:32px!important;height:32px!important;min-width:32px!important}
  .deputies .drow-four .who{min-width:0!important}
  .deputies .drow-four .who strong{font-size:11px!important;line-height:1.08!important;white-space:normal!important}
  .deputies .drow-four .who small{font-size:7.5px!important;line-height:1.1!important}
  .deputies .drow-four .votes{
    grid-area:votes!important;justify-self:end!important;text-align:right!important;
    font-size:12px!important;line-height:1.05!important;white-space:nowrap!important;
  }
  .deputies .drow-four .votes small{font-size:7px!important;line-height:1.05!important;white-space:normal!important}
  .deputies .drow-four .status{
    grid-area:status!important;justify-self:end!important;width:76px!important;max-width:76px!important;
    min-height:22px!important;padding:3px 4px!important;font-size:7.5px!important;line-height:1.05!important;
    text-align:center!important;white-space:normal!important;
  }
  .deputies .drow-four .mun.mun-stacked{
    grid-area:municipios!important;justify-self:start!important;
    width:max-content!important;max-width:100%!important;min-height:24px!important;height:24px!important;
    padding:3px 6px!important;border-radius:5px!important;gap:5px!important;overflow:hidden!important;
  }
  .deputies .drow-four .mun.mun-stacked img.ro-mini-flag{
    width:18px!important;min-width:18px!important;max-width:18px!important;height:11px!important;min-height:11px!important;max-height:11px!important;flex-basis:18px!important;
  }
  .deputies .drow-four .mun.mun-stacked span{
    font-size:7.8px!important;line-height:1!important;white-space:nowrap!important;
  }

  /* Majoritários no celular: CTA sempre contido no card. */
  .leader{padding-bottom:42px!important}
  .leader .leaderdata>.major-mun{left:7px!important;right:7px!important;bottom:7px!important;min-height:27px!important;font-size:8px!important}
  .leader .leaderdata>.major-mun .major-flag-clean{width:18px!important;min-width:18px!important;max-width:18px!important;height:11px!important;flex-basis:18px!important}

  .dep-pager{font-size:9px!important}
  .deputies .dep-pages button{width:27px!important;height:27px!important;font-size:9px!important}
}


/* =========================================================
   LIVE58 — reconstrução mobile limpa + densidade + interação
   Escopo: somente apresentação da home da apuração.
   ========================================================= */

/* Mesmo feedback visual dos deputados em todos os cargos. */
.deputies .drow-four,
.major .leader,
.majors .leader,
.major .rrow,
.majors .rrow{
  transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
@media (hover:hover) and (pointer:fine){
  .deputies .drow-four:hover,
  .major .leader:hover,
  .majors .leader:hover,
  .major .rrow:hover,
  .majors .rrow:hover{
    background:#f3f9ff!important;
    border-color:#9fcbed!important;
    box-shadow:0 4px 13px rgba(16,83,143,.08)!important;
  }
}
.deputies .drow-four:active,
.major .leader:active,
.majors .leader:active,
.major .rrow:active,
.majors .rrow:active{
  background:#eaf5ff!important;
  border-color:#80bce8!important;
  transform:translateY(1px);
}

/* CTA dos deputados: bandeira SEMPRE ao lado do texto. */
.deputies .mun.mun-stacked{
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
}
.deputies .mun.mun-stacked img.ro-mini-flag{
  display:block!important;
  width:22px!important;
  min-width:22px!important;
  max-width:22px!important;
  height:14px!important;
  min-height:14px!important;
  max-height:14px!important;
  flex:0 0 22px!important;
  margin:0!important;
  object-fit:cover!important;
}
.deputies .mun.mun-stacked span{display:block!important;white-space:nowrap!important}

@media(max-width:650px){
  /* CABEÇALHO REAL DO PORTAL — compacto, sem recriação. */
  .site-header .mobile-header-row{
    min-height:0!important;height:54px!important;padding:6px 14px!important;
    align-items:center!important;
  }
  .site-header .mobile-brand img{max-height:31px!important;width:auto!important}
  .site-header .mobile-election-brand img{max-height:38px!important;width:auto!important}
  .site-header .mobile-nav-shell{min-height:0!important;height:42px!important}
  .site-header .mobile-nav-wrap{height:42px!important;min-height:0!important}
  .site-header .main-nav{height:42px!important;min-height:0!important;align-items:stretch!important}
  .site-header .main-nav a{min-height:0!important;height:42px!important;padding:5px 9px!important;gap:2px!important;font-size:10px!important;line-height:1!important}
  .site-header .main-nav .nav-ico{font-size:15px!important;line-height:16px!important}
  .site-header .mobile-nav-arrow{height:42px!important;line-height:42px!important;font-size:20px!important}
  .site-header .header-meta{display:none!important}
  .site-header .mobile-home-back-wrap{padding:5px 14px!important;min-height:0!important}
  .site-header .mobile-home-back{min-height:30px!important;height:30px!important;padding:4px 10px!important;font-size:11px!important;border-radius:7px!important}
  .site-header .mobile-home-back-icon{font-size:15px!important}

  /* HERO — reduz o espaço antes dos resultados. */
  .livehero{
    margin:0!important;padding:10px 12px 9px!important;gap:0!important;min-height:0!important;
  }
  .livecopy{padding:0!important}
  .livecopy>b{font-size:10px!important;line-height:1!important}
  .livecopy h1{font-size:20px!important;line-height:1.08!important;margin:3px 0 3px!important;letter-spacing:-.25px!important}
  .livecopy p{font-size:11px!important;line-height:1.18!important;margin:0!important}
  .livebox{
    margin:8px 0 0!important;padding:8px 9px!important;min-height:58px!important;
    grid-template-columns:minmax(0,1fr) 62px!important;gap:5px 8px!important;border-radius:9px!important;
  }
  .livebox>div:first-child{grid-column:1/3!important}
  .livebox strong{font-size:10.5px!important;line-height:1.05!important}
  .livebox small{font-size:8.5px!important;line-height:1.05!important;margin-top:2px!important}
  .liveprogress{height:7px!important;margin:0!important}
  .livepercent b{font-size:17px!important;line-height:1!important}
  .livepercent span{font-size:7.5px!important;line-height:1.05!important}

  /* Abas: uma faixa baixa, com rolagem horizontal. */
  .tabs{height:38px!important;min-height:38px!important;margin:0!important}
  .tabs a{height:38px!important;min-height:38px!important;padding:0 11px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:9.5px!important;line-height:1!important;flex:0 0 auto!important}

  .wrap{padding:7px 6px 24px!important}
  .panel{border-radius:9px!important;margin-bottom:9px!important}
  .ph,.dephead{padding:8px 9px!important;min-height:0!important;gap:7px!important}
  .ph h2,.dephead h2{font-size:16px!important;line-height:1.08!important;letter-spacing:-.15px!important}
  .ph small,.dephead small{font-size:8.5px!important;line-height:1.1!important;margin-top:2px!important}
  .ph a,.dephead>a{font-size:8px!important;line-height:1.05!important;max-width:64px!important;text-align:right!important;white-space:normal!important}

  /* Majoritários: cards menores, sem sacrificar leitura. */
  .leadergrid{padding:6px!important;gap:6px!important}
  .leader{
    min-height:108px!important;padding:8px 8px 34px!important;
    grid-template-columns:30px 48px minmax(0,1fr)!important;gap:7px!important;border-radius:8px!important;
  }
  .leader .photo.real-photo{width:46px!important;height:46px!important}
  .leader .pos{font-size:11px!important;padding:7px 3px!important;border-radius:6px!important}
  .leader .leaderdata>strong{font-size:13px!important;line-height:1.03!important}
  .leader .candidate-party{font-size:8.5px!important;line-height:1!important;margin-top:2px!important}
  .leader em{font-size:17px!important;line-height:1!important;margin-top:4px!important}
  .leader em span{font-size:10px!important}
  .leader .secondary-pct{font-size:8.5px!important;margin-top:2px!important}
  .leader .perf{height:5px!important;margin-top:5px!important}
  .leader .leaderdata>.major-mun{
    left:6px!important;right:6px!important;bottom:5px!important;min-height:24px!important;height:24px!important;
    padding:3px 6px!important;font-size:7.8px!important;border-radius:5px!important;gap:4px!important;
  }
  .leader .leaderdata>.major-mun .major-flag-clean{width:17px!important;min-width:17px!important;max-width:17px!important;height:10px!important;flex-basis:17px!important}

  .rest{padding:0 6px 6px!important}
  .rrow{
    min-height:43px!important;height:auto!important;margin-top:4px!important;padding:5px 6px!important;
    grid-template-columns:27px minmax(0,1fr) 55px!important;gap:6px!important;border-radius:6px!important;
  }
  .rrow>b:first-child{display:none!important}
  .rrow .mini.real-photo{width:27px!important;height:27px!important}
  .rrow .restidentity strong{font-size:10.5px!important;line-height:1.02!important}
  .rrow .restidentity>small{font-size:7.5px!important;line-height:1!important}
  .rrow .restvotes{font-size:10px!important;line-height:1!important;text-align:right!important}
  .rrow .restvotes small{font-size:7px!important}
  .rrow .rowperf{display:none!important}
  .wait-rest .restidentity>.major-mun-rest{
    position:static!important;width:max-content!important;max-width:100%!important;min-height:20px!important;height:20px!important;
    margin-top:3px!important;padding:2px 5px!important;font-size:6.8px!important;gap:4px!important;border-radius:4px!important;
  }
  .wait-rest .restidentity>.major-mun-rest .major-flag-clean{width:15px!important;min-width:15px!important;max-width:15px!important;height:9px!important;flex-basis:15px!important}

  /* DEPUTADOS — reconstrução: nada sobrepõe foto/nome. */
  .deputies{margin-top:9px!important}
  .deputies .cols{display:none!important}
  .deputies .drow-four{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 78px!important;
    grid-template-areas:
      "candidate votes"
      "candidate status"
      "municipios municipios"!important;
    column-gap:8px!important;row-gap:2px!important;
    min-height:78px!important;height:auto!important;padding:7px 8px!important;
    border-bottom:1px solid #dfe9f1!important;
  }
  .deputies .drow-four .candidate-cell{
    grid-area:candidate!important;display:grid!important;
    grid-template-columns:34px minmax(0,1fr)!important;gap:7px!important;align-items:center!important;
    min-width:0!important;align-self:start!important;
  }
  .deputies .drow-four .candidate-cell .rank{display:none!important}
  .deputies .drow-four .candidate-cell .avatar{
    width:34px!important;height:34px!important;min-width:34px!important;max-width:34px!important;
    margin:0!important;position:static!important;transform:none!important;align-self:center!important;
  }
  .deputies .drow-four .candidate-cell .who{min-width:0!important;position:static!important;transform:none!important;margin:0!important;padding:0!important}
  .deputies .drow-four .candidate-cell .who strong{
    display:block!important;font-size:11.5px!important;line-height:1.05!important;
    white-space:normal!important;overflow:visible!important;text-overflow:clip!important;margin:0!important;
  }
  .deputies .drow-four .candidate-cell .who small{display:block!important;font-size:7.8px!important;line-height:1.05!important;margin-top:2px!important}
  .deputies .drow-four .votes{
    grid-area:votes!important;align-self:end!important;justify-self:end!important;text-align:right!important;
    font-size:13px!important;line-height:1!important;font-weight:900!important;white-space:nowrap!important;
  }
  .deputies .drow-four .votes small{display:block!important;font-size:6.8px!important;line-height:1.05!important;font-weight:600!important;margin-top:2px!important;white-space:normal!important}
  .deputies .drow-four .status{
    grid-area:status!important;align-self:start!important;justify-self:end!important;width:auto!important;max-width:78px!important;
    min-height:0!important;padding:2px 4px!important;font-size:7px!important;line-height:1.05!important;text-align:right!important;
    background:transparent!important;border:0!important;white-space:normal!important;
  }
  .deputies .drow-four .mun.mun-stacked{
    grid-area:municipios!important;justify-self:start!important;width:max-content!important;max-width:100%!important;
    min-height:23px!important;height:23px!important;margin:2px 0 0!important;padding:3px 7px!important;
    display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:5px!important;
    border-radius:5px!important;
  }
  .deputies .drow-four .mun.mun-stacked img.ro-mini-flag{
    width:18px!important;min-width:18px!important;max-width:18px!important;height:11px!important;min-height:11px!important;max-height:11px!important;flex:0 0 18px!important;margin:0!important;
  }
  .deputies .drow-four .mun.mun-stacked span{font-size:7.6px!important;line-height:1!important;white-space:nowrap!important}
  .deputies .dep-pager{padding:7px!important;gap:6px!important;font-size:8px!important}
  .deputies .dep-pages button{width:24px!important;height:24px!important;font-size:8px!important}
  .deputies .dep-item[hidden]{display:none!important}

  /* Presidente: mesma largura dos deputados, sem exceção. */
  .pres.major,.pres.major .majorbody{width:100%!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important}
  .pres.major .ph h2{font-size:15px!important;white-space:normal!important}

  /* Dados gerais continuam somente após Presidente no mobile. */
  .general-desktop-only{display:none!important}
  .general-mobile-only{display:block!important}
}

@media(min-width:651px){
  .general-mobile-only{display:none!important}
  .general-desktop-only{display:block!important}
}

/* ==========================================================
   LIVE59 — correção estrutural mobile (sem colunas implícitas)
   + CTA municípios legível + respiro majoritários
   ========================================================== */

/* Desktop: cria respiro real entre percentual e CTA dos dois cards principais. */
@media(min-width:651px){
  .leader{padding-bottom:50px!important}
  .leader .leaderdata>.major-mun{bottom:9px!important}
  .leader .secondary-pct{margin-bottom:4px!important}
}

@media(max-width:650px){
  /* A regra desktop usava grid-column com !important e criava colunas implícitas
     no celular. Zeramos explicitamente antes de montar o grid mobile. */
  .deputies .drow-four .candidate-cell,
  .deputies .drow-four .votes,
  .deputies .drow-four .status,
  .deputies .drow-four .mun{
    grid-column:auto!important;
    grid-row:auto!important;
  }

  .deputies .drow-four{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 82px!important;
    grid-template-rows:auto auto!important;
    grid-template-areas:
      "candidate result"
      "municipios municipios"!important;
    column-gap:9px!important;
    row-gap:7px!important;
    min-height:0!important;
    height:auto!important;
    padding:9px 9px 8px!important;
    align-items:center!important;
  }
  .deputies .drow-four .candidate-cell{
    grid-area:candidate!important;
    display:grid!important;
    grid-template-columns:40px minmax(0,1fr)!important;
    gap:9px!important;
    align-items:center!important;
    align-self:center!important;
    min-width:0!important;
    width:100%!important;
    padding:0!important;
    margin:0!important;
  }
  .deputies .drow-four .candidate-cell .rank{display:none!important}
  .deputies .drow-four .candidate-cell .avatar,
  .deputies .drow-four .candidate-cell .avatar.real-photo{
    width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;
    position:static!important;transform:none!important;margin:0!important;
  }
  .deputies .drow-four .candidate-cell .who{
    position:static!important;transform:none!important;min-width:0!important;width:auto!important;
    margin:0!important;padding:0!important;text-align:left!important;
  }
  .deputies .drow-four .candidate-cell .who strong{
    display:block!important;font-size:12px!important;line-height:1.08!important;
    white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
  }
  .deputies .drow-four .candidate-cell .who small{
    display:block!important;font-size:8.5px!important;line-height:1.1!important;margin-top:3px!important;
  }

  /* Votos e situação formam um único bloco visual à direita. */
  .deputies .drow-four .votes{
    grid-area:result!important;align-self:center!important;justify-self:stretch!important;
    text-align:right!important;font-size:14px!important;line-height:1!important;
    padding:0!important;margin:0!important;white-space:nowrap!important;
  }
  .deputies .drow-four .votes small{
    display:block!important;font-size:7.5px!important;line-height:1.1!important;
    margin-top:4px!important;white-space:normal!important;
  }
  .deputies .drow-four .status{
    display:none!important;
  }

  /* CTA dos deputados: faixa visível, horizontal, sem bandeira acima. */
  .deputies .drow-four .mun.mun-stacked{
    grid-area:municipios!important;
    display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;
    justify-self:start!important;width:auto!important;max-width:100%!important;
    height:28px!important;min-height:28px!important;margin:0!important;padding:4px 9px!important;
    gap:6px!important;border-radius:6px!important;
  }
  .deputies .drow-four .mun.mun-stacked img.ro-mini-flag{
    width:22px!important;min-width:22px!important;max-width:22px!important;
    height:14px!important;min-height:14px!important;max-height:14px!important;
    flex:0 0 22px!important;margin:0!important;
  }
  .deputies .drow-four .mun.mun-stacked span{
    font-size:9px!important;line-height:1!important;font-weight:800!important;white-space:nowrap!important;
  }

  /* Majoritários compactos: o CTA deixa de ficar microscópico/cortado. */
  .rrow{
    min-height:58px!important;height:auto!important;
    grid-template-columns:31px minmax(0,1fr) 52px!important;
    padding:6px 7px!important;gap:7px!important;align-items:center!important;
  }
  .rrow .mini,.rrow .mini.real-photo{width:31px!important;height:31px!important;min-width:31px!important}
  .rrow .restidentity strong{font-size:11px!important;line-height:1.05!important}
  .rrow .restidentity>small{font-size:8px!important;line-height:1.05!important;margin-top:2px!important}
  .wait-rest .restidentity>.major-mun-rest{
    display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;
    width:auto!important;max-width:100%!important;height:24px!important;min-height:24px!important;
    margin-top:5px!important;padding:3px 7px!important;gap:5px!important;border-radius:5px!important;
    font-size:8px!important;line-height:1!important;overflow:visible!important;
  }
  .wait-rest .restidentity>.major-mun-rest .major-flag-clean{
    width:19px!important;min-width:19px!important;max-width:19px!important;height:12px!important;flex-basis:19px!important;
  }
  .wait-rest .restidentity>.major-mun-rest span{font-size:8px!important;white-space:nowrap!important}

  /* Cards principais: CTA um pouco mais legível sem voltar a ocupar espaço demais. */
  .leader{padding-bottom:39px!important}
  .leader .leaderdata>.major-mun{
    height:28px!important;min-height:28px!important;font-size:8.7px!important;padding:4px 7px!important;gap:5px!important;
  }
  .leader .leaderdata>.major-mun .major-flag-clean{
    width:20px!important;min-width:20px!important;max-width:20px!important;height:12px!important;flex-basis:20px!important;
  }
}

/* ==========================================================
   LIVE60 — mobile definitivo: linhas de deputados sem sobreposição
   + majoritários compactos com CTA inteiro
   ========================================================== */
@media(max-width:650px){
  /* DEPUTADOS: reset total do antigo grid desktop. */
  .deputies .drow.drow-four{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 104px!important;
    grid-template-rows:auto auto!important;
    grid-template-areas:"cand res" "cta cta"!important;
    gap:8px 10px!important;
    align-items:center!important;
    min-height:0!important;
    height:auto!important;
    padding:10px 11px!important;
    overflow:visible!important;
  }
  .deputies .drow.drow-four .candidate-cell{
    grid-area:cand!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    position:static!important;
    transform:none!important;
  }
  .deputies .drow.drow-four .candidate-cell .rank{display:none!important}
  .deputies .drow.drow-four .candidate-cell .avatar,
  .deputies .drow.drow-four .candidate-cell .avatar.real-photo{
    display:flex!important;
    flex:0 0 42px!important;
    width:42px!important;min-width:42px!important;max-width:42px!important;
    height:42px!important;min-height:42px!important;max-height:42px!important;
    margin:0!important;padding:0!important;
    position:static!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    transform:none!important;
  }
  .deputies .drow.drow-four .candidate-cell .avatar img{
    display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;
    position:static!important;transform:none!important;margin:0!important;
  }
  .deputies .drow.drow-four .candidate-cell .who{
    display:block!important;flex:1 1 auto!important;min-width:0!important;width:auto!important;
    position:static!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    transform:none!important;margin:0!important;padding:0!important;text-align:left!important;
  }
  .deputies .drow.drow-four .candidate-cell .who strong{
    display:block!important;margin:0!important;padding:0!important;
    font-size:12.5px!important;line-height:1.08!important;font-weight:900!important;
    white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
  }
  .deputies .drow.drow-four .candidate-cell .who small{
    display:block!important;margin:3px 0 0!important;padding:0!important;
    font-size:9px!important;line-height:1.05!important;white-space:normal!important;
  }
  .deputies .drow.drow-four .votes{
    grid-area:res!important;display:block!important;align-self:center!important;justify-self:stretch!important;
    width:auto!important;margin:0!important;padding:0!important;text-align:right!important;
    font-size:17px!important;line-height:1!important;font-weight:900!important;white-space:nowrap!important;
    position:static!important;transform:none!important;
  }
  .deputies .drow.drow-four .votes small{
    display:block!important;margin-top:5px!important;font-size:8px!important;line-height:1.1!important;
    font-weight:600!important;white-space:normal!important;
  }
  .deputies .drow.drow-four .status{display:none!important}
  .deputies .drow.drow-four .mun.mun-stacked{
    grid-area:cta!important;display:flex!important;flex-direction:row!important;
    align-items:center!important;justify-content:center!important;justify-self:stretch!important;
    width:100%!important;max-width:none!important;min-height:34px!important;height:34px!important;
    margin:0!important;padding:5px 10px!important;gap:7px!important;border-radius:7px!important;
    position:static!important;transform:none!important;
  }
  .deputies .drow.drow-four .mun.mun-stacked img.ro-mini-flag{
    flex:0 0 25px!important;width:25px!important;min-width:25px!important;max-width:25px!important;
    height:16px!important;min-height:16px!important;max-height:16px!important;margin:0!important;
  }
  .deputies .drow.drow-four .mun.mun-stacked span{
    display:block!important;font-size:10px!important;line-height:1!important;font-weight:900!important;
    white-space:nowrap!important;text-align:center!important;
  }

  /* MAJORITÁRIOS COMPACTOS: CTA não pode sair/cortar no rodapé da linha. */
  .major .rrow.wait-rest,
  .pres.major .rrow.wait-rest{
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr) 54px!important;
    min-height:78px!important;height:auto!important;
    padding:7px 9px!important;gap:8px!important;align-items:center!important;
    overflow:hidden!important;
  }
  .major .rrow.wait-rest .mini,
  .major .rrow.wait-rest .mini.real-photo{
    width:34px!important;min-width:34px!important;max-width:34px!important;height:34px!important;
  }
  .major .rrow.wait-rest .restidentity{min-width:0!important;align-self:center!important}
  .major .rrow.wait-rest .restidentity strong{font-size:11.5px!important;line-height:1.03!important}
  .major .rrow.wait-rest .restidentity>small{font-size:8.5px!important;line-height:1.05!important}
  .major .rrow.wait-rest .restidentity>.major-mun-rest{
    display:flex!important;width:100%!important;max-width:210px!important;height:27px!important;min-height:27px!important;
    margin:5px 0 0!important;padding:4px 7px!important;gap:5px!important;
    align-items:center!important;justify-content:center!important;overflow:hidden!important;
  }
  .major .rrow.wait-rest .restidentity>.major-mun-rest .major-flag-clean{
    flex:0 0 20px!important;width:20px!important;min-width:20px!important;max-width:20px!important;height:12px!important;
  }
  .major .rrow.wait-rest .restidentity>.major-mun-rest span{
    display:block!important;min-width:0!important;font-size:8.2px!important;line-height:1!important;white-space:nowrap!important;
  }
  .major .rrow.wait-rest .restvotes{align-self:center!important;justify-self:end!important;font-size:15px!important}
  .major .rrow.wait-rest .rowperf{display:none!important}
}

/* ==========================================================
   LIVE61 — majoritários compactos mobile + deputado live sem posição
   ========================================================== */
@media(max-width:650px){
  /* Governo, Senado e Presidente: linha compacta com altura real para o CTA. */
  .major .rrow.wait-rest,
  .pres.major .rrow.wait-rest,
  .major .rrow:not(.wait-rest),
  .pres.major .rrow:not(.wait-rest){
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr) 78px!important;
    grid-template-rows:auto!important;
    min-height:94px!important;
    height:auto!important;
    padding:8px 10px!important;
    gap:9px!important;
    align-items:center!important;
    overflow:hidden!important;
  }
  .major .rrow>b:first-child,
  .pres.major .rrow>b:first-child{display:none!important}
  .major .rrow .mini,
  .major .rrow .mini.real-photo,
  .pres.major .rrow .mini,
  .pres.major .rrow .mini.real-photo{
    width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;
    align-self:center!important;
  }
  .major .rrow .restidentity,
  .pres.major .rrow .restidentity{
    min-width:0!important;align-self:center!important;padding:0 0 34px!important;position:relative!important;
  }
  .major .rrow .restidentity strong,
  .pres.major .rrow .restidentity strong{
    display:block!important;font-size:12px!important;line-height:1.05!important;font-weight:900!important;
  }
  .major .rrow .restidentity>small,
  .pres.major .rrow .restidentity>small{
    display:block!important;font-size:9px!important;line-height:1.08!important;margin-top:3px!important;
  }
  .major .rrow .restidentity>.major-mun,
  .major .rrow .restidentity>.major-mun-rest,
  .pres.major .rrow .restidentity>.major-mun,
  .pres.major .rrow .restidentity>.major-mun-rest{
    position:absolute!important;left:0!important;bottom:0!important;
    display:flex!important;align-items:center!important;justify-content:flex-start!important;
    width:auto!important;max-width:220px!important;height:30px!important;min-height:30px!important;
    margin:0!important;padding:5px 8px!important;gap:6px!important;border-radius:6px!important;
    overflow:hidden!important;
  }
  .major .rrow .restidentity>.major-mun .major-flag-clean,
  .major .rrow .restidentity>.major-mun-rest .major-flag-clean,
  .pres.major .rrow .restidentity>.major-mun .major-flag-clean,
  .pres.major .rrow .restidentity>.major-mun-rest .major-flag-clean{
    flex:0 0 22px!important;width:22px!important;min-width:22px!important;max-width:22px!important;height:14px!important;
  }
  .major .rrow .restidentity>.major-mun span,
  .major .rrow .restidentity>.major-mun-rest span,
  .pres.major .rrow .restidentity>.major-mun span,
  .pres.major .rrow .restidentity>.major-mun-rest span{
    display:block!important;font-size:8.7px!important;line-height:1!important;font-weight:900!important;white-space:nowrap!important;
  }
  .major .rrow .restvotes,
  .pres.major .rrow .restvotes{
    align-self:center!important;justify-self:end!important;text-align:right!important;font-size:16px!important;line-height:1!important;
  }
  .major .rrow .restvotes small,
  .pres.major .rrow .restvotes small{font-size:9px!important;line-height:1.1!important;margin-top:5px!important}
  .major .rrow .rowperf,.pres.major .rrow .rowperf{display:none!important}

  /* Resultado oficial dos deputados: sem posição; situação ocupa o espaço livre. */
  .deputies .drow.drow-four.live-result{
    grid-template-columns:minmax(0,1fr) 118px!important;
    grid-template-rows:auto auto auto!important;
    grid-template-areas:"cand res" "cand status" "cta cta"!important;
    row-gap:5px!important;
  }
  .deputies .drow.drow-four.live-result .status{
    grid-area:status!important;display:block!important;justify-self:end!important;text-align:right!important;
    width:auto!important;max-width:118px!important;margin:0!important;padding:3px 6px!important;
    font-size:8.5px!important;line-height:1.05!important;border-radius:999px!important;white-space:normal!important;
  }
  .deputies .drow.drow-four.live-result .votes{align-self:end!important}
  .deputies .drow.drow-four.live-result .candidate-cell{align-self:center!important}
}

/* ==========================================================
   LIVE62 — majoritários secundários no mesmo porte dos deputados
   Mobile: Governo, Senado e Presidente (do 3º candidato em diante)
   ========================================================== */
@media(max-width:650px){
  .major .rest .rrow,
  .pres.major .rest .rrow{
    position:relative!important;
    display:grid!important;
    grid-template-columns:72px minmax(0,1fr) 112px!important;
    grid-template-rows:auto!important;
    min-height:142px!important;
    height:auto!important;
    padding:14px 12px 58px!important;
    column-gap:12px!important;
    row-gap:0!important;
    align-items:center!important;
    overflow:hidden!important;
    border-radius:8px!important;
  }
  .major .rest .rrow>b:first-child,
  .pres.major .rest .rrow>b:first-child{display:none!important}
  .major .rest .rrow .mini,
  .major .rest .rrow .mini.real-photo,
  .pres.major .rest .rrow .mini,
  .pres.major .rest .rrow .mini.real-photo{
    grid-column:1!important;
    width:62px!important;min-width:62px!important;max-width:62px!important;height:62px!important;
    margin:0!important;align-self:center!important;justify-self:center!important;
  }
  .major .rest .rrow .restidentity,
  .pres.major .rest .rrow .restidentity{
    grid-column:2!important;
    position:static!important;
    min-width:0!important;
    padding:0!important;
    margin:0!important;
    align-self:center!important;
  }
  .major .rest .rrow .restidentity strong,
  .pres.major .rest .rrow .restidentity strong{
    display:block!important;
    font-size:14px!important;line-height:1.08!important;font-weight:900!important;
    margin:0!important;
  }
  .major .rest .rrow .restidentity>small,
  .pres.major .rest .rrow .restidentity>small{
    display:block!important;font-size:10px!important;line-height:1.15!important;margin-top:4px!important;
  }
  .major .rest .rrow .restvotes,
  .pres.major .rest .rrow .restvotes{
    grid-column:3!important;
    display:block!important;
    align-self:center!important;justify-self:end!important;
    margin:0!important;text-align:right!important;
    font-size:17px!important;line-height:1.05!important;font-weight:900!important;
  }
  .major .rest .rrow .restvotes small,
  .pres.major .rest .rrow .restvotes small{
    display:block!important;font-size:10px!important;line-height:1.15!important;margin-top:5px!important;font-weight:600!important;
  }
  .major .rest .rrow .restidentity>.major-mun,
  .major .rest .rrow .restidentity>.major-mun-rest,
  .pres.major .rest .rrow .restidentity>.major-mun,
  .pres.major .rest .rrow .restidentity>.major-mun-rest{
    position:absolute!important;
    left:12px!important;right:12px!important;bottom:10px!important;
    width:auto!important;max-width:none!important;
    height:42px!important;min-height:42px!important;
    margin:0!important;padding:7px 12px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
    overflow:hidden!important;border-radius:7px!important;
  }
  .major .rest .rrow .restidentity>.major-mun .major-flag-clean,
  .major .rest .rrow .restidentity>.major-mun-rest .major-flag-clean,
  .pres.major .rest .rrow .restidentity>.major-mun .major-flag-clean,
  .pres.major .rest .rrow .restidentity>.major-mun-rest .major-flag-clean{
    flex:0 0 32px!important;width:32px!important;min-width:32px!important;max-width:32px!important;height:20px!important;
  }
  .major .rest .rrow .restidentity>.major-mun span,
  .major .rest .rrow .restidentity>.major-mun-rest span,
  .pres.major .rest .rrow .restidentity>.major-mun span,
  .pres.major .rest .rrow .restidentity>.major-mun-rest span{
    display:block!important;font-size:11px!important;line-height:1!important;font-weight:900!important;white-space:nowrap!important;
  }
  .major .rest .rrow .rowperf,
  .pres.major .rest .rrow .rowperf{display:none!important}
}

/* ==========================================================
   LIVE63 — correção real dos majoritários secundários no mobile
   Governo/Senado não possuem classe .major no HTML; usar data-cargo.
   Presidente mantém .pres.major.
   ========================================================== */
@media(max-width:650px){
  .panel[data-cargo="governador"] .rest .rrow,
  .panel[data-cargo="senador"] .rest .rrow,
  .panel[data-cargo="presidente"] .rest .rrow{
    position:relative!important;
    display:grid!important;
    grid-template-columns:72px minmax(0,1fr) 112px!important;
    grid-template-rows:auto!important;
    min-height:142px!important;
    height:auto!important;
    padding:14px 12px 58px!important;
    column-gap:12px!important;
    row-gap:0!important;
    align-items:center!important;
    overflow:hidden!important;
    border-radius:8px!important;
  }
  .panel[data-cargo="governador"] .rest .rrow>b:first-child,
  .panel[data-cargo="senador"] .rest .rrow>b:first-child,
  .panel[data-cargo="presidente"] .rest .rrow>b:first-child{display:none!important}

  .panel[data-cargo="governador"] .rest .rrow .mini,
  .panel[data-cargo="governador"] .rest .rrow .mini.real-photo,
  .panel[data-cargo="senador"] .rest .rrow .mini,
  .panel[data-cargo="senador"] .rest .rrow .mini.real-photo,
  .panel[data-cargo="presidente"] .rest .rrow .mini,
  .panel[data-cargo="presidente"] .rest .rrow .mini.real-photo{
    grid-column:1!important;
    width:62px!important;min-width:62px!important;max-width:62px!important;height:62px!important;
    margin:0!important;align-self:center!important;justify-self:center!important;
  }
  .panel[data-cargo="governador"] .rest .rrow .restidentity,
  .panel[data-cargo="senador"] .rest .rrow .restidentity,
  .panel[data-cargo="presidente"] .rest .rrow .restidentity{
    grid-column:2!important;position:static!important;min-width:0!important;padding:0!important;margin:0!important;align-self:center!important;
  }
  .panel[data-cargo="governador"] .rest .rrow .restidentity strong,
  .panel[data-cargo="senador"] .rest .rrow .restidentity strong,
  .panel[data-cargo="presidente"] .rest .rrow .restidentity strong{
    display:block!important;font-size:14px!important;line-height:1.08!important;font-weight:900!important;margin:0!important;
  }
  .panel[data-cargo="governador"] .rest .rrow .restidentity>small,
  .panel[data-cargo="senador"] .rest .rrow .restidentity>small,
  .panel[data-cargo="presidente"] .rest .rrow .restidentity>small{
    display:block!important;font-size:10px!important;line-height:1.15!important;margin-top:4px!important;
  }
  .panel[data-cargo="governador"] .rest .rrow .restvotes,
  .panel[data-cargo="senador"] .rest .rrow .restvotes,
  .panel[data-cargo="presidente"] .rest .rrow .restvotes{
    grid-column:3!important;display:block!important;align-self:center!important;justify-self:end!important;
    margin:0!important;text-align:right!important;font-size:17px!important;line-height:1.05!important;font-weight:900!important;
  }
  .panel[data-cargo="governador"] .rest .rrow .restvotes small,
  .panel[data-cargo="senador"] .rest .rrow .restvotes small,
  .panel[data-cargo="presidente"] .rest .rrow .restvotes small{
    display:block!important;font-size:10px!important;line-height:1.15!important;margin-top:5px!important;font-weight:600!important;
  }
  .panel[data-cargo="governador"] .rest .rrow .restidentity>.major-mun,
  .panel[data-cargo="senador"] .rest .rrow .restidentity>.major-mun,
  .panel[data-cargo="presidente"] .rest .rrow .restidentity>.major-mun{
    position:absolute!important;left:12px!important;right:12px!important;bottom:10px!important;
    width:auto!important;max-width:none!important;height:42px!important;min-height:42px!important;
    margin:0!important;padding:7px 12px!important;display:flex!important;align-items:center!important;justify-content:center!important;
    gap:8px!important;overflow:hidden!important;border-radius:7px!important;
  }
  .panel[data-cargo="governador"] .rest .rrow .restidentity>.major-mun .major-flag-clean,
  .panel[data-cargo="senador"] .rest .rrow .restidentity>.major-mun .major-flag-clean,
  .panel[data-cargo="presidente"] .rest .rrow .restidentity>.major-mun .major-flag-clean{
    flex:0 0 32px!important;width:32px!important;min-width:32px!important;max-width:32px!important;height:20px!important;
  }
  .panel[data-cargo="governador"] .rest .rrow .restidentity>.major-mun span,
  .panel[data-cargo="senador"] .rest .rrow .restidentity>.major-mun span,
  .panel[data-cargo="presidente"] .rest .rrow .restidentity>.major-mun span{
    display:block!important;font-size:11px!important;line-height:1!important;font-weight:900!important;white-space:nowrap!important;
  }
  .panel[data-cargo="governador"] .rest .rrow .rowperf,
  .panel[data-cargo="senador"] .rest .rrow .rowperf,
  .panel[data-cargo="presidente"] .rest .rrow .rowperf{display:none!important}
}

/* ==========================================================
   LIVE64 — proporção mobile dos majoritários
   - dois primeiros deixam de ser cards gigantes
   - CTA dos 52 municípios usa a mesma leitura dos demais
   - linhas secundárias ganham largura para nomes curtos em 1 linha
   ========================================================== */
@media(max-width:650px){
  /* TOP 2: destaque moderado, não gigante */
  .panel[data-cargo="governador"] .leadergrid,
  .panel[data-cargo="senador"] .leadergrid,
  .panel[data-cargo="presidente"] .leadergrid{
    gap:8px!important;
  }
  .panel[data-cargo="governador"] .leader,
  .panel[data-cargo="senador"] .leader,
  .panel[data-cargo="presidente"] .leader{
    min-height:154px!important;
    height:auto!important;
    padding:13px 12px 55px!important;
    overflow:hidden!important;
  }
  .panel[data-cargo="governador"] .leader .photo,
  .panel[data-cargo="governador"] .leader .photo.real-photo,
  .panel[data-cargo="senador"] .leader .photo,
  .panel[data-cargo="senador"] .leader .photo.real-photo,
  .panel[data-cargo="presidente"] .leader .photo,
  .panel[data-cargo="presidente"] .leader .photo.real-photo{
    width:70px!important;min-width:70px!important;max-width:70px!important;height:70px!important;
  }
  .panel[data-cargo="governador"] .leader .leaderdata strong,
  .panel[data-cargo="senador"] .leader .leaderdata strong,
  .panel[data-cargo="presidente"] .leader .leaderdata strong{
    font-size:16px!important;line-height:1.05!important;
  }
  .panel[data-cargo="governador"] .leader .leaderdata>small.candidate-party,
  .panel[data-cargo="senador"] .leader .leaderdata>small.candidate-party,
  .panel[data-cargo="presidente"] .leader .leaderdata>small.candidate-party{
    font-size:10px!important;
  }
  .panel[data-cargo="governador"] .leader .leaderdata em,
  .panel[data-cargo="senador"] .leader .leaderdata em,
  .panel[data-cargo="presidente"] .leader .leaderdata em{
    font-size:17px!important;line-height:1!important;margin-top:7px!important;
  }
  .panel[data-cargo="governador"] .leader .secondary-pct,
  .panel[data-cargo="senador"] .leader .secondary-pct,
  .panel[data-cargo="presidente"] .leader .secondary-pct{
    font-size:10px!important;line-height:1.05!important;margin-top:3px!important;
  }
  .panel[data-cargo="governador"] .leader .perf,
  .panel[data-cargo="senador"] .leader .perf,
  .panel[data-cargo="presidente"] .leader .perf{display:none!important}

  /* CTA TOP 2: mesmo peso visual das linhas inferiores */
  .panel[data-cargo="governador"] .leader .major-mun,
  .panel[data-cargo="senador"] .leader .major-mun,
  .panel[data-cargo="presidente"] .leader .major-mun{
    left:12px!important;right:12px!important;bottom:10px!important;
    min-height:42px!important;height:42px!important;padding:7px 12px!important;gap:8px!important;
    font-size:11px!important;border-radius:7px!important;
  }
  .panel[data-cargo="governador"] .leader .major-mun .major-flag-clean,
  .panel[data-cargo="senador"] .leader .major-mun .major-flag-clean,
  .panel[data-cargo="presidente"] .leader .major-mun .major-flag-clean{
    width:32px!important;min-width:32px!important;max-width:32px!important;height:20px!important;flex:0 0 32px!important;
  }
  .panel[data-cargo="governador"] .leader .major-mun span,
  .panel[data-cargo="senador"] .leader .major-mun span,
  .panel[data-cargo="presidente"] .leader .major-mun span{
    font-size:11px!important;line-height:1!important;font-weight:900!important;white-space:nowrap!important;
  }

  /* SECUNDÁRIOS EM ESPERA: o traço de votos não precisa roubar 112px. */
  .panel[data-cargo="governador"] .rest .rrow.wait-rest,
  .panel[data-cargo="senador"] .rest .rrow.wait-rest,
  .panel[data-cargo="presidente"] .rest .rrow.wait-rest{
    grid-template-columns:62px minmax(0,1fr) 58px!important;
    min-height:142px!important;
    padding:14px 12px 58px!important;
    column-gap:10px!important;
  }
  .panel[data-cargo="governador"] .rest .rrow.wait-rest .restidentity strong,
  .panel[data-cargo="senador"] .rest .rrow.wait-rest .restidentity strong,
  .panel[data-cargo="presidente"] .rest .rrow.wait-rest .restidentity strong{
    font-size:13.5px!important;line-height:1.05!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  .panel[data-cargo="governador"] .rest .rrow.wait-rest .restvotes,
  .panel[data-cargo="senador"] .rest .rrow.wait-rest .restvotes,
  .panel[data-cargo="presidente"] .rest .rrow.wait-rest .restvotes{
    width:58px!important;min-width:58px!important;font-size:17px!important;
  }
}

/* LIVE64F — correção pelo HTML real.
   index.php imprime o nome em .leaderdata > strong.
   SOMENTE desktop; mobile LIVE64 permanece intacto. */
@media(min-width:901px){
  /* respiro já aprovado */
  .panel[data-cargo="governador"] .leader,
  .panel[data-cargo="senador"] .leader,
  .panel[data-cargo="presidente"] .leader{
    min-height:158px!important;
    padding-bottom:58px!important;
  }
  .panel[data-cargo="governador"] .leader .secondary-pct,
  .panel[data-cargo="senador"] .leader .secondary-pct,
  .panel[data-cargo="presidente"] .leader .secondary-pct{
    margin-top:4px!important;
    margin-bottom:10px!important;
    position:relative!important;
    z-index:2!important;
  }
  .panel[data-cargo="governador"] .leader .leaderdata>.major-mun,
  .panel[data-cargo="senador"] .leader .leaderdata>.major-mun,
  .panel[data-cargo="presidente"] .leader .leaderdata>.major-mun{
    bottom:8px!important;
  }

  /* seletor REAL do nome no Governo */
  .panel[data-cargo="governador"] .leader .leaderdata>strong{
    display:block!important;
    white-space:nowrap!important;
    overflow:visible!important;
    max-width:none!important;
    width:max-content!important;
    font-size:16px!important;
    line-height:1.08!important;
    letter-spacing:-.35px!important;
  }
}
