@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
.nf5e-board{box-sizing:border-box;color:var(--nf5e-text,#182238);background:var(--nf5e-bg,#f3f5f7);font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding:30px;border:1px solid var(--nf5e-border,#e3e8ef);border-radius:calc(var(--nf5e-radius,16px) + 4px);width:100%;max-width:100%;container-type:inline-size;container-name:nf5e}
.nf5e-board *,.nf5e-board *:before,.nf5e-board *:after{box-sizing:border-box}
.nf5e-board [hidden]{display:none!important}
.nf5e-board h2,.nf5e-board h3,.nf5e-board p{margin:0;color:inherit}
.nf5e-board button,.nf5e-board input,.nf5e-board select{font-family:inherit;font-size:14px;line-height:1.4}
.nf5e-board button{cursor:pointer;appearance:none;transition:background .15s,color .15s;box-shadow:none;text-transform:none;letter-spacing:normal}
.nf5e-board button:focus-visible,.nf5e-board select:focus-visible,.nf5e-board input:focus-visible,.nf5e-board a:focus-visible{outline:3px solid var(--nf5e-primary);outline-offset:3px}
.nf5e-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.nf5e-eyebrow{font-size:11px;font-weight:800;letter-spacing:1.8px;color:var(--nf5e-primary)}
.nf5e-board .nf5e-header h2{font-size:clamp(23px,3vw,34px);font-weight:800;line-height:1.2;margin-top:7px;letter-spacing:-.7px}
.nf5e-board .nf5e-subtitle{font-size:14px;opacity:.7;margin-top:7px}
.nf5e-status{display:flex;align-items:center;gap:8px;background:var(--nf5e-card);border:1px solid var(--nf5e-border);border-radius:99px;padding:10px 14px;font-size:12px;font-weight:700;flex-shrink:0}
.nf5e-dot{width:7px;height:7px;border-radius:50%;background:var(--nf5e-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--nf5e-primary) 10%,transparent)}
.nf5e-status[data-state="partial"] .nf5e-dot{animation:nf5e-pulse 2s infinite}
.nf5e-status[data-state="unavailable"] .nf5e-dot,.nf5e-status[data-state="waiting"] .nf5e-dot{background:#c18108;box-shadow:none}
.nf5e-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px;margin-bottom:24px;padding:18px;background:var(--nf5e-card);border:1px solid var(--nf5e-border);border-radius:var(--nf5e-radius)}
.nf5e-filters label{display:flex;flex:1 1 155px;flex-direction:column;gap:7px;font-size:12px;font-weight:700}
.nf5e-filters select{width:100%;color:var(--nf5e-text);background:var(--nf5e-bg);border:1px solid var(--nf5e-border);border-radius:8px;padding:11px 34px 11px 12px;min-height:43px;max-width:100%;font-weight:500}
.nf5e-board .nf5e-refresh{background:var(--nf5e-primary);color:#fff;border:0;border-radius:8px;padding:11px 16px;min-height:43px;display:flex;gap:7px;align-items:center;justify-content:center;white-space:nowrap}
.nf5e-refresh span{font-size:21px;line-height:1}
.nf5e-refresh:disabled{opacity:.6;cursor:wait}
.nf5e-board .nf5e-alert{border:1px solid #f0dba4;background:#fff7df;color:#66500a;border-radius:10px;padding:13px 16px;font-size:13px;line-height:1.6;margin-bottom:18px}
.nf5e-board .nf5e-alert[data-kind="simulation"]{border-color:#c5b5eb;background:#f3edff;color:#4f2c83;font-weight:700}
.nf5e-body{display:grid;grid-template-columns:250px minmax(0,1fr);gap:22px;align-items:start}
.nf5e-no-summary{grid-template-columns:minmax(0,1fr)}
.nf5e-summary{display:grid;gap:14px}
.nf5e-stat-card{padding:20px;background:var(--nf5e-card);border:1px solid var(--nf5e-border);border-radius:var(--nf5e-radius)}
.nf5e-board .nf5e-stat-card h3{font-size:15px;font-weight:750;margin-bottom:18px}
.nf5e-percent-big{font-size:34px;font-weight:850;letter-spacing:-1px;line-height:1;color:var(--nf5e-primary)}
.nf5e-stat-caption{display:block;font-size:12px;opacity:.7;margin-top:8px}
.nf5e-track{height:6px;border-radius:99px;background:var(--nf5e-border);overflow:hidden;margin:16px 0}
.nf5e-track>span{display:block;height:100%;background:var(--nf5e-primary);border-radius:inherit;transition:width .4s}
.nf5e-stat-row{display:flex;justify-content:space-between;gap:12px;font-size:12px;line-height:1.5;margin-top:12px}
.nf5e-stat-row>span{opacity:.75}
.nf5e-stat-row>strong{font-weight:750;text-align:right}
.nf5e-stat-row .nf5e-legend{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:7px;vertical-align:1px}
.nf5e-main{min-width:0}
.nf5e-candidates-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:17px;flex-wrap:wrap;min-height:38px}
.nf5e-board .nf5e-candidates-toolbar h3{font-size:14px;font-weight:750;line-height:1.4}
.nf5e-search{display:block;flex:0 1 270px}
.nf5e-board .nf5e-search input{width:100%;min-height:38px;padding:9px 12px;color:var(--nf5e-text);background:var(--nf5e-card);border:1px solid var(--nf5e-border);border-radius:8px;box-shadow:none}
.nf5e-search .screen-reader-text{position:absolute;width:1px;height:1px;clip:rect(1px,1px,1px,1px);overflow:hidden}
.nf5e-candidates{display:grid;grid-template-columns:repeat(var(--nf5e-columns,3),minmax(0,1fr));gap:16px}
.nf5e-candidate{position:relative;background:var(--nf5e-card);border:1px solid var(--nf5e-border);border-radius:var(--nf5e-radius);padding:22px;box-shadow:0 3px 14px rgba(24,34,56,.035);overflow:hidden;min-width:0}
.nf5e-candidate-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:18px}
.nf5e-avatar{display:flex;align-items:center;justify-content:center;width:68px;height:68px;min-width:68px;border-radius:50%;background:var(--nf5e-bg);color:var(--nf5e-primary);font-size:20px;font-weight:800;overflow:hidden;border:3px solid var(--nf5e-card);box-shadow:0 0 0 1px var(--nf5e-border)}
.nf5e-avatar img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 20%;border-radius:50%}
.nf5e-avatar[data-fallback="true"] img{display:none}
.nf5e-vote-block{text-align:right;min-width:0}
.nf5e-percentage{display:block;font-size:26px;line-height:1.15;font-weight:850;color:var(--nf5e-primary);letter-spacing:-.7px;white-space:nowrap}
.nf5e-vote-number{display:block;font-size:12px;opacity:.7;margin-top:5px;white-space:nowrap}
.nf5e-candidate-party{font-size:11px;font-weight:750;opacity:.7;margin-bottom:6px;letter-spacing:.25px}
.nf5e-board .nf5e-candidate h3{font-size:17px;font-weight:800;line-height:1.3;min-height:44px;overflow-wrap:anywhere;letter-spacing:-.3px}
.nf5e-candidate .nf5e-track{height:4px;margin:16px 0 0}
.nf5e-badge{display:inline-block;font-size:10px;font-weight:800;border-radius:5px;padding:4px 6px;margin-top:10px;background:var(--nf5e-bg);line-height:1.3}
.nf5e-badge.elected{background:#e8f7ee;color:#197442}
.nf5e-badge.runoff{background:#e9efff;color:#3155a5}
.nf5e-destination{display:block;color:#805d11;font-size:10px;margin-top:7px;font-weight:600}
.nf5e-empty{grid-column:1/-1;text-align:center;padding:48px 18px;background:var(--nf5e-card);border:1px dashed var(--nf5e-border);border-radius:var(--nf5e-radius);font-size:14px;line-height:1.6}
.nf5e-board .nf5e-more{display:block;margin:20px auto 0;border:1px solid var(--nf5e-border);background:var(--nf5e-card);color:var(--nf5e-primary);border-radius:8px;padding:12px 20px;font-size:13px;font-weight:700}
.nf5e-board .nf5e-count{text-align:center;opacity:.65;font-size:11px;margin-top:12px}
.nf5e-footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;border-top:1px solid var(--nf5e-border);margin-top:26px;padding-top:17px;font-size:11px;line-height:1.6;opacity:.75}
.nf5e-footer a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.nf5e-footer-source{justify-self:start}
.nf5e-footer-product{justify-self:center;text-align:center;white-space:nowrap}
.nf5e-footer-updated{justify-self:end;text-align:right}
.nf5e-list-mode .nf5e-candidates{grid-template-columns:1fr}
.nf5e-list-mode .nf5e-candidate{display:grid;grid-template-columns:minmax(130px,180px) minmax(0,1fr);gap:0 20px;padding:16px 20px}
.nf5e-list-mode .nf5e-candidate-top{grid-row:1/5;margin-bottom:0}
.nf5e-list-mode .nf5e-avatar{width:52px;height:52px;min-width:52px}
.nf5e-list-mode .nf5e-percentage{font-size:23px}
.nf5e-list-mode .nf5e-candidate h3{min-height:0;font-size:16px}
.nf5e-list-mode .nf5e-badge{justify-self:start}
@keyframes nf5e-pulse{50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--nf5e-primary) 18%,transparent)}}
@container nf5e (max-width:1080px){.nf5e-body{grid-template-columns:225px minmax(0,1fr);gap:18px}.nf5e-no-summary{grid-template-columns:minmax(0,1fr)}.nf5e-candidates{grid-template-columns:repeat(clamp(1,var(--nf5e-columns,3),2),minmax(0,1fr))}.nf5e-candidate{padding:18px}.nf5e-percentage{font-size:25px}}
@container nf5e (max-width:720px){.nf5e-body{grid-template-columns:1fr}.nf5e-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.nf5e-stat-card{padding:16px}.nf5e-percent-big{font-size:30px}.nf5e-stat-row{font-size:11px;gap:5px}.nf5e-header{align-items:flex-start}.nf5e-status{font-size:10px;padding:9px 10px}}
@container nf5e (max-width:500px){.nf5e-header{flex-direction:column;gap:12px}.nf5e-filters{padding:14px;gap:12px}.nf5e-filters label{flex-basis:calc(50% - 12px);min-width:0}.nf5e-filters label[data-role="municipality-label"]{flex-basis:100%}.nf5e-refresh{flex:1}.nf5e-summary{grid-template-columns:1fr}.nf5e-candidates{grid-template-columns:1fr}.nf5e-search{flex:1 0 100%}.nf5e-candidate{padding:20px}.nf5e-candidate h3{min-height:0!important}.nf5e-candidate-top{margin-bottom:14px}.nf5e-avatar{width:64px;height:64px;min-width:64px}.nf5e-percentage{font-size:30px}.nf5e-candidates-toolbar{gap:12px}.nf5e-list-mode .nf5e-candidate{grid-template-columns:130px minmax(0,1fr);gap:0 14px;padding:16px}.nf5e-list-mode .nf5e-percentage{font-size:20px}.nf5e-list-mode .nf5e-avatar{width:42px;height:42px;min-width:42px}.nf5e-footer{grid-template-columns:1fr;gap:5px;text-align:center}.nf5e-footer-source,.nf5e-footer-product,.nf5e-footer-updated{justify-self:center;text-align:center;white-space:normal}}
@media(max-width:767px){.nf5e-board{padding:18px}}
@media(prefers-reduced-motion:reduce){.nf5e-board *{animation:none!important;transition:none!important}}
/* v1.1.0 layouts */
.nf5e-rank{display:none}
.nf5e-candidate-info{min-width:0}
.nf5e-layout-list .nf5e-candidates{grid-template-columns:1fr}
.nf5e-layout-list .nf5e-candidate{display:grid;grid-template-columns:minmax(130px,180px) minmax(0,1fr);gap:0 20px;padding:16px 20px}
.nf5e-layout-list .nf5e-candidate-top{grid-row:1/4;margin-bottom:0}
.nf5e-layout-list .nf5e-candidate-info{grid-column:2}
.nf5e-layout-list .nf5e-track{grid-column:2}
.nf5e-layout-list .nf5e-avatar{width:52px;height:52px;min-width:52px}
.nf5e-layout-list .nf5e-percentage{font-size:23px}
.nf5e-layout-list .nf5e-candidate h3{min-height:0;font-size:16px}
.nf5e-layout-ranking .nf5e-candidates{grid-template-columns:1fr;gap:10px}
.nf5e-layout-ranking .nf5e-candidate{display:grid;grid-template-columns:52px 74px minmax(0,1fr) 145px;align-items:center;gap:16px;padding:15px 18px;border-radius:12px;box-shadow:none}
.nf5e-layout-ranking .nf5e-rank{display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900;color:var(--nf5e-primary);background:color-mix(in srgb,var(--nf5e-primary) 8%,var(--nf5e-card));height:42px;border-radius:10px}
.nf5e-layout-ranking .nf5e-candidate-top{display:block;margin:0}
.nf5e-layout-ranking .nf5e-avatar{width:58px;height:58px;min-width:58px}
.nf5e-layout-ranking .nf5e-vote-block{grid-column:4;text-align:right}
.nf5e-layout-ranking .nf5e-candidate-top .nf5e-vote-block{display:none}
.nf5e-layout-ranking .nf5e-candidate-info{grid-column:3}
.nf5e-layout-ranking .nf5e-candidate-info h3{min-height:0;font-size:18px}
.nf5e-layout-ranking .nf5e-candidate::after{content:attr(data-none);display:none}
.nf5e-layout-ranking .nf5e-track{grid-column:3/5;margin:0;height:5px}
.nf5e-layout-ranking .nf5e-candidate-info::after{content:""}
.nf5e-layout-ranking .nf5e-candidate>.nf5e-track{margin-top:2px}
.nf5e-layout-ranking .nf5e-candidate{grid-template-rows:auto auto}
.nf5e-layout-ranking .nf5e-candidate .nf5e-vote-block{display:block;position:absolute;right:18px;top:18px}
.nf5e-layout-broadcast{background:linear-gradient(180deg,color-mix(in srgb,var(--nf5e-primary) 7%,var(--nf5e-bg)) 0,var(--nf5e-bg) 240px)}
.nf5e-layout-broadcast .nf5e-header{padding:4px 2px 8px}
.nf5e-layout-broadcast .nf5e-status{background:var(--nf5e-text);color:var(--nf5e-card);border-color:transparent}
.nf5e-layout-broadcast .nf5e-candidates{grid-template-columns:repeat(var(--nf5e-columns,2),minmax(0,1fr));gap:12px}
.nf5e-layout-broadcast .nf5e-candidate{padding:0;border-radius:14px;display:grid;grid-template-columns:8px 84px minmax(0,1fr) 116px;align-items:center;gap:14px;min-height:112px;box-shadow:0 8px 24px rgba(24,34,56,.06)}
.nf5e-layout-broadcast .nf5e-candidate::before{content:"";align-self:stretch;background:var(--nf5e-primary)}
.nf5e-layout-broadcast .nf5e-rank{display:none}
.nf5e-layout-broadcast .nf5e-candidate-top{display:contents}
.nf5e-layout-broadcast .nf5e-avatar{grid-column:2;width:66px;height:66px;min-width:66px}
.nf5e-layout-broadcast .nf5e-candidate-info{grid-column:3;padding:18px 0}
.nf5e-layout-broadcast .nf5e-candidate h3{min-height:0;font-size:18px}
.nf5e-layout-broadcast .nf5e-vote-block{grid-column:4;text-align:right;padding-right:18px}
.nf5e-layout-broadcast .nf5e-percentage{font-size:28px}
.nf5e-layout-broadcast .nf5e-track{position:absolute;left:8px;right:0;bottom:0;margin:0;height:4px;border-radius:0}
@container nf5e (max-width:760px){
 .nf5e-layout-ranking .nf5e-candidate{grid-template-columns:44px 58px minmax(0,1fr);gap:12px;padding-right:16px}
 .nf5e-layout-ranking .nf5e-candidate .nf5e-vote-block{position:static;grid-column:3;text-align:left;margin-top:6px}
 .nf5e-layout-ranking .nf5e-track{grid-column:3}
 .nf5e-layout-broadcast .nf5e-candidates{grid-template-columns:1fr}
}
@container nf5e (max-width:500px){
 .nf5e-layout-list .nf5e-candidate{grid-template-columns:112px minmax(0,1fr);gap:0 12px;padding:14px}
 .nf5e-layout-ranking .nf5e-candidate{grid-template-columns:38px 50px minmax(0,1fr);gap:10px;padding:12px}
 .nf5e-layout-ranking .nf5e-rank{height:36px;font-size:15px}
 .nf5e-layout-ranking .nf5e-avatar{width:48px;height:48px;min-width:48px}
 .nf5e-layout-broadcast .nf5e-candidate{grid-template-columns:7px 62px minmax(0,1fr) 92px;gap:10px;min-height:96px}
 .nf5e-layout-broadcast .nf5e-avatar{width:52px;height:52px;min-width:52px}
 .nf5e-layout-broadcast .nf5e-candidate-info{padding:14px 0}
 .nf5e-layout-broadcast .nf5e-candidate h3{font-size:16px}
 .nf5e-layout-broadcast .nf5e-percentage{font-size:22px}
 .nf5e-layout-broadcast .nf5e-vote-number{font-size:10px}
}
/* ranking grid correction */
.nf5e-layout-ranking .nf5e-candidate-top{display:contents}
.nf5e-layout-ranking .nf5e-avatar{grid-column:2;grid-row:1}
.nf5e-layout-ranking .nf5e-candidate-info{grid-column:3;grid-row:1}
.nf5e-layout-ranking .nf5e-candidate .nf5e-vote-block{display:block;position:static;grid-column:4;grid-row:1;text-align:right;margin:0}
.nf5e-layout-ranking .nf5e-track{grid-column:3/5;grid-row:2}
@container nf5e (max-width:760px){
 .nf5e-layout-ranking .nf5e-candidate .nf5e-vote-block{grid-column:3;grid-row:2;text-align:left;margin-top:6px}
 .nf5e-layout-ranking .nf5e-track{grid-column:3;grid-row:3}
}

