:root{
  --navy:#07265e;--navy-2:#0b3477;--blue:#0868dc;--blue-2:#2586ed;--green:#07914a;--green-2:#20b365;
  --yellow:#f2c94c;--ink:#10213f;--muted:#66758b;--line:#dce6f1;--soft:#f3f7fc;--soft-blue:#edf5ff;
  --white:#fff;--danger:#b42318;--warning:#9a6700;--shadow:0 14px 40px rgba(15,54,104,.08);--shadow-sm:0 6px 20px rgba(15,54,104,.06);
  --radius:18px;--radius-sm:12px;--max:1440px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f8fc;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}button,input,select{font:inherit}
.site-header{height:82px;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:24px;padding:0 max(26px,calc((100vw - var(--max))/2));position:sticky;top:0;z-index:50}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--navy);white-space:nowrap}.brand-mark{width:46px;height:34px;border-radius:9px;background:linear-gradient(145deg,#0a9b4f,#08743d);position:relative;display:block;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}.brand-mark:before{content:"";position:absolute;width:23px;height:23px;background:#f7d447;transform:rotate(45deg);left:12px;top:5px;border-radius:2px}.brand-mark:after{content:"";position:absolute;width:16px;height:16px;background:#1e63c7;border-radius:50%;left:15px;top:9px}.brand-mark i{position:absolute;z-index:2;left:14px;top:15px;width:19px;height:3px;border-radius:50%;border-top:2px solid #fff;transform:rotate(-13deg)}.brand b{display:block;font-size:17px;line-height:1.1;letter-spacing:-.01em}.brand small{display:block;font-weight:850;color:var(--green);letter-spacing:.1em;font-size:10px;margin-top:2px}.global-search{position:relative;flex:1;max-width:420px}.global-search input,.field,select{width:100%;border:1px solid #cbd9ea;border-radius:999px;padding:11px 16px;background:#f9fbfe;color:var(--ink);outline:none;transition:.2s}.global-search input{padding-left:39px}.search-icon{position:absolute;left:15px;top:8px;color:#6b7d96;font-size:22px;z-index:2}.global-search input:focus,.field:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(8,104,220,.11);background:#fff}.search-results{display:none;position:absolute;top:47px;left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 18px 45px rgba(9,43,89,.16);overflow:hidden;z-index:80}.search-results.show{display:block}.search-results a{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;text-decoration:none;color:var(--ink);border-bottom:1px solid #eef3f8}.search-results a:last-child{border-bottom:0}.search-results a:hover{background:var(--soft-blue)}.search-results small{color:var(--muted);font-weight:700}.live-pill{display:flex;align-items:center;gap:7px;border:1px solid #dbe7f4;border-radius:999px;padding:8px 11px;background:#fbfdff;color:var(--navy);font-size:11px;white-space:nowrap}.live-pill>span{width:8px;height:8px;border-radius:50%;background:#18b964;box-shadow:0 0 0 5px rgba(24,185,100,.10);animation:pulse 2s infinite}.live-pill b{font-size:10px;letter-spacing:.08em}.live-pill small{color:var(--muted)}@keyframes pulse{50%{box-shadow:0 0 0 8px rgba(24,185,100,0)}}nav{display:flex;gap:18px;margin-left:auto}nav a{color:var(--ink);text-decoration:none;font-weight:760;padding:28px 0 24px;border-bottom:3px solid transparent;font-size:14px}nav a:hover,nav a.active{color:var(--blue);border-color:var(--blue)}.nav-toggle{display:none;border:0;background:#eff5fc;color:var(--navy);border-radius:10px;padding:8px 10px;font-size:18px}.source-strip{max-width:var(--max);margin:0 auto;padding:7px 28px;display:flex;justify-content:space-between;gap:15px;color:#60728d;font-size:11px}.source-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:6px}
main{max-width:var(--max);margin:0 auto;padding:0 28px 36px}.hero{min-height:220px;margin:0 -28px 18px;padding:31px max(28px,calc((100vw - var(--max))/2 + 28px));display:flex;justify-content:space-between;align-items:center;background:linear-gradient(105deg,#eaf5ff 0,#f7fbff 50%,#def3ff 100%);overflow:hidden;position:relative;border-top:1px solid #eef5fb;border-bottom:1px solid #dfeaf5}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,rgba(8,104,220,.08),transparent 32%),linear-gradient(180deg,rgba(255,255,255,.18),transparent)}.hero:after{content:"";position:absolute;right:5%;bottom:-90px;width:520px;height:260px;border-radius:55% 55% 0 0;background:linear-gradient(135deg,rgba(8,104,220,.09),rgba(7,145,74,.15));transform:skewX(-8deg)}.hero>div{position:relative;z-index:2}.hero-copy{max-width:780px}.hero h1{font-size:46px;line-height:1.02;margin:7px 0 8px;color:var(--navy);letter-spacing:-.035em}.hero h1 em{font-style:normal;color:var(--green)}.hero h2{margin:0;font-size:24px;letter-spacing:-.02em}.hero p{max-width:760px;font-size:15px;color:#354d73;line-height:1.5}.hero-actions{display:flex;gap:10px;margin-top:17px}.eyebrow{font-size:12px;letter-spacing:.22em;color:#496486;font-weight:900}.hero-art{min-width:310px;display:flex;align-items:center;justify-content:flex-end}.hero-word{text-align:right;font-weight:900;letter-spacing:.18em;color:#587395;line-height:1.9;font-size:13px}.hero-state{background:linear-gradient(95deg,#eaf6ff,#f8fbff 48%,#e8f6ed)}.hero-municipality{background:linear-gradient(95deg,#edf7ff,#fff 50%,#f5f2df)}.hero-brasilia{min-height:160px}.monument{position:relative;width:200px;height:120px;margin-left:35px}.monument span:first-child,.monument span:nth-child(2){position:absolute;bottom:0;width:28px;height:112px;background:linear-gradient(180deg,#9bb9d4,#e9f2f9);border:1px solid rgba(7,38,94,.08);box-shadow:0 10px 30px rgba(5,44,88,.08)}.monument span:first-child{left:65px}.monument span:nth-child(2){left:100px}.monument:after{content:"";position:absolute;bottom:0;left:0;width:200px;height:18px;background:#d9e9f5;border-radius:50% 50% 4px 4px}.state-emblem,.orbital-map,.search-orbit,.result-seal,.chart-emblem{width:145px;height:145px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#0b67ce,#0a8e4a);color:#fff;font-size:48px;font-weight:950;box-shadow:0 20px 50px rgba(11,78,142,.18);border:8px solid rgba(255,255,255,.7)}.state-emblem.small{width:116px;height:116px;font-size:38px}.orbital-map span,.search-orbit span,.result-seal span,.chart-emblem span{display:block;font-size:11px;letter-spacing:.16em;margin-top:-35px}.search-orbit{font-size:30px}.result-seal,.chart-emblem{font-size:56px}
.section-block{margin:24px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:0 2px 13px}.section-head h2{margin:2px 0 4px;color:var(--navy);font-size:27px;letter-spacing:-.025em}.section-head p{margin:0;color:var(--muted)}.section-kicker,.card-kicker{font-size:10px;font-weight:900;letter-spacing:.16em;color:#5b7190}.text-link{color:var(--blue);font-weight:800;text-decoration:none;font-size:13px;white-space:nowrap}.text-link:hover{text-decoration:underline}
.dashboard-grid{display:grid;gap:16px;margin:16px 0}.home-primary,.state-primary,.parl-top,.analytics-main{grid-template-columns:minmax(0,1.75fr) minmax(320px,.8fr)}.split-main{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-grid{grid-template-columns:1.35fr 1fr .8fr}.elected-panels{grid-template-columns:repeat(2,minmax(0,1fr))}.card-xl{min-width:0}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm)}.card h3{margin:0 0 8px;font-size:20px;color:var(--navy);letter-spacing:-.015em}.card-head,.chart-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.muted{color:var(--muted);margin:4px 0 12px;line-height:1.45}.loading,.empty{padding:28px;border:1px dashed #c5d4e7;border-radius:14px;text-align:center;color:var(--muted);background:#fbfdff}.loading.wide,.empty.wide{grid-column:1/-1}.spinner{display:inline-block;width:13px;height:13px;border:2px solid #bfd0e3;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite;margin-right:6px}@keyframes spin{to{transform:rotate(360deg)}}
.result-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:6px}.result-title h3{font-size:22px;margin-bottom:2px}.result-meta{font-size:12px;color:var(--muted)}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;background:#eef4fb;color:#345;white-space:nowrap}.badge.elected{background:#ddf6e7;color:#08783e}.badge.second{background:#e5f0ff;color:#075bb8}.badge.pending{background:#fff4d9;color:#8a5b00}.badge.waiting{background:#edf2f7;color:#607087}.badge.final{background:#e5f7ef;color:#08783e}.candidate{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 0;border-top:1px solid #edf2f7}.candidate:first-of-type{border-top:0}.avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(145deg,#dce9f7,#f2f6fb);display:grid;place-items:center;font-weight:950;color:#496581;border:1px solid #d8e4ef}.candidate-name{font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.party{font-size:11px;color:var(--muted);margin-top:2px}.bar{height:9px;border-radius:999px;background:#e8eef6;overflow:hidden;margin-top:7px}.bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--blue-2));border-radius:inherit}.candidate.alt .bar>i{background:linear-gradient(90deg,var(--green),var(--green-2))}.candidate-number{text-align:right;font-weight:950;color:var(--blue);font-size:20px;min-width:112px}.candidate.alt .candidate-number{color:var(--green)}.candidate-number small{display:block;color:var(--muted);font-size:11px;font-weight:650;margin-top:2px}.result-foot{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid #edf2f7;padding-top:10px;margin-top:6px;color:var(--muted);font-size:11px}
.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.stats-grid.compact-grid .stat{padding:10px}.stat{padding:13px;border:1px solid var(--line);border-radius:14px;background:#fbfdff}.stat small{color:var(--muted);display:block;font-size:11px}.stat b{display:block;font-size:21px;color:var(--navy);margin-top:2px;line-height:1.15}.stat em{display:block;font-style:normal;color:#77869c;font-size:10px;margin-top:3px}.stats-row{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:16px 0}.stats-row .stat{background:#fff;box-shadow:var(--shadow-sm)}
.donut-wrap{display:flex;justify-content:center;align-items:center;margin-top:16px}.donut{width:154px;height:154px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--blue) calc(var(--p)*1%),#e9eef5 0)}.donut:after{content:"";position:absolute;width:108px;height:108px;background:#fff;border-radius:50%;box-shadow:inset 0 0 0 1px #edf1f6}.donut-label{z-index:2;text-align:center}.donut-label b{display:block;color:var(--navy);font-size:24px}.donut-label span{font-size:11px;color:var(--muted)}.donut-wrap.big .donut{width:190px;height:190px}.donut-wrap.big .donut:after{width:134px;height:134px}
.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:linear-gradient(135deg,var(--blue),#0a59bb);color:#fff;text-decoration:none;padding:10px 16px;font-weight:850;cursor:pointer;box-shadow:0 6px 16px rgba(8,104,220,.15)}.button:hover{filter:brightness(.98);transform:translateY(-1px)}.button.ghost{background:#eef5fd;color:var(--blue);box-shadow:none}.button.compact{padding:8px 13px;font-size:12px}.button.block{display:flex;margin-top:10px;width:100%}
.office-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:#fff;border:1px solid var(--line);padding:8px;border-radius:15px;margin:16px 0;box-shadow:var(--shadow-sm)}.office-tabs button{border:0;background:#eef4fb;border-radius:10px;padding:12px;color:var(--navy);font-weight:900;cursor:pointer;transition:.2s}.office-tabs button:hover{background:#e2eefb}.office-tabs button.active{background:linear-gradient(135deg,var(--blue),#0757b5);color:#fff;box-shadow:0 6px 14px rgba(8,104,220,.18)}
.state-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:8px}.state-grid.large{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.state-tile{background:#fff;border:1px solid var(--line);border-radius:13px;padding:11px;text-decoration:none;display:flex;flex-direction:column;gap:5px;min-height:78px;transition:.18s;box-shadow:0 3px 12px rgba(12,48,89,.035)}.state-grid.large .state-tile{min-height:118px;padding:14px}.state-tile:hover{border-color:#b9d2ed;transform:translateY(-2px);box-shadow:0 10px 24px rgba(12,48,89,.09)}.state-tile .uf{font-weight:950;color:var(--navy);font-size:17px}.state-tile .state-name{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.state-tile .state-status{font-size:10px;font-weight:900;margin-top:auto}.state-tile[data-status="elected"]{border-top:3px solid var(--green)}.state-tile[data-status="second"]{border-top:3px solid var(--blue)}.state-tile[data-status="counting"]{border-top:3px solid var(--yellow)}.state-tile[data-status="waiting"]{border-top:3px solid #cad5e2}.state-progress{height:5px;background:#edf1f6;border-radius:99px;overflow:hidden}.state-progress i{display:block;height:100%;background:var(--green)}
.definition-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.definition-card{border:1px solid var(--line);border-radius:13px;padding:11px;background:#fbfdff}.definition-card b{display:block;color:var(--navy)}.definition-card small{color:var(--muted)}.definition-card .name{font-weight:900;margin-top:8px;font-size:13px}.definition-card .numbers{font-size:11px;color:var(--muted);margin-top:3px}.definition-card .badge{margin-top:7px}
.summary-ribbon{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin:16px 0;box-shadow:var(--shadow-sm)}.summary-item{background:#fff;padding:15px 18px}.summary-item small{display:block;color:var(--muted);font-size:11px}.summary-item b{font-size:28px;color:var(--navy);display:block;margin-top:2px}.summary-item em{font-style:normal;color:#77869c;font-size:11px}
.municipality-browser{padding:13px}.municipality-search-row{display:flex;align-items:center;gap:10px;padding:3px 3px 12px}.municipality-search-row .field{border-radius:12px}.counter-pill{background:#eef4fb;color:var(--navy);font-weight:850;padding:8px 11px;border-radius:999px;font-size:11px}.municipality-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:520px;overflow:auto;padding:2px}.municipality-link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;text-decoration:none;background:#fbfdff;color:var(--navy);font-weight:800}.municipality-link:hover{background:#edf6ff;border-color:#c8def4}.municipality-link small{color:var(--muted);font-weight:650}.municipality-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,.72fr);gap:16px}.results-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.results-stack .card:last-child:nth-child(odd){grid-column:1/-1}.side-stack{display:grid;gap:16px;align-content:start}.detail-list{display:grid;gap:0}.detail-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf2f7;font-size:13px}.detail-row:last-child{border-bottom:0}.detail-row span{color:var(--muted)}.detail-row b{color:var(--navy)}.impact-list{display:grid;gap:9px}.impact{display:flex;gap:11px;align-items:flex-start;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fbfdff}.impact-icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#e8f3ff;color:var(--blue);font-weight:950}.impact.green .impact-icon{background:#e0f6e9;color:var(--green)}.impact b{display:block;color:var(--navy);font-size:13px}.impact small{display:block;color:var(--muted);margin-top:2px}
.toolbar{display:flex;gap:12px;align-items:end}.toolbar.inline{align-items:center}.toolbar.filters label{flex:1}.toolbar label{font-weight:850;color:var(--navy)}.toolbar select{display:block;margin-top:6px;border-radius:12px}.elected-list{display:grid;gap:6px}.elected-row{display:grid;grid-template-columns:40px 1fr auto;gap:10px;padding:10px 0;border-bottom:1px solid #edf2f7;align-items:center}.elected-row .avatar{width:36px;height:36px}.elected-row .candidate-number{font-size:15px;min-width:90px}.elected-table{width:100%;border-collapse:collapse}.elected-table th,.elected-table td{text-align:left;padding:9px 7px;border-bottom:1px solid #edf2f7;font-size:12px}.elected-table th{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#6b7d94}.elected-table td:last-child{text-align:right}
.card-chart canvas,canvas.chart{width:100%;max-width:100%;background:linear-gradient(#fcfdff,#f9fbfe);border:1px solid var(--line);border-radius:13px}.legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px;color:#465a78;font-size:12px}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:9px;height:9px;border-radius:50%;display:inline-block}.live-mini{font-size:9px;font-weight:900;letter-spacing:.12em;color:var(--green);background:#e8f8ef;padding:6px 8px;border-radius:999px}.region-bars{display:grid;gap:13px}.region-row{display:grid;grid-template-columns:100px 1fr;gap:10px;align-items:center}.region-name{font-weight:900;color:var(--navy);font-size:12px}.region-track{display:grid;gap:5px}.region-line{display:grid;grid-template-columns:minmax(0,1fr) 65px;gap:8px;align-items:center}.region-bar{height:10px;border-radius:999px;background:#e8eef6;overflow:hidden}.region-bar i{display:block;height:100%;background:var(--blue)}.region-line.alt .region-bar i{background:var(--green)}.region-value{text-align:right;font-weight:900;color:var(--navy);font-size:11px}.region-bars.large .region-row{grid-template-columns:115px 1fr}.composition{display:grid;gap:13px;margin-top:15px}.composition-row{display:grid;grid-template-columns:12px 1fr auto;gap:9px;align-items:center;padding-bottom:10px;border-bottom:1px solid #edf2f7}.composition-row i{width:10px;height:10px;border-radius:50%;background:var(--blue)}.composition-row:nth-child(2) i{background:#9fc2e8}.composition-row:nth-child(3) i{background:#c6cfda}.composition-row span{font-size:12px;color:var(--muted)}.composition-row b{color:var(--navy)}.state-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.state-mini{border:1px solid var(--line);border-radius:10px;padding:8px;font-size:10px;background:#fbfdff}.state-mini b{font-size:13px;color:var(--navy)}
.location-search-card{padding:20px}.location-search-big{display:flex;gap:12px;align-items:center;border:1px solid #c9d9e9;border-radius:15px;background:#fbfdff;padding:4px 14px}.location-search-big span{font-size:28px;color:#6f849f}.location-search-big input{border:0;outline:0;background:transparent;width:100%;padding:14px 2px;font-size:18px;color:var(--ink)}.location-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}.location-result{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:#fbfdff;text-decoration:none}.location-result:hover{background:#edf6ff}.location-result b{color:var(--navy)}.location-result small{color:var(--muted)}.uf-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:7px}.uf-grid a{background:#f1f6fc;border:1px solid #e0e9f4;border-radius:9px;padding:9px;text-align:center;text-decoration:none;color:var(--navy);font-weight:850}.uf-grid a:hover{background:#e4effc;color:var(--blue)}.uf-grid.big{grid-template-columns:repeat(6,1fr);gap:10px}.uf-grid.big a{display:flex;align-items:center;gap:10px;text-align:left;padding:13px}.uf-grid.big b{font-size:18px}.uf-grid.big span{font-size:11px;color:var(--muted)}
.info-banner{display:flex;gap:13px;align-items:flex-start;background:#f8fbff}.info-icon{width:36px;height:36px;border-radius:50%;background:#e5f1ff;color:var(--blue);display:grid;place-items:center;font-weight:950;flex:0 0 auto}.info-banner p{margin:3px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.prose p{color:#53657e;line-height:1.65}.alert{padding:10px 12px;border-radius:12px;background:#fff4d9;color:#765400;margin:8px 0}.error{padding:12px;border-radius:12px;background:#fff0ef;color:var(--danger)}.notfound{text-align:center;margin:60px auto;max-width:620px}.notfound h1{color:var(--navy)}
footer{max-width:var(--max);margin:10px auto 30px;padding:0 28px;color:var(--muted);display:flex;justify-content:space-between;gap:18px;font-size:11px}.footer-links{display:flex;gap:15px}footer a{color:var(--blue);text-decoration:none}footer a:hover{text-decoration:underline}
@media(max-width:1180px){.site-header{gap:14px}.live-pill{display:none}nav{gap:13px}.state-grid{grid-template-columns:repeat(7,1fr)}.state-grid.large{grid-template-columns:repeat(4,1fr)}.municipality-grid{grid-template-columns:repeat(3,1fr)}.analytics-grid{grid-template-columns:1fr 1fr}.analytics-grid .card:first-child{grid-column:1/-1}}
@media(max-width:980px){.site-header{height:auto;flex-wrap:wrap;padding:13px 20px}.global-search{order:3;flex-basis:calc(100% - 56px);max-width:none}.nav-toggle{display:block;order:4;margin-left:auto}nav{display:none;order:5;width:100%;overflow:auto;margin-left:0;border-top:1px solid var(--line)}nav.open{display:flex}nav a{padding:12px 0 10px;white-space:nowrap}.source-strip{padding:6px 20px}.source-strip div:last-child{display:none}main{padding:0 20px 28px}.hero{margin-left:-20px;margin-right:-20px;padding:25px 20px;min-height:190px}.hero h1{font-size:36px}.hero-art{display:none}.home-primary,.state-primary,.parl-top,.analytics-main,.split-main,.municipality-layout{grid-template-columns:1fr}.analytics-grid{grid-template-columns:1fr}.elected-panels{grid-template-columns:1fr}.results-stack{grid-template-columns:1fr}.results-stack .card:last-child:nth-child(odd){grid-column:auto}.stats-row{grid-template-columns:repeat(3,1fr)}.state-grid{grid-template-columns:repeat(5,1fr)}.state-grid.large{grid-template-columns:repeat(3,1fr)}.municipality-grid{grid-template-columns:repeat(2,1fr)}.definition-grid{grid-template-columns:repeat(2,1fr)}.summary-ribbon{grid-template-columns:repeat(2,1fr)}.uf-grid{grid-template-columns:repeat(6,1fr)}.uf-grid.big{grid-template-columns:repeat(4,1fr)}}
@media(max-width:640px){.brand b{font-size:15px}.global-search{flex-basis:100%}.nav-toggle{position:absolute;right:18px;top:16px}.hero h1{font-size:29px}.hero h2{font-size:19px}.hero p{font-size:13px}.hero-actions{flex-wrap:wrap}.section-head{align-items:flex-start;flex-direction:column}.section-head h2{font-size:23px}.stats-row,.stats-grid{grid-template-columns:repeat(2,1fr)}.state-grid,.state-grid.large{grid-template-columns:repeat(3,1fr)}.municipality-grid,.location-results{grid-template-columns:1fr}.definition-grid{grid-template-columns:1fr}.summary-ribbon{grid-template-columns:1fr}.summary-item b{font-size:24px}.uf-grid,.uf-grid.big{grid-template-columns:repeat(3,1fr)}.office-tabs{grid-template-columns:repeat(2,1fr)}.candidate{grid-template-columns:40px 1fr}.candidate-number{grid-column:2;text-align:left;min-width:0}.result-foot{align-items:flex-start;flex-direction:column}.toolbar,.toolbar.inline{flex-direction:column;align-items:stretch}.elected-row{grid-template-columns:36px 1fr}.elected-row .candidate-number{grid-column:2}.region-row,.region-bars.large .region-row{grid-template-columns:80px 1fr}.source-strip{font-size:10px}.site-header{position:sticky}.footer-links{flex-direction:column;gap:4px}.elected-table{display:block;overflow:auto}}
/* V3 — histórico, status e observabilidade */
.hero-history,.hero-status{background:linear-gradient(120deg,#eef7ff 0%,#f7fbff 55%,#e9f5ef 100%)}
.historical-toolbar{margin-top:16px}.historical-toolbar .toolbar{display:grid;grid-template-columns:1fr 1.4fr 1fr .8fr auto;gap:12px;align-items:end}.historical-toolbar select{width:100%}.history-import-status{margin-top:12px}
.history-year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.history-year-card{position:relative}.history-year-card.current{border-color:#b7ddc8;box-shadow:0 12px 28px rgba(0,120,70,.08)}.history-year-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px}.history-year-head h3{font-size:30px;margin:1px 0;color:var(--navy)}
.history-candidates{display:grid;gap:8px}.history-candidate{display:grid;grid-template-columns:28px 1fr auto;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid #edf2f7}.history-candidate:last-child{border-bottom:0}.history-rank{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#eef4fb;color:var(--navy);font-weight:900;font-size:11px}.history-candidate b{display:block;font-size:12px;color:var(--navy)}.history-candidate small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.history-candidate strong{display:block;text-align:right;color:var(--blue);font-size:14px}.history-candidate .bar{height:6px;margin-top:6px}.history-source{font-size:10px;color:var(--muted);margin-top:12px;padding-top:9px;border-top:1px solid #edf2f7}.history-unavailable{padding:24px 12px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:12px}
.variation-list{display:grid;gap:8px}.variation-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #edf2f7}.variation-row:last-child{border-bottom:0}.variation-row b{display:block;color:var(--navy)}.variation-row small{display:block;color:var(--muted);margin-top:2px}.variation-row strong{white-space:nowrap}.variation-row strong.up{color:var(--green)}.variation-row strong.down{color:#a34e32}.history-metrics{display:grid;gap:10px}.history-metric-year{padding:10px;border:1px solid var(--line);border-radius:12px;background:#fbfdff}.history-metric-year>b{color:var(--navy);font-size:18px}.history-metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px}.history-metric-grid>div{padding:8px;background:#fff;border:1px solid #edf2f7;border-radius:9px}.history-metric-grid small,.history-metric-grid em{display:block;color:var(--muted);font-size:9px;font-style:normal}.history-metric-grid b{display:block;color:var(--navy);font-size:13px;margin:2px 0}
.health-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.health-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow-sm)}.health-card small,.health-card em{display:block;color:var(--muted);font-style:normal}.health-card b{font-size:24px;color:var(--navy);display:block;margin:4px 0 8px}
@media(max-width:980px){.historical-toolbar .toolbar{grid-template-columns:1fr 1fr}.history-year-grid{grid-template-columns:1fr}.health-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.historical-toolbar .toolbar{grid-template-columns:1fr}.health-grid{grid-template-columns:1fr}.history-metric-grid{grid-template-columns:repeat(2,1fr)}.history-candidate{grid-template-columns:26px 1fr}.history-candidate>div:last-child{grid-column:2;text-align:left}.history-candidate strong{text-align:left}}

/* ================= V5 — fotos, eleitos por estado, bancadas e gráficos ================= */
.avatar.photo{position:relative;overflow:hidden;flex:none;padding:0}
.avatar.photo span{font-size:13px}
.avatar.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%;background:#e9eff6}
.avatar.sm{width:30px;height:30px}.avatar.sm span{font-size:10px}
.avatar.lg{width:64px;height:64px}.avatar.lg span{font-size:18px}
.avatar.xl{width:104px;height:104px;border-radius:22px}.avatar.xl span{font-size:28px}
.avatar.is-elected{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--green)}
.avatar.is-second{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--yellow)}
.warn-text{color:var(--danger);font-weight:800}
.tbl-person{display:inline-flex;align-items:center;gap:9px}
.elected-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:22px}
.elected-layout .wide-panel{grid-column:1/-1}
.office-panel{min-width:0}
.office-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.office-head h3{margin:4px 0 2px}
.office-head .badge{margin-top:0;white-space:normal;text-align:center}
.big-person{display:flex;gap:16px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fbfdff;margin-bottom:12px}
.big-person.is-elected{border-color:#9fd9b8;background:linear-gradient(180deg,#f3fbf6,#fff)}
.bp-body{min-width:0;flex:1}
.bp-name{font-size:20px;font-weight:900;letter-spacing:-.01em;color:var(--navy)}
.bp-full{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.bp-meta{font-size:14px;margin-top:6px}
.bp-group{font-size:13px;margin-top:4px;color:#33475f}.bp-group small{color:var(--muted)}
.mates{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:#41546c;margin-top:6px}
.bp-seal{margin-top:6px}
.duel{display:flex;align-items:center;gap:10px}
.duel.big{align-items:stretch}.duel.big>.big-person{flex:1;flex-direction:column;align-items:center;text-align:center}
.duel .vs{font-weight:950;font-size:22px;color:var(--muted);align-self:center}
.duel-side{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;min-width:0}
.definition-card{text-decoration:none;color:inherit}
.def-person{display:flex;gap:12px;align-items:center}
.party-chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 12px}
.party-chips span{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:12px;background:#fff}
.party-chips i{width:10px;height:10px;border-radius:50%;background:var(--pc)}
.person-filter{max-width:360px;margin-bottom:12px}
.person-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.person-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:14px 10px 12px;border:1px solid var(--line);border-radius:16px;background:#fff}
.person-card.is-elected{border-color:#b9e3c9}
.person-card .pc-rank{position:absolute;top:8px;left:10px;font-size:11px;font-weight:900;color:var(--muted)}
.person-card .pc-name{font-size:13.5px;line-height:1.2;margin-top:4px}
.person-card small{font-size:11.5px;color:var(--muted)}
.pc-party{font-size:11px;font-weight:900;color:#fff;background:var(--pc);border-radius:999px;padding:2px 8px}
.person-card .badge{margin-top:4px;font-size:10px}
.groups{margin-top:16px}.groups summary{cursor:pointer;font-weight:800;color:var(--blue)}
.note{font-size:13px;margin:8px 0 12px}
.hemi-wrap{display:flex;flex-direction:column;align-items:center}
.hemi{width:100%;max-width:520px;height:auto}
.hemi-total{font-size:30px;font-weight:950;fill:var(--navy)}.hemi-sub{font-size:11px;fill:var(--muted)}
.hemi-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 12px;font-size:12px;margin-top:6px}
.hemi-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px;vertical-align:-1px}
.hbars{display:grid;gap:7px}
.hbar{display:grid;grid-template-columns:minmax(70px,140px) 1fr 40px;gap:8px;align-items:center;font-size:13px}
.hb-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
.hb-track{height:12px;background:#edf2f7;border-radius:99px;overflow:hidden}.hb-track i{display:block;height:100%;border-radius:99px}
.hbar b{text-align:right;font-variant-numeric:tabular-nums}
.table-scroll{overflow-x:auto}
.elected-table.rank td{vertical-align:middle}
.mini-people{display:grid;gap:8px}
.mini-person{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid #eef3f8;border-radius:12px}
.mini-person>div{flex:1;min-width:0}.mini-person small{display:block;color:var(--muted);font-size:12px}
.age-pill{font-weight:900;color:var(--navy);background:var(--soft-blue);border-radius:999px;padding:4px 10px;font-size:12px;white-space:nowrap}
.age-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.age-block small{display:block;color:var(--muted);margin:2px 0 8px}
.gender-row{display:grid;gap:5px;margin-bottom:16px}
.gbar{display:flex;height:16px;border-radius:99px;overflow:hidden;background:#edf2f7}
.gbar i{display:block;height:100%}.gbar .f,.dot.f{background:#c2255c}.gbar .m,.dot.m{background:#1c7ed6}.gbar .u{background:#ced4da}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:3px}
.summary-item b .of{font-size:15px;color:var(--muted);font-weight:700}
@media (max-width:900px){.elected-layout{grid-template-columns:1fr}.big-person{flex-direction:column;align-items:center;text-align:center}.duel.big{flex-direction:column}.person-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}
/* V5.1 perfis temáticos */
.profile-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.profile-groups>.info-banner{grid-column:1/-1}
.pg-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.pg-total{text-align:center;background:var(--soft-blue);border-radius:14px;padding:8px 14px;min-width:82px}.pg-total b{display:block;font-size:30px;color:var(--navy);line-height:1}.pg-total small{color:var(--muted);font-size:11px}
.pg-counts{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.pg-counts span{border:1px solid var(--line);border-radius:10px;padding:6px 10px;font-size:12px;color:var(--muted)}.pg-counts b{color:var(--navy);font-size:15px;margin-right:5px}
.profile-card details{margin-top:10px}.profile-card summary{cursor:pointer;font-weight:800;color:var(--blue);margin-bottom:8px}
.mini-person small.why{color:#5f3dc4;font-weight:600}
.tag-chips{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin:4px 0}
.big-person .tag-chips{justify-content:flex-start}
.tag{font-size:10.5px;font-weight:800;border-radius:999px;padding:2px 8px;background:#eef2f7;color:#41546c;cursor:help}
.tag-evangelico,.tag-catolico,.tag-religioso{background:#f3f0ff;color:#5f3dc4}.tag-agro{background:#ebfbee;color:#2b8a3e}.tag-seguranca{background:#e7f5ff;color:#1864ab}.tag-saude{background:#fff0f6;color:#a61e4d}.tag-educacao{background:#fff9db;color:#946200}.tag-comunicacao{background:#fff4e6;color:#c2410c}
@media (max-width:900px){.profile-groups{grid-template-columns:1fr}}
.subs-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}
.subs-layout .wide-panel{grid-column:1/-1}
.subs-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.subs-group{border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;gap:6px;align-content:start}
.sg-head small{display:block;color:var(--muted);font-size:12px}
.subs-mates{display:grid;gap:6px;margin-top:8px}
.subs-link .office-head{margin:0;align-items:center}
@media (max-width:900px){.subs-layout{grid-template-columns:1fr}}

.visitors{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.visitors b{color:var(--navy)}
.v-dot{width:8px;height:8px;border-radius:50%;background:#2fb344;box-shadow:0 0 0 3px rgba(47,179,68,.18)}