/* v1.1.5 — modelo Todos os cargos */
.nf5e-layout-all .nf5e-all-body{display:block}
.nf5e-layout-all .nf5e-candidates-toolbar{margin-bottom:18px}
.nf5e-all-offices{display:grid;gap:22px}
.nf5e-office-section{background:var(--nf5e-card);border:1px solid var(--nf5e-border);border-radius:var(--nf5e-radius);overflow:hidden}
.nf5e-office-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid var(--nf5e-border);background:color-mix(in srgb,var(--nf5e-primary) 4%,var(--nf5e-card))}
.nf5e-office-kicker{display:block;color:var(--nf5e-primary);font-size:10px;font-weight:800;letter-spacing:1.2px;margin-bottom:5px}
.nf5e-board .nf5e-office-head h3{font-size:20px;font-weight:850;letter-spacing:-.4px}
.nf5e-office-meta{text-align:right;display:grid;justify-items:end;line-height:1.25}
.nf5e-office-meta>strong{font-size:22px;color:var(--nf5e-primary);font-weight:850}
.nf5e-office-meta>span{font-size:11px;opacity:.72;font-weight:650}
.nf5e-office-meta>small{font-size:10px;opacity:.55;margin-top:4px}
.nf5e-office-candidates{display:grid}
.nf5e-all-candidate{position:relative;display:grid;grid-template-columns:42px 54px minmax(0,1fr) minmax(120px,160px);align-items:center;gap:14px;padding:14px 22px;border-bottom:1px solid var(--nf5e-border)}
.nf5e-all-candidate:last-child{border-bottom:0}
.nf5e-all-rank{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:var(--nf5e-bg);color:var(--nf5e-primary);font-size:12px;font-weight:850}
.nf5e-layout-all .nf5e-avatar{width:48px;height:48px;min-width:48px;font-size:13px}
.nf5e-all-name{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.nf5e-all-name>strong{font-size:15px;font-weight:800;line-height:1.25;overflow-wrap:anywhere}
.nf5e-all-name>span:not(.nf5e-badge){font-size:10px;opacity:.66;font-weight:650;margin-top:4px}
.nf5e-all-name .nf5e-badge{margin-top:6px}
.nf5e-all-votes{text-align:right;min-width:0}
.nf5e-all-votes>strong{display:block;color:var(--nf5e-primary);font-size:20px;font-weight:850;line-height:1.1;white-space:nowrap}
.nf5e-all-votes>span{display:block;font-size:10px;opacity:.65;margin-top:4px;white-space:nowrap}
.nf5e-all-candidate>.nf5e-track{position:absolute;left:132px;right:22px;bottom:5px;height:3px;margin:0;background:color-mix(in srgb,var(--nf5e-border) 75%,transparent)}
.nf5e-board .nf5e-all-more{display:flex;align-items:center;justify-content:center;gap:6px;width:calc(100% - 44px);margin:16px 22px 20px;padding:11px 16px;border:1px solid var(--nf5e-border);border-radius:9px;background:var(--nf5e-bg);color:var(--nf5e-primary);font-size:12px;font-weight:800}
.nf5e-board .nf5e-all-more:hover{background:color-mix(in srgb,var(--nf5e-primary) 7%,var(--nf5e-bg))}
.nf5e-all-more span{opacity:.65;font-weight:650}
.nf5e-all-empty{padding:24px 22px;text-align:center;font-size:12px;opacity:.7}
.nf5e-office-errors{display:grid;gap:10px}
.nf5e-office-error{display:flex;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid #f0dba4;background:#fff7df;color:#66500a;border-radius:10px;font-size:11px}
.nf5e-office-error strong{font-weight:800}
.nf5e-office-error span{text-align:right}
@container nf5e (max-width:720px){
 .nf5e-office-head{padding:17px 16px}
 .nf5e-all-candidate{grid-template-columns:34px 46px minmax(0,1fr) 110px;gap:10px;padding:13px 16px}
 .nf5e-layout-all .nf5e-avatar{width:42px;height:42px;min-width:42px}
 .nf5e-all-candidate>.nf5e-track{left:106px;right:16px}
 .nf5e-all-votes>strong{font-size:18px}
 .nf5e-board .nf5e-all-more{width:calc(100% - 32px);margin:14px 16px 18px}
}
@container nf5e (max-width:500px){
 .nf5e-office-head{align-items:flex-start}
 .nf5e-board .nf5e-office-head h3{font-size:18px}
 .nf5e-office-meta>strong{font-size:18px}
 .nf5e-all-candidate{grid-template-columns:30px 42px minmax(0,1fr);gap:9px;padding:13px 14px 28px}
 .nf5e-layout-all .nf5e-avatar{width:38px;height:38px;min-width:38px}
 .nf5e-all-rank{width:29px;height:29px;font-size:10px}
 .nf5e-all-votes{grid-column:3;text-align:left;display:flex;align-items:baseline;gap:8px;margin-top:2px}
 .nf5e-all-votes>strong{font-size:17px}
 .nf5e-all-votes>span{margin:0}
 .nf5e-all-candidate>.nf5e-track{left:95px;right:14px;bottom:12px}
 .nf5e-office-error{flex-direction:column;gap:4px}
 .nf5e-office-error span{text-align:left}
}
