:root{font-family:'DM Sans',sans-serif;color:#1d302e;background:#f5f6f2;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,select,input{font:inherit}button,a,input,select{outline-offset:4px}button,select{min-height:44px}button{cursor:pointer;border:1px solid #d9e0d7;border-radius:12px;padding:10px 16px;background:white;color:#29433d;font-weight:600}button:hover{background:#eaf1e7}button:disabled{opacity:.5;cursor:wait}.primary{background:#214e40;color:white;border-color:#214e40}.primary:hover{background:#173c31}header,main{max-width:1320px;margin:auto;padding-inline:clamp(18px,4vw,64px)}header{height:90px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dfe5dc}a{color:inherit;text-decoration:none}header>a:last-child{font-size:13px}.brand{font-family:Manrope,sans-serif;font-size:29px;font-weight:800;letter-spacing:-1px}.brand span{font:500 12px 'DM Sans',sans-serif;background:#e4ebdd;padding:5px 9px;border-radius:7px;margin-left:12px}.intro{display:flex;justify-content:space-between;align-items:center;padding:50px 0 45px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#67806c;margin:0 0 16px}h1{font-family:Manrope,sans-serif;font-size:clamp(40px,5vw,66px);line-height:1.12;letter-spacing:-2.8px;margin:0}h1 span{color:#719473}.description{color:#6b776e;line-height:1.7;margin-bottom:0}.orbit{width:240px;height:240px;border:1px solid #dbe3d5;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle,#e5edda,transparent 70%);outline:1px solid #e3e8df;outline-offset:20px;margin-right:45px}.orbit span{font-size:96px;color:#446d49}.orbit small{font-size:9px;letter-spacing:2px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 0 24px}h2{font-family:Manrope,sans-serif;font-size:21px;letter-spacing:-.5px;margin:0}#count{font:600 12px 'DM Sans',sans-serif;background:#e6ebdf;padding:4px 8px;border-radius:6px;margin-left:5px}#status,.hint{font-size:12px;color:#748176;line-height:1.6}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.auto{display:flex;align-items:center;gap:6px;font-size:12px;color:#67776b}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:22px}.card{background:#fff;border:1px solid #e0e6da;border-radius:20px;padding:25px;box-shadow:0 6px 22px #1f392805;min-width:0}.card-top{display:flex;justify-content:space-between;align-items:start;gap:12px}.card-top button{padding:0;width:44px;border:0;color:#8a978b}.tag{color:#62836a;text-transform:uppercase;letter-spacing:1.4px;font-size:10px;font-weight:700}.location{color:#748176;font-size:13px;margin-top:6px}.progress-head{display:flex;justify-content:space-between;font-size:12px;margin:25px 0 10px}.progress-head b{font-size:20px;color:#356044}progress{width:100%;height:6px;border:0;border-radius:8px;overflow:hidden;accent-color:#719473}progress::-webkit-progress-bar{background:#edf1e8}progress::-webkit-progress-value{background:#719473}.meta{display:flex;gap:16px;margin:12px 0 18px;color:#82907e;font-size:11px}.search{width:100%;border:1px solid #e1e7dd;padding:11px;border-radius:10px;background:#fafbf8;margin-bottom:8px}.candidates{max-height:350px;overflow:auto}.candidate{padding:12px 0;border-bottom:1px solid #edf0e8}.row{display:flex;align-items:center;gap:10px}.star{padding:0;min-width:32px;border:0;min-height:36px;color:#8a947d;font-size:20px}.star.selected{color:#ad812b}.name{flex:1;min-width:0;font-weight:600;font-size:13px;overflow-wrap:anywhere}.name small{display:block;font-size:10px;color:#899380;font-weight:400;margin-top:4px}.votes{text-align:right;font-size:16px;font-weight:700;white-space:nowrap}.votes small{display:block;font-size:10px;font-weight:400;color:#7d8978;margin-top:4px}.bar{height:3px;background:#edf1e9;margin-top:9px;margin-left:42px}.bar i{display:block;height:100%;background:#a8bea0}.source{font-size:10px;color:#879280;margin-top:20px}.empty{text-align:center;padding:65px 20px;background:#eef2e8;border:1px dashed #c6d5bf;border-radius:20px;grid-column:1/-1}.empty h2{margin-bottom:12px}.empty p{color:#748176;font-size:14px}.notice,.error{font-size:12px;background:#fff4de;color:#876329;padding:12px;border-radius:10px;line-height:1.5}footer{padding:36px 0;font-size:11px;color:#8b9786;line-height:2}footer a{text-decoration:underline}dialog{border:1px solid #d9e3d4;border-radius:22px;max-width:480px;width:calc(100% - 32px);padding:28px;color:inherit;max-height:90vh;overflow:auto}dialog::backdrop{background:#142e2855;backdrop-filter:blur(5px)}.dialog-title{display:flex;justify-content:space-between;margin-bottom:24px}.dialog-title .eyebrow{margin-bottom:6px}form>label{display:block;font-size:12px;font-weight:600;margin:16px 0}select{display:block;width:100%;border:1px solid #dce4d6;border-radius:10px;background:#f8faf5;padding:10px;margin-top:7px;color:inherit}.wide{width:100%}#form-error{color:#a05235;font-size:12px}@media(max-width:760px){header{height:75px}.intro{padding:35px 0 20px}.orbit{display:none}.toolbar{align-items:start;flex-direction:column}.actions{width:100%}.auto{width:100%;margin-bottom:5px}.actions button{flex:1}.card{padding:20px}h1{letter-spacing:-1.5px}header>a:last-child{font-size:11px}}
.evolution{border-top:1px solid #e4eadd;margin-top:22px;padding-top:20px}.evolution h3{font-size:14px;margin:0}.chart-heading{display:flex;justify-content:space-between;gap:10px;margin-bottom:18px}.chart-heading span{font-size:10px;color:#82907e}.chart-scroll{overflow:hidden}.chart-scroll svg{display:block;width:100%;min-width:320px}.chart-scroll text{font-family:inherit;font-size:10px;fill:#7d8978}.chart-legend{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}.chart-legend span{display:flex;align-items:center;gap:6px;font-size:10px}.chart-legend i{width:8px;height:8px;border-radius:50%}.chart-settings{font-size:11px;margin-top:16px}.chart-settings summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:#52715a}.chart-choice{max-height:180px;overflow:auto;display:grid;gap:7px}.chart-choice label{display:flex;align-items:center;gap:8px;min-height:32px}.history-table{overflow:auto;max-height:240px}table{border-collapse:collapse;width:100%;font-size:10px;white-space:nowrap}th,td{text-align:left;padding:9px;border-bottom:1px solid #edf0e8}.turns{font-size:11px;background:#f6eddc;color:#7f6034;padding:6px 12px;border-radius:10px;line-height:1.7}
/* Candidate cards and complete cargo sections */
.intro{padding:36px 0;gap:40px}.intro h1{font-size:clamp(34px,4.2vw,55px)}.region-panel{width:320px;flex:none;background:#eaf0e4;border:1px solid #dce5d4;padding:22px;border-radius:18px}.region-panel>label{font-size:12px;font-weight:700}.region-panel select{background:white}.region-panel #locate{width:100%;margin-top:10px;background:transparent;font-size:12px}.region-panel .hint{min-height:38px;margin-bottom:12px}.cargo-nav{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 24px}.cargo-nav a{display:flex;align-items:center;gap:10px;background:white;border:1px solid #dae3d3;padding:12px 15px;border-radius:12px;font-size:12px;font-weight:600;min-height:44px}.cargo-nav a:hover{background:#eaf1e7}.cargo-nav span{font-size:10px;color:#75876d;background:#eef2e8;border-radius:5px;padding:3px 6px}.grid{display:block}.race-section{margin-bottom:28px;padding:28px;scroll-margin-top:20px}.race-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.race-heading .tag{margin:0 0 8px}.race-heading h2{font-size:26px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.candidate-count{font:400 12px 'DM Sans',sans-serif;color:#819079;letter-spacing:0}.race-tools{display:flex;align-items:center;gap:18px}.race-tools>button{border:0;color:#8a978b;padding:0;width:44px;flex:none}.race-total{text-align:right;display:flex;flex-direction:column;white-space:nowrap}.race-total strong{font-size:23px;color:#376748}.race-total span{font-size:10px;color:#86947b;margin-top:4px}.meta{flex-wrap:wrap}.candidate-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:25px 0 18px}.candidate-toolbar p{font-size:13px;font-weight:600;margin:0}.candidate-toolbar p span{font-weight:400;color:#8a967f;font-size:11px}.candidate-toolbar .search{margin:0;max-width:340px}.candidates{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,245px),1fr));gap:16px;max-height:none;overflow:visible}.candidate-card{position:relative;background:#fbfcf8;border:1px solid #e0e7d9;border-radius:16px;padding:18px;min-width:0;transition:box-shadow .15s,border-color .15s}.candidate-card:hover{border-color:#acc19d;box-shadow:0 4px 16px #244c3510}.candidate-card.is-favorite{}.candidate-card>.star{position:absolute;top:7px;right:7px;width:40px;min-height:44px;background:transparent;border:0;font-size:21px;z-index:1}.candidate-identity{display:flex;align-items:center;gap:13px;margin-top:10px}.avatar{width:80px;height:96px;flex:none;position:relative;overflow:hidden;border-radius:12px;background:#e5eddc;display:grid;place-items:center}.avatar span{font:700 25px Manrope,sans-serif;color:#76916c}.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%}.avatar.photo-missing img{display:none}.candidate-bio{min-width:0;padding-top:12px}.candidate-bio h3{font-size:13px;line-height:1.5;overflow-wrap:anywhere;margin:7px 0 6px;font-weight:700}.candidate-number{font-size:11px;font-weight:700;letter-spacing:1px;color:#637d56}.candidate-party{font-size:10px;letter-spacing:.4px;color:#8a967e}.candidate-result{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:20px 0 14px}.candidate-result>div{display:flex;flex-direction:column;gap:4px;min-width:0}.candidate-result>div:last-child{text-align:right}.candidate-result strong{font:800 27px Manrope,sans-serif;letter-spacing:-1px;color:#31533b}.candidate-result strong small{font-size:15px;letter-spacing:0;padding-left:2px}.candidate-result b{font-size:15px}.candidate-result span{font-size:10px;color:#8c987f}.candidate-progress{height:4px;border-radius:5px;background:#e9efdf;overflow:hidden}.candidate-progress i{display:block;height:100%;background:#98b583}.candidate-status{font-size:10px;color:#62805b;margin-bottom:0}.candidates-empty{grid-column:1/-1;padding:16px 0}.trend-panel{border-top:1px solid #e3eadd;margin-top:25px;padding-top:8px}.trend-panel>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:12px;color:#527554;font-weight:600}.trend-panel .evolution{max-width:800px;margin:10px 0;border:0;padding-top:8px}html{scroll-behavior:smooth}@media(max-width:760px){.intro{flex-direction:column;align-items:stretch;gap:25px}.region-panel{width:100%;padding:18px}.intro h1{font-size:39px}.description br{display:none}.race-section{padding:18px}.race-heading{align-items:start;gap:10px}.race-heading h2{font-size:22px;gap:8px}.race-tools{gap:5px}.race-total strong{font-size:18px}.race-total span{font-size:9px;white-space:normal;max-width:100px}.candidate-toolbar{flex-direction:column;align-items:stretch;gap:12px}.candidate-toolbar .search{max-width:none}.candidate-toolbar p span{display:block;margin-top:4px}.candidates{grid-template-columns:repeat(auto-fill,minmax(min(100%,245px),1fr));gap:12px}.cargo-nav{gap:6px}.cargo-nav a{font-size:11px;padding:10px}.candidate-identity{margin-top:5px}.candidate-bio h3{font-size:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.candidate-card{transition:none}}
.location-credit{display:block;font-size:9px;line-height:1.5;color:#869379;margin-top:12px}.location-credit a{text-decoration:underline}
.show-candidates{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:12px;margin:12px -28px 0;width:calc(100% + 56px);border:0;border-top:1px solid #dfe7d8;border-bottom:1px solid #dfe7d8;border-radius:0;min-height:56px;background:transparent;color:#527554;font-size:12px}.show-candidates:hover{background:#f0f5e9}.show-candidates small{font-size:10px;font-weight:400;color:#8a977f}@media(max-width:760px){.show-candidates{margin-inline:-18px;width:calc(100% + 36px)}}

.state-strip{margin:12px 0 30px}.state-strip .region-panel{width:100%;padding:24px 26px;background:#fff;border:1px solid #dfe6d9;border-radius:20px;display:grid;grid-template-columns:1fr minmax(320px,460px);gap:12px 28px;align-items:center;box-shadow:0 4px 20px #25483404}.region-heading{display:flex;align-items:center;gap:15px}.region-icon{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:15px;background:#edf3e6;color:#527554}.region-icon svg{width:25px;height:25px}.region-heading label{font:700 17px Manrope,sans-serif;cursor:pointer}.region-heading p{font-size:12px;color:#829079;margin:5px 0 0}.region-controls{display:flex;gap:10px;align-items:center;min-width:0}.region-select{position:relative;flex:1;min-width:0}.region-select select{appearance:none;-webkit-appearance:none;margin:0;width:100%;min-height:52px;padding:12px 40px 12px 16px;border:1px solid #d7e2ce;border-radius:12px;background:#f7faf3;color:#31533b;font-weight:600;cursor:pointer;transition:border-color .15s,box-shadow .15s}.region-select select:hover{border-color:#a3bc94}.region-select select:focus-visible{outline:0;border-color:#719473;box-shadow:0 0 0 3px #71947325}.region-select>svg{position:absolute;right:15px;top:18px;width:18px;height:18px;pointer-events:none;color:#6e8a61}.region-select option{background:#fff;color:#29433d}.state-strip .region-panel #locate{margin:0;width:auto;min-height:52px;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:white;border-color:#e1e7dc;font-size:12px;white-space:nowrap}.region-controls #locate svg{width:19px;height:19px}.state-strip .region-panel #locate:hover{background:#f0f5e9;border-color:#b7c9ab}.state-strip .region-panel .hint{grid-column:1/-1;min-height:0;margin:2px 0 0;padding-top:14px;border-top:1px solid #edf1e8;font-size:11px}.state-strip .location-credit{grid-column:1/-1;margin:0;font-size:9px;color:#97a18f}.intro .orbit{flex:none}@media(max-width:760px){.state-strip .region-panel{grid-template-columns:1fr;padding:20px;gap:16px}.region-heading label{font-size:16px}.region-heading p{font-size:11px}.region-controls{width:100%}.state-strip .region-panel #locate{padding:12px}.region-controls #locate span{display:none}.state-strip .region-panel .hint{margin:0}.intro .orbit{display:none}}@media(prefers-reduced-motion:reduce){.region-select select{transition:none}}

.general-panel{border:1px solid #e2e9dc;border-radius:14px;background:#f9fbf6;margin:20px 0 24px;overflow:hidden}.general-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:14px 18px;cursor:pointer;list-style:none;font-size:12px;font-weight:600;color:#527554}.general-panel>summary::-webkit-details-marker{display:none}.general-panel>summary:hover{background:#eef4e8}.general-panel>summary svg{width:18px;height:18px;flex:none;transition:transform .15s}.general-panel[open]>summary svg{transform:rotate(180deg)}.general-content{padding:0 20px 20px;border-top:1px solid #e7ecdf}.general-context{font-size:10px;color:#819079;margin:18px 0;text-transform:uppercase;letter-spacing:1px}.general-grid{display:grid;grid-template-columns:.8fr 1fr 1.2fr;gap:28px}.general-group{min-width:0}.general-group h3{font:700 13px Manrope,sans-serif;margin:0 0 12px;color:#34523c}.general-group dl{margin:0}.general-row{display:flex;justify-content:space-between;align-items:baseline;gap:15px;padding:10px 0;border-bottom:1px solid #e8edde;font-size:11px}.general-row:last-child{border:0}.general-row dt{color:#78856e;line-height:1.5}.general-row dd{margin:0;text-align:right;white-space:nowrap;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:#34523c}.general-row small{display:block;margin-top:4px;font-size:10px;font-weight:400;color:#8a977f}@media(max-width:900px){.general-grid{grid-template-columns:1fr 1fr}.general-group:last-child{grid-column:1/-1}}@media(max-width:540px){.general-grid{grid-template-columns:1fr;gap:22px}.general-group:last-child{grid-column:auto}.general-content{padding:0 16px 16px}.general-panel>summary{padding-inline:16px}}@media(prefers-reduced-motion:reduce){.general-panel>summary svg{transition:none}}

.candidate-filters{display:flex;align-items:center;gap:10px;min-width:0;flex:1;justify-content:flex-end}.favorites-filter{display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;font-size:12px;font-weight:500;background:#fff;border-color:#dfe6d9;min-height:44px}.favorites-filter span{color:#9aa58e}.favorites-filter[aria-pressed="true"]{background:#edf4e5;border-color:#a9bd96;color:#42653c}.favorites-filter[aria-pressed="true"] span{color:#a98132}.candidate-filters .search{width:100%;min-width:120px}@media(max-width:760px){.candidate-filters{justify-content:stretch}.candidate-filters .search{flex:1}.favorites-filter{padding:10px 12px}}@media(max-width:420px){.candidate-filters{flex-wrap:wrap}.candidate-filters .search{flex-basis:100%}.favorites-filter{width:100%}}

.candidate-view{display:inline-flex;align-items:center;gap:3px;padding:4px;background:#e9eee3;border-radius:12px;min-height:44px}.candidate-view button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:8px 14px;border:0;border-radius:9px;background:transparent;color:#7b8971;font-size:12px;font-weight:500;box-shadow:none}.candidate-view button:hover{background:#f3f6ee;color:#42653c}.candidate-view button[aria-pressed="true"]{background:#fff;color:#34583d;font-weight:600;box-shadow:0 1px 4px #25483412}.candidate-view svg{width:15px;height:15px;flex:none}.candidate-view #favorites[aria-pressed="true"] svg{fill:#edf3e6;stroke:#527554}@media(max-width:760px){.actions .candidate-view{width:100%;margin-bottom:2px}.actions .candidate-view button{flex:1}}

@media(max-width:760px){.actions{display:flex;flex-wrap:wrap;gap:8px;width:100%}.actions .candidate-view{width:100%;flex:1 1 100%;margin:0}.actions .candidate-view button{flex:1}.actions>#tv-mode,.actions>#refresh,.actions>#add{flex:1 1 0;min-width:0;min-height:44px;height:44px;padding:8px 12px;display:flex;align-items:center;justify-content:center;white-space:nowrap;font-size:12px;line-height:1.2;border-radius:12px}}

.cargo-nav button{min-height:44px;border:1px solid #dae3d3;border-radius:12px;padding:11px 16px;font-size:12px;font-weight:500;background:#fff;color:#6e8065}.cargo-nav button:hover{background:#f0f5e9}.cargo-nav button[aria-pressed="true"]{background:#e7efde;border-color:#a8be96;color:#365e3d;font-weight:600}@media(max-width:760px){.cargo-nav button{font-size:11px;padding:10px 12px}}@media(max-width:360px){.actions>#tv-mode,.actions>#refresh{font-size:11px;padding-inline:8px}.candidate-view button{padding-inline:8px}}

.trend-panel{border-top:1px solid #e3eadd;margin-top:25px;padding-top:20px}
.trend-panel .evolution{max-width:none;margin:0;padding:0;border:0}
.chart-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}
.chart-heading h3{font-family:Manrope,sans-serif;font-size:16px;font-weight:700;color:#1f372a;margin:0 0 3px}
.chart-subtitle{font-size:11px;color:#768670;margin:0}
.chart-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;background:#ebf2e5;color:#3b5f40;white-space:nowrap}
.chart-legend{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin:0 0 16px}
.chart-legend .chart-stat{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:10px 14px;background:#f7faf4;border:1px solid #e2ebd9;border-radius:12px;min-width:0;transition:transform .15s ease,box-shadow .15s ease}
.chart-legend .chart-stat:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(36,76,53,0.08)}
.chart-stat-name{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:500;color:#64755e;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chart-stat-name i{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none}
.chart-stat strong{font:700 20px Manrope,sans-serif;letter-spacing:-.6px;color:#244b34;font-variant-numeric:tabular-nums}
.chart-scroll{width:100%;min-width:0;border-radius:14px;background:#ffffff;border:1px solid #e3eadd;padding:10px 6px;box-sizing:border-box;overflow:hidden!important;scrollbar-width:none}
.chart-scroll::-webkit-scrollbar{display:none}
.chart-scroll.interactive-chart{height:340px;overflow:hidden!important}
.chart-scroll.interactive-chart svg{min-width:0;display:block}
.chart-settings{margin-top:18px}
.turns{background:#f1f6e9;color:#627c53;padding:10px 16px;border-radius:12px}
.turns p{margin:5px 0;line-height:1.7}
.evolution .hint{font-size:11px;color:#7b8b75;margin-top:10px;margin-bottom:0}
@media(max-width:640px){.chart-scroll.interactive-chart{height:290px}.chart-legend{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.chart-stat strong{font-size:18px}.chart-heading{gap:8px}.chart-heading h3{font-size:15px}}

/* Loading */.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}#status.loading::before{content:'';display:inline-block;width:11px;height:11px;margin-right:8px;vertical-align:-2px;border:2px solid #d3dfca;border-top-color:#527554;border-radius:50%;animation:apura-spin .7s linear infinite}#refresh:disabled{cursor:progress}@keyframes apura-spin{to{transform:rotate(360deg)}}.skel{display:block;border-radius:6px;background:linear-gradient(90deg,#ebf0e5 25%,#f6f9f2 50%,#ebf0e5 75%);background-size:200% 100%;animation:apura-shimmer 1.3s ease-in-out infinite}.avatar.skel{display:block}.is-skeleton{pointer-events:none}.is-skeleton .candidate-bio{flex:1;display:flex;flex-direction:column;gap:9px}.is-skeleton .candidate-result{align-items:center}@keyframes apura-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skel,#status.loading::before{animation:none}}
/* Modo TV Compacto (Mesmas Cores Claras do Site, Sem Gráfico, Sem Rolagem) */
body.tv {
  background: #f5f6f2 !important;
  color: #1d302e !important;
  overflow: hidden !important;
  height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
}
body.tv header {
  height: 48px;
  background: transparent !important;
  border-bottom: 1px solid #dfe5dc !important;
  padding-inline: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: none;
}
body.tv header > a:last-child {
  display: none !important;
}
body.tv .brand {
  font-family: Manrope, sans-serif;
  font-size: 20px;
  font-weight: 800;
  color: #1d302e !important;
}
body.tv .brand span {
  background: #e4ebdd !important;
  color: #29433d !important;
  font-size: 11px;
  padding: 3px 8px;
  border-radius: 6px;
  margin-left: 8px;
}
.tv-bar {
  display: contents;
}
body.tv main {
  max-width: 100vw !important;
  width: 100% !important;
  padding: 8px 24px 14px !important;
  box-sizing: border-box !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  overflow: hidden !important;
  height: calc(100vh - 48px) !important;
  background: #f5f6f2 !important;
}
body.tv .tv-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  flex: none !important;
  width: 100% !important;
}
body.tv .intro,
body.tv footer,
body.tv .candidate-toolbar,
body.tv .show-candidates,
body.tv .general-panel,
body.tv .source,
body.tv .trend-panel,
body.tv .empty {
  display: none !important;
}
/* Seletor de Estado na Barra Superior do Modo TV */
body.tv .state-strip {
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  flex: none !important;
}
body.tv .state-strip .region-panel {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  width: auto !important;
}
body.tv .region-heading {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
body.tv .region-icon,
body.tv .region-heading p,
body.tv #location-status,
body.tv #locate,
body.tv #all-region,
body.tv .location-credit {
  display: none !important;
}
body.tv .region-heading label {
  font-family: Manrope, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #214e40 !important;
  white-space: nowrap !important;
  cursor: pointer;
}
body.tv .region-controls {
  display: flex !important;
  align-items: center !important;
}
body.tv .region-select {
  position: relative !important;
  min-width: 170px !important;
  width: auto !important;
}
body.tv .region-select select {
  margin: 0 !important;
  min-height: 34px !important;
  height: 34px !important;
  padding: 4px 30px 4px 10px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #214e40 !important;
  background: #ffffff !important;
  border: 1px solid #d7e2ce !important;
  border-radius: 10px !important;
  cursor: pointer !important;
}
body.tv .region-select select:hover {
  border-color: #a3bc94 !important;
}
body.tv .region-select > svg {
  top: 9px !important;
  right: 10px !important;
  width: 14px !important;
  height: 14px !important;
}
body.tv .toolbar {
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  flex: none !important;
}
body.tv .toolbar > div {
  display: flex !important;
  align-items: baseline !important;
  gap: 12px !important;
  margin: 0 !important;
}
body.tv .actions {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex: none !important;
}
body.tv .toolbar h2 {
  font-family: Manrope, sans-serif;
  font-size: 14px;
  color: #214e40;
  font-weight: 700;
  white-space: nowrap;
}
body.tv #status {
  color: #748176;
  font-size: 11px;
  white-space: nowrap;
}
body.tv button {
  background: #ffffff;
  color: #29433d;
  border: 1px solid #d9e0d7;
  padding: 4px 14px;
  min-height: 34px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 600;
}
body.tv button:hover {
  background: #eaf1e7;
}
body.tv #tv-mode {
  background: #214e40;
  color: #ffffff;
  border-color: #214e40;
  font-weight: 700;
}
body.tv #tv-mode:hover {
  background: #173c31;
}
body.tv .candidate-view {
  background: #e9eee3;
  padding: 3px;
  border-radius: 10px;
  min-height: 34px;
}
body.tv .candidate-view button {
  padding: 4px 12px;
  min-height: 28px;
  font-size: 11px;
  color: #7b8971;
  border: 0;
  border-radius: 8px;
  background: transparent;
}
body.tv .candidate-view button[aria-pressed="true"] {
  background: #ffffff;
  color: #34583d;
  font-weight: 600;
  box-shadow: 0 1px 3px #25483410;
}
body.tv .cargo-nav {
  margin: 0 !important;
  gap: 8px !important;
  display: flex !important;
  flex: none !important;
  width: 100% !important;
  overflow-x: auto !important;
}
body.tv .cargo-nav button {
  background: #ffffff;
  border: 1px solid #dae3d3;
  color: #6e8065;
  padding: 4px 14px;
  min-height: 32px;
  border-radius: 10px;
  font-size: 11px;
}
body.tv .cargo-nav button[aria-pressed="true"] {
  background: #e7efde;
  border-color: #a8be96;
  color: #365e3d;
  font-weight: 700;
}
body.tv .grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(420px, 1fr)) !important;
  grid-auto-rows: 1fr !important;
  gap: 12px !important;
  flex: 1 1 0% !important;
  min-height: 0 !important;
  width: 100% !important;
  overflow: hidden !important;
}
body.tv .race-section {
  background: #ffffff !important;
  border: 1px solid #e0e6da !important;
  border-radius: 16px;
  padding: 12px 18px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  height: 100%;
  margin-bottom: 0;
  box-shadow: 0 4px 18px #1f392806;
}
body.tv .race-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
  padding-bottom: 6px;
  border-bottom: 1px solid #edf0e8;
  flex: none;
}
body.tv .race-heading .tag {
  color: #62836a;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 0;
}
body.tv .race-heading h2 {
  font-family: Manrope, sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: #1d302e;
  margin: 2px 0 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
body.tv .candidate-count {
  font-size: 11px;
  color: #819079;
  font-weight: 400;
}
body.tv .race-total {
  display: flex;
  align-items: baseline;
  gap: 8px;
  text-align: right;
}
body.tv .race-total strong {
  font-family: Manrope, sans-serif;
  font-size: 26px;
  font-weight: 800;
  color: #356044;
  letter-spacing: -0.5px;
}
body.tv .race-total span {
  color: #86947b;
  font-size: 10px;
}
body.tv progress {
  height: 5px;
  border-radius: 3px;
  background: #edf1e8;
  accent-color: #719473;
  flex: none;
  margin-bottom: 6px;
}
body.tv progress::-webkit-progress-bar {
  background: #edf1e8;
}
body.tv progress::-webkit-progress-value {
  background: #719473;
}
body.tv .meta {
  display: flex;
  justify-content: space-between;
  margin: 0 0 8px;
  font-size: 11px;
  color: #82907e;
  flex: none;
}
body.tv .candidates {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
  gap: 6px !important;
  flex: 1 1 0% !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  align-content: start !important;
}
body.tv .candidate-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 6px 12px;
  background: #ffffff;
  border: 1px solid #dfe5dc;
  border-radius: 10px;
  box-shadow: none;
  min-height: 48px;
  cursor: pointer;
  user-select: none;
  transition: transform .1s ease, background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}
body.tv .candidate-card:hover {
  background: #f8faf4;
  border-color: #bccbb5;
  box-shadow: 0 2px 8px #25483410;
}
body.tv .candidate-card:active {
  transform: scale(0.985);
}
body.tv .candidate-card.is-favorite .cand-name::before {
  content: '★ ';
  color: #c5922e;
  font-weight: 700;
  margin-right: 2px;
}
body.tv .candidate-card.is-elected {
  border-color: #559640 !important;
  background: #f1f8ec !important;
  box-shadow: 0 0 0 1px #55964040 !important;
}
body.tv .candidate-card > .star {
  display: none !important;
}
body.tv .candidate-identity {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex: 1;
  margin: 0;
}
body.tv .avatar {
  width: 32px;
  height: 38px;
  border-radius: 8px;
  background: #e5eddc;
  flex: none;
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
}
body.tv .avatar span {
  font: 700 13px Manrope, sans-serif;
  color: #76916c;
}
body.tv .avatar img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
}
body.tv .candidate-bio {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  min-width: 0;
  flex: 1;
  gap: 0 4px;
  padding: 0;
}
body.tv .candidate-bio h3 {
  order: 1;
  width: 100%;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #1d302e;
  margin: 0 0 2px;
  line-height: 1.25;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
}
.cand-name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}
.badge-status {
  display: inline-flex;
  align-items: center;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .4px;
  padding: 1px 6px;
  border-radius: 5px;
  line-height: 1.2;
  white-space: nowrap;
  background: #eef2e9;
  color: #63775b;
  flex: none;
  margin-left: 4px;
}
.badge-status.elected {
  background: #d4edd2 !important;
  color: #1a5223 !important;
  border: 1px solid #95ce8d !important;
}
.badge-status.runoff {
  background: #dbe9f8 !important;
  color: #154574 !important;
  border: 1px solid #a8cbf0 !important;
}
.candidate-card.is-elected {
  border-color: #79a664 !important;
  background: #f4fbf0 !important;
}
body.tv .candidate-number {
  order: 2;
  font-size: 11px;
  font-weight: 700;
  color: #527554;
  line-height: 1;
}
body.tv .candidate-party {
  order: 3;
  font-size: 11px;
  font-weight: 600;
  color: #788a70;
  line-height: 1;
  margin: 0;
}
body.tv .candidate-party::before {
  content: '· ';
  color: #9eb096;
}
body.tv .candidate-result {
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1px;
  flex: none;
  text-align: right;
}
body.tv .candidate-result strong {
  font: 800 18px Manrope, sans-serif;
  color: #31533b;
  letter-spacing: -0.5px;
  line-height: 1.1;
}
body.tv .candidate-result b {
  font-size: 10px;
  color: #7d8978;
  font-weight: 500;
  line-height: 1;
}
body.tv .candidate-result span {
  display: none !important;
}
body.tv .candidate-progress {
  display: none !important;
}
body.tv .candidate-status {
  display: none !important;
}
body.tv .candidate-card.is-skeleton {
  min-height: 48px;
}
body.tv .is-skeleton .candidate-bio {
  gap: 4px;
}
body.tv .is-skeleton .skel {
  background: linear-gradient(90deg, #ebf0e5 25%, #f6f9f2 50%, #ebf0e5 75%);
}

/* ==========================================================
   MODO ESCURO (DARK MODE)
   ========================================================== */
/* ==========================================================
   MODO ESCURO DE VERDADE (TRUE DARK / NEUTRAL CHARCOAL)
   Zero esverdeado: fundo preto/grafite puro, alto contraste
   ========================================================== */
body.dark {
  background: #090a0b !important;
  color: #f3f4f6 !important;
}
body.dark header {
  border-bottom: 1px solid #1c2026 !important;
}
body.dark .brand {
  color: #ffffff !important;
}
body.dark .brand span {
  background: #1b1f26 !important;
  color: #d1d5db !important;
}
body.dark header > a:last-child {
  color: #9ca3af !important;
}
body.dark .eyebrow {
  color: #9ca3af !important;
}
body.dark h1 {
  color: #ffffff !important;
}
body.dark h1 span {
  color: #3b82f6 !important;
}
body.dark .description {
  color: #9ca3af !important;
}
body.dark .orbit {
  background: radial-gradient(circle, #1a1e24, transparent 70%) !important;
  border-color: #262b33 !important;
  outline-color: #171a1f !important;
}
body.dark .orbit span {
  color: #e5e7eb !important;
}
body.dark .orbit small {
  color: #9ca3af !important;
}
body.dark button {
  background: #15181d !important;
  border-color: #272d36 !important;
  color: #f3f4f6 !important;
}
body.dark button:hover {
  background: #212630 !important;
  border-color: #3b4350 !important;
}
body.dark .primary {
  background: #2563eb !important;
  color: #ffffff !important;
  border-color: #2563eb !important;
}
body.dark .primary:hover {
  background: #1d4ed8 !important;
}
body.dark .toolbar h2 {
  color: #ffffff !important;
}
body.dark #count {
  background: #1b1f26 !important;
  color: #d1d5db !important;
}
body.dark #status,
body.dark .hint {
  color: #9ca3af !important;
}
body.dark .state-strip .region-panel {
  background: #121519 !important;
  border-color: #222730 !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.6) !important;
}
body.dark .region-icon {
  background: #1c2129 !important;
  color: #e5e7eb !important;
}
body.dark .region-heading label {
  color: #ffffff !important;
}
body.dark .region-heading p {
  color: #9ca3af !important;
}
body.dark .region-select select {
  background: #16191f !important;
  border-color: #29303c !important;
  color: #f3f4f6 !important;
}
body.dark .region-select select:hover {
  border-color: #434e61 !important;
}
body.dark .region-select option {
  background: #121519 !important;
  color: #f3f4f6 !important;
}
body.dark .region-select > svg {
  color: #9ca3af !important;
}
body.dark .state-strip .region-panel #locate {
  background: #16191f !important;
  border-color: #29303c !important;
  color: #f3f4f6 !important;
}
body.dark .state-strip .region-panel #locate:hover {
  background: #222731 !important;
  border-color: #434e61 !important;
}
body.dark .state-strip .region-panel .hint {
  border-top-color: #1f242c !important;
  color: #9ca3af !important;
}
body.dark .location-credit {
  color: #6b7280 !important;
}
body.dark .candidate-view {
  background: #121519 !important;
  border: 1px solid #222730 !important;
}
body.dark .candidate-view button {
  color: #9ca3af !important;
}
body.dark .candidate-view button:hover {
  background: #1c2129 !important;
  color: #f3f4f6 !important;
}
body.dark .candidate-view button[aria-pressed="true"] {
  background: #272e3a !important;
  color: #ffffff !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4) !important;
}
body.dark .candidate-view svg {
  stroke: currentColor;
}
body.dark .candidate-view #favorites[aria-pressed="true"] svg {
  fill: #eab308 !important;
  stroke: #eab308 !important;
}
body.dark .cargo-nav button {
  background: #121519 !important;
  border-color: #222730 !important;
  color: #9ca3af !important;
}
body.dark .cargo-nav button:hover {
  background: #1c2129 !important;
  color: #f3f4f6 !important;
}
body.dark .cargo-nav button[aria-pressed="true"] {
  background: #222935 !important;
  border-color: #3b465a !important;
  color: #60a5fa !important;
}
body.dark .card,
body.dark .race-section {
  background: #121519 !important;
  border-color: #222730 !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.5) !important;
}
body.dark .race-heading h2 {
  color: #ffffff !important;
}
body.dark .race-heading .tag {
  color: #9ca3af !important;
}
body.dark .candidate-count {
  color: #9ca3af !important;
}
body.dark .race-total strong {
  color: #22c55e !important;
}
body.dark .race-total span {
  color: #9ca3af !important;
}
body.dark progress {
  background: #1f242c !important;
  accent-color: #22c55e !important;
}
body.dark progress::-webkit-progress-bar {
  background: #1f242c !important;
}
body.dark progress::-webkit-progress-value {
  background: #22c55e !important;
}
body.dark .meta {
  color: #9ca3af !important;
}
body.dark .candidate-toolbar p {
  color: #e5e7eb !important;
}
body.dark .candidate-toolbar p span {
  color: #9ca3af !important;
}
body.dark .search {
  background: #15181d !important;
  border-color: #252b35 !important;
  color: #f3f4f6 !important;
}
body.dark .search::placeholder {
  color: #6b7280 !important;
}
body.dark .candidate-card {
  background: #15181d !important;
  border-color: #242a33 !important;
}
body.dark .candidate-card:hover {
  background: #1a1e25 !important;
  border-color: #3b4352 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5) !important;
}
body.dark .candidate-card .star {
  color: #4b5563 !important;
}
body.dark .candidate-card .star.selected {
  color: #eab308 !important;
}
body.dark .avatar {
  background: #1c2129 !important;
}
body.dark .avatar span {
  color: #9ca3af !important;
}
body.dark .cand-name {
  color: #ffffff !important;
}
body.dark .candidate-number {
  color: #9ca3af !important;
}
body.dark .candidate-party {
  color: #6b7280 !important;
}
body.dark .candidate-result strong {
  color: #22c55e !important;
}
body.dark .candidate-result b {
  color: #f3f4f6 !important;
}
body.dark .candidate-result span {
  color: #9ca3af !important;
}
body.dark .candidate-progress {
  background: #1f242c !important;
}
body.dark .candidate-progress i {
  background: #22c55e !important;
}
body.dark .candidate-card.is-elected {
  border-color: #15803d !important;
  background: #14231a !important;
  box-shadow: 0 0 0 1px rgba(34, 197, 94, 0.3) !important;
}
body.dark .candidate-card.is-elected:hover {
  background: #182d21 !important;
}
body.dark .badge-status {
  background: #1c2129 !important;
  color: #9ca3af !important;
  border-color: #2c3442 !important;
}
body.dark .badge-status.elected {
  background: #052e16 !important;
  color: #4ade80 !important;
  border-color: rgba(74, 222, 128, 0.3) !important;
}
body.dark .badge-status.runoff {
  background: #3a2a06 !important;
  color: #fde047 !important;
  border-color: rgba(253, 224, 71, 0.3) !important;
}
body.dark .show-candidates {
  border-color: #222730 !important;
  color: #60a5fa !important;
}
body.dark .show-candidates:hover {
  background: #181d24 !important;
}
body.dark .show-candidates small {
  color: #9ca3af !important;
}
body.dark .trend-panel {
  border-top-color: #1f242c !important;
}
body.dark .trend-panel > summary {
  color: #60a5fa !important;
}
body.dark .source {
  color: #6b7280 !important;
}
body.dark .general-panel {
  background: #101317 !important;
  border-color: #1f242c !important;
}
body.dark .general-panel > summary {
  color: #e5e7eb !important;
}
body.dark .general-panel > summary:hover {
  background: #171b21 !important;
}
body.dark .general-content {
  border-top-color: #1c2127 !important;
}
body.dark .general-context {
  color: #9ca3af !important;
}
body.dark .general-group h3 {
  color: #ffffff !important;
}
body.dark .general-row {
  border-bottom-color: #1a1e24 !important;
}
body.dark .general-row dt {
  color: #9ca3af !important;
}
body.dark .general-row dd {
  color: #ffffff !important;
}
body.dark .general-row small {
  color: #6b7280 !important;
}
body.dark footer {
  color: #6b7280 !important;
}
body.dark .empty {
  background: #121519 !important;
  border-color: #252b35 !important;
}
body.dark .empty p {
  color: #9ca3af !important;
}
body.dark dialog {
  background: #13161b !important;
  border-color: #272d37 !important;
  color: #f3f4f6 !important;
}
body.dark dialog select {
  background: #171b21 !important;
  border-color: #2a313c !important;
  color: #f3f4f6 !important;
}
body.dark .turns {
  background: #1b1f26 !important;
  color: #d1d5db !important;
}
body.dark .trend-panel {
  border-top-color: #1e232b !important;
}
body.dark .chart-heading h3 {
  color: #ffffff !important;
}
body.dark .chart-subtitle {
  color: #9ca3af !important;
}
body.dark .chart-badge {
  background: #171b22 !important;
  color: #9ca3af !important;
  border: 1px solid #262c37 !important;
}
body.dark .chart-legend .chart-stat {
  background: #12151a !important;
  border: 1px solid #222731 !important;
}
body.dark .chart-legend .chart-stat:hover {
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.45) !important;
  border-color: #323a48 !important;
}
body.dark .chart-stat-name {
  color: #9ca3af !important;
}
body.dark .chart-stat strong {
  color: #ffffff !important;
}
body.dark .chart-scroll {
  background: #0f1216 !important;
  border-color: #1f2530 !important;
}
body.dark .evolution .hint {
  color: #6b7280 !important;
}
body.dark .skel {
  background: linear-gradient(90deg, #171a1f 25%, #232831 50%, #171a1f 75%) !important;
  background-size: 200% 100% !important;
}

/* Modo TV em True Dark */
body.dark.tv,
body.dark.tv main {
  background: #090a0d !important;
  color: #f3f4f6 !important;
}
body.dark.tv header {
  background: #090a0d !important;
  border-bottom: 1px solid #1a1e26 !important;
}
body.dark.tv .brand {
  color: #ffffff !important;
}
body.dark.tv .brand span {
  background: #181d26 !important;
  color: #9ca3af !important;
}
body.dark.tv .toolbar h2 {
  color: #ffffff !important;
}
body.dark.tv #status {
  color: #9ca3af !important;
}
body.dark.tv button {
  background: #13161c !important;
  color: #f3f4f6 !important;
  border: 1px solid #232832 !important;
}
body.dark.tv button:hover {
  background: #1b1f27 !important;
  border-color: #353d4c !important;
}
body.dark.tv #tv-mode {
  background: #2563eb !important;
  color: #ffffff !important;
  border-color: #2563eb !important;
}
body.dark.tv #tv-mode:hover {
  background: #1d4ed8 !important;
}
body.dark.tv .candidate-view {
  background: #111419 !important;
  border: 1px solid #212630 !important;
}
body.dark.tv .candidate-view button {
  color: #9ca3af !important;
  background: transparent !important;
}
body.dark.tv .candidate-view button[aria-pressed="true"] {
  background: #1d222b !important;
  color: #ffffff !important;
}
body.dark.tv .region-heading label {
  color: #ffffff !important;
}
body.dark.tv .region-select select {
  background: #13161c !important;
  color: #ffffff !important;
  border-color: #232832 !important;
}
body.dark.tv .region-select select:hover {
  border-color: #353d4c !important;
}
body.dark.tv .region-select option {
  background: #13161c !important;
  color: #ffffff !important;
}
body.dark.tv .region-select > svg {
  color: #9ca3af !important;
}
body.dark.tv .cargo-nav button {
  background: #13161c !important;
  border: 1px solid #232832 !important;
  color: #9ca3af !important;
}
body.dark.tv .cargo-nav button:hover {
  background: #1b1f27 !important;
  color: #ffffff !important;
}
body.dark.tv .cargo-nav button[aria-pressed="true"] {
  background: #1e2430 !important;
  border-color: #38bdf8 !important;
  color: #ffffff !important;
}
body.dark.tv .race-section {
  background: #101318 !important;
  border: 1px solid #1f2530 !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5) !important;
}
body.dark.tv .race-heading {
  border-bottom: 1px solid #1c222b !important;
}
body.dark.tv .race-heading h2 {
  color: #ffffff !important;
}
body.dark.tv .race-heading .tag {
  color: #60a5fa !important;
}
body.dark.tv .candidate-count {
  color: #9ca3af !important;
}
body.dark.tv .race-total strong {
  color: #38bdf8 !important;
}
body.dark.tv .race-total span {
  color: #9ca3af !important;
}
body.dark.tv progress {
  background: #1a1f27 !important;
}
body.dark.tv progress::-webkit-progress-bar {
  background: #1a1f27 !important;
}
body.dark.tv progress::-webkit-progress-value {
  background: #38bdf8 !important;
}
body.dark.tv .meta {
  color: #9ca3af !important;
}
body.dark.tv .candidate-card {
  background: #13161c !important;
  border: 1px solid #212630 !important;
}
body.dark.tv .candidate-card:hover {
  background: #191c24 !important;
  border-color: #323b49 !important;
}
body.dark.tv .candidate-card.is-elected {
  background: #0e2216 !important;
  border-color: #15803d !important;
}
body.dark.tv .candidate-bio h3 {
  color: #ffffff !important;
}
body.dark.tv .candidate-result strong {
  color: #38bdf8 !important;
}
body.dark.tv .candidate-result b {
  color: #9ca3af !important;
}
body.dark.tv .cand-id strong {
  color: #ffffff !important;
}
body.dark.tv .cand-id span {
  color: #9ca3af !important;
}
body.dark.tv .cand-votes strong {
  color: #38bdf8 !important;
}
body.dark.tv .cand-votes span {
  color: #9ca3af !important;
}
body.dark.tv .cand-star {
  color: #4b5563 !important;
}
body.dark.tv .cand-star.is-starred {
  color: #fbbf24 !important;
}
body.dark.tv .cand-tag {
  background: #1c212a !important;
  color: #9ca3af !important;
}

/* TV: candidatos em destaque, sem rolagem. */
body.tv{height:100dvh!important}
body.tv header{display:none}
body.tv main{height:100dvh!important;min-height:0;padding:18px 24px!important;gap:12px!important}
body.tv .toolbar{flex-wrap:wrap;gap:8px}
body.tv .toolbar h2{display:none}
body.tv .toolbar #status{font-size:14px}
body.tv .actions{flex-wrap:wrap}
body.tv .cargo-nav{overflow:visible!important;flex-wrap:wrap;margin:0;gap:8px}
body.tv .cargo-nav button{font-size:15px;min-height:40px}
body.tv .grid{grid-template-columns:repeat(var(--tv-columns,5),minmax(0,1fr))!important;grid-template-rows:minmax(0,1fr)!important}
body.tv .race-section{min-height:0;padding:18px 22px}
body.tv .race-heading{gap:12px;margin-bottom:16px;padding-bottom:14px;align-items:center}
body.tv .race-heading h2{font-size:clamp(24px,2.2vw,40px)}
body.tv .race-heading .tag{font-size:14px;letter-spacing:.3px}
body.tv .candidate-count,body.tv .meta,body.tv progress{display:none!important}
body.tv .race-total{flex-direction:column;gap:4px}
body.tv .race-total strong{font-size:18px;font-weight:600;color:#788a70!important;letter-spacing:0}
body.dark.tv .race-total strong{color:#9ca3af!important}
body.tv .race-total span{font-size:12px;white-space:normal;max-width:130px}
body.tv .candidates{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:repeat(var(--tv-rows,4),minmax(0,1fr))!important;overflow:hidden!important;gap:12px!important;align-content:stretch!important}
body.tv .candidate-card{min-height:0;padding:12px 16px;gap:16px;border-radius:14px}
body.tv .candidate-identity{gap:16px}
body.tv .avatar{width:clamp(64px,6vw,112px);height:100%;max-height:132px;aspect-ratio:5/6}
body.tv .candidate-identity{height:100%}
body.tv .avatar span{font-size:28px}
body.tv .candidate-bio h3{font-size:clamp(21px,1.8vw,34px);line-height:1.15;flex-wrap:wrap;margin-bottom:10px}
body.tv .cand-name{white-space:normal;overflow-wrap:anywhere}
body.tv .candidate-number,body.tv .candidate-party{font-size:clamp(16px,1.2vw,23px)}
body.tv .badge-status{font-size:12px;margin:0}
body.tv .candidate-result{gap:10px}
body.tv .candidate-result strong{font-size:clamp(30px,2.8vw,54px)}
body.tv .candidate-result strong small{font-size:.55em}
body.tv .candidate-result b{font-size:clamp(16px,1.35vw,26px)}
body.tv .candidate-result>div:last-child::after{content:' votos';font-size:13px;color:#82907e}
body.tv .empty{display:block!important;margin:auto}
body.tv .notice{margin:0;font-size:14px;max-height:48px;overflow:hidden;flex:none}
@media(max-height:650px){body.tv main{padding:10px 18px!important;gap:6px!important}body.tv .race-section{padding:10px 14px}body.tv .race-heading{margin-bottom:8px;padding-bottom:8px}body.tv .avatar{width:52px;max-height:72px}body.tv .candidate-bio h3{font-size:19px;margin-bottom:5px}body.tv .candidate-card{padding:8px 12px}body.tv .candidate-result strong{font-size:28px}}
/* Avoid continuous animation and hover effects on native TV browsers. */
body.smart-tv .skel{animation:none;background:#e5eadd}
body.smart-tv .candidate-card,body.smart-tv .region-select select,body.smart-tv .chart-stat{transition:none}
body.smart-tv dialog::backdrop{backdrop-filter:none}
.chart-scroll>.hint{min-height:260px;display:grid;place-items:center;margin:0}

/* Loading states share a lightweight CSS indicator. */
.loading{display:inline-flex;align-items:center;gap:10px;color:#527554}
.loading::before{content:'';display:inline-block;flex:none;width:18px;height:18px;border:2px solid #d5e2ce;border-top-color:#527554;border-right-color:#527554;border-radius:50%;animation:apura-spin .9s linear infinite}
#status.loading{position:relative;min-height:46px;max-width:100%;padding:11px 16px 14px;border-radius:12px;background:#edf3e7;font-size:13px;font-weight:600;overflow:hidden;line-height:1.4}
#status.loading::before{width:20px;height:20px;margin:0;vertical-align:initial;border-width:2px;animation-duration:.9s}
#status.loading::after{content:'';position:absolute;bottom:0;left:0;width:35%;height:2px;background:#719473;border-radius:2px;animation:apura-loading-track 1.8s ease-in-out infinite}
#form-error.loading{color:#527554;font-weight:500}
button.loading{justify-content:center}
button.loading:disabled{opacity:.8}
.chart-loading{min-height:260px;display:grid;place-items:center}
.chart-loading .loading{font-size:13px;font-weight:500}
body.dark .loading{color:#a7c4ff}
body.dark .loading::before{border-color:#28384c;border-top-color:#60a5fa;border-right-color:#60a5fa}
body.dark #status.loading{background:#151e2b;color:#c5d9ff}
body.dark #status.loading::before{border-color:#28384c;border-top-color:#60a5fa;border-right-color:#60a5fa}
body.dark #status.loading::after{background:#60a5fa}
body.dark #form-error.loading{color:#a7c4ff}
body.tv #status.loading{min-height:42px;font-size:14px;padding:9px 14px 12px;margin:0}
@keyframes apura-loading-track{0%{transform:translateX(-100%)}100%{transform:translateX(390%)}}
body.smart-tv .loading::before,body.smart-tv #status.loading::before,body.smart-tv #status.loading::after{animation:none}
body.smart-tv #status.loading::after{width:100%;opacity:.4}
@media(prefers-reduced-motion:reduce){.loading::before,#status.loading::before,#status.loading::after{animation:none}#status.loading::after{width:100%;opacity:.4}}

/* Stable TV overview: all five offices stay on screen. */
.tv-column-caption{display:none}
body.tv .cargo-nav{display:none!important}
body.tv .grid{gap:12px!important}
body.tv .race-section{padding:16px;min-width:0}
body.tv .race-heading{display:block;margin-bottom:12px;padding-bottom:12px;min-height:98px}
body.tv .race-heading h2{font-size:clamp(20px,1.45vw,30px);line-height:1.15;min-height:2.3em;align-content:start;overflow-wrap:normal}
body.tv .race-heading .tag{font-size:12px;margin-bottom:6px}
body.tv .race-tools{margin-top:8px}
body.tv .race-total{flex-direction:row;align-items:baseline;text-align:left;gap:7px}
body.tv .race-total strong{font-size:14px}
body.tv .race-total span{font-size:11px;max-width:none}
body.tv .tv-five-columns .candidates{gap:10px!important}
body.tv .tv-five-columns .candidate-card{display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:12px;padding:12px;overflow:hidden}
body.tv .tv-five-columns .candidate-identity{height:auto;flex:0 1 auto;gap:10px;min-height:64px}
body.tv .tv-five-columns .avatar{width:clamp(42px,3.6vw,72px);height:clamp(52px,4.4vw,88px);max-height:none;aspect-ratio:auto;border-radius:8px}
body.tv .tv-five-columns .candidate-bio h3{font-size:clamp(16px,1.2vw,25px);line-height:1.2;margin:0 0 7px}
body.tv .tv-five-columns .cand-name{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:normal}
body.tv .tv-five-columns .candidate-number,body.tv .tv-five-columns .candidate-party{font-size:clamp(12px,.9vw,18px)}
body.tv .tv-five-columns .candidate-result{flex-direction:row;justify-content:space-between;align-items:end;gap:6px;flex:none}
body.tv .tv-five-columns .candidate-result strong{font-size:clamp(25px,2vw,40px);white-space:nowrap}
body.tv .tv-five-columns .candidate-result b{font-size:clamp(12px,1vw,20px);white-space:nowrap}
body.tv .tv-five-columns .candidate-result>div:last-child::after{display:block;font-size:11px;margin-top:4px}
body.tv .tv-five-columns .badge-status{font-size:10px}
body.tv .tv-column-caption{display:block;flex:none;font-size:11px;line-height:1.4;color:#82907e;margin-top:10px}
body.dark.tv .tv-column-caption{color:#9ca3af}
@media(max-height:650px){body.tv .race-heading{min-height:80px;padding-bottom:8px;margin-bottom:8px}body.tv .tv-five-columns .candidate-card{gap:6px;padding:8px}body.tv .tv-five-columns .candidate-identity{min-height:48px}body.tv .tv-five-columns .avatar{width:38px;height:48px}body.tv .tv-five-columns .candidate-bio h3{font-size:15px}body.tv .tv-column-caption{margin-top:6px;font-size:10px}}

/* Keep the entire state selector and its labels inside their panel. */
.state-strip,.state-strip .region-panel,.region-heading,.region-heading>div,.region-controls{min-width:0;max-width:100%}
.state-strip .region-panel{grid-template-columns:minmax(0,1fr) minmax(0,460px)}
.region-heading p,.state-strip .location-credit,#location-status{overflow-wrap:anywhere}
.region-controls{flex-wrap:wrap}
.region-select{flex:1 1 180px;max-width:100%}
.region-select select{min-width:0;max-width:100%;text-overflow:ellipsis}
body.tv .toolbar{min-width:0;gap:12px!important}
body.tv .toolbar>div{min-width:0;max-width:100%}
body.tv .actions{flex:0 1 auto!important;min-width:0;max-width:100%}
body.tv #status{white-space:normal;overflow-wrap:anywhere}
body.tv .state-strip{min-width:0;max-width:100%}
body.tv .state-strip .region-panel{padding:5px 10px!important;border:1px solid #d7e2ce!important;border-radius:10px;background:#fff!important;flex-wrap:wrap;gap:8px!important;max-width:100%}
body.tv .region-heading{flex:none;min-width:0}
body.tv .region-heading label{font-size:12px!important}
body.tv .region-controls{flex:1 1 150px;min-width:0;max-width:100%}
body.tv .region-select{min-width:0!important;width:170px!important;max-width:100%;flex:1 1 150px}
body.tv .region-select select{min-width:0!important;max-width:100%;height:28px!important;min-height:28px!important;background:transparent!important;border:0!important;padding-left:2px!important}
body.tv .region-select>svg{top:7px!important}
body.dark.tv .state-strip .region-panel{background:#13161c!important;border-color:#2c3441!important}
body.dark.tv .region-select select{background:transparent!important}
@media(max-width:900px){body:not(.tv) .state-strip .region-panel{grid-template-columns:minmax(0,1fr)}body:not(.tv) .region-controls{width:100%}}

/* Refined state dropdown, with native selection retained for TV remotes. */
.region-select select{border-radius:12px;background:#f7faf6;border-color:#dbe5d7;padding:13px 42px 13px 16px;font-size:15px;font-weight:600;line-height:1.4;box-shadow:0 1px 2px #203c2910;transition:border-color .15s,background-color .15s}
.region-select select:hover{background:#f0f5ed;border-color:#9eb69a}
.region-select select:focus-visible{outline:3px solid #71947340;outline-offset:2px;border-color:#719473;box-shadow:none}
.region-select>svg{color:#71806f;width:16px;height:16px;right:16px;top:18px}
.region-select option{font-size:15px;font-weight:400;padding:12px}
body.tv .state-strip .region-panel{padding:4px!important;gap:0!important;border-radius:12px;align-items:center!important}
body.tv .region-heading{padding:0 12px!important;border-right:1px solid #dce5d7}
body.tv .region-heading label{font-size:11px!important;font-weight:500!important;color:#7a8775!important}
body.tv .region-select{width:185px!important}
body.tv .region-select select{height:36px!important;min-height:36px!important;padding:6px 32px 6px 12px!important;border-radius:9px!important;font-size:14px!important;line-height:1.4;box-shadow:none}
body.tv .region-select select:hover{background:#edf3e8!important}
body.tv .region-select select:focus-visible{outline:2px solid #71947380;outline-offset:0;background:#edf3e8!important}
body.tv .region-select>svg{top:11px!important;right:12px!important;color:#7b8b74}
body.dark .region-select select{background:#151b24;color:#edf3fb;border-color:#2d3745}
body.dark .region-select select:hover{background:#1c2532;border-color:#52677e}
body.dark .region-select select:focus-visible{outline-color:#60a5fa55;border-color:#60a5fa}
body.dark.tv .region-heading{border-right-color:#303b49}
body.dark.tv .region-heading label{color:#9caabe!important}
body.dark.tv .region-select select:hover,body.dark.tv .region-select select:focus-visible{background:#202b3a!important}
body.dark.tv .region-select select:focus-visible{outline-color:#60a5fa80}
@media(prefers-reduced-motion:reduce){.region-select select{transition:none}}

/* In TV mode the whole state card is a single native dropdown hit area. */
.region-value{display:none}
body.tv .state-strip .region-panel{position:relative;cursor:pointer;flex-wrap:nowrap;padding:6px 12px!important;min-height:44px;gap:12px!important;transition:border-color .15s,background-color .15s}
body.tv .region-heading{padding:0!important;border:0}
body.tv .region-heading label{cursor:pointer}
body.tv .region-controls{flex:0 1 185px;min-width:0}
body.tv .region-select{position:static!important;min-width:0!important;width:185px!important}
body.tv .region-select select{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:44px!important;opacity:0;z-index:2;cursor:pointer}
body.tv .region-value{display:block;font-size:14px;font-weight:600;line-height:1.4;padding-right:24px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}
body.tv .region-select>svg{top:50%!important;transform:translateY(-50%);right:12px!important;pointer-events:none}
body.tv .state-strip .region-panel:hover{background:#f0f5ed!important;border-color:#9eb69a!important}
body.tv .state-strip .region-panel:focus-within{outline:2px solid #719473;outline-offset:2px;border-color:#719473!important}
body.dark.tv .state-strip .region-panel:hover{background:#202b3a!important;border-color:#52677e!important}
body.dark.tv .state-strip .region-panel:focus-within{outline-color:#60a5fa;border-color:#60a5fa!important}
body.dark.tv .region-value{color:#edf3fb}
@media(prefers-reduced-motion:reduce){body.tv .state-strip .region-panel{transition:none}}

/* Align the dropdown label and selected state on the same text baseline. */
body.tv .state-strip .region-panel{align-items:baseline!important}
body.tv .region-heading,body.tv .region-controls{align-items:baseline!important}
body.tv .region-heading label{display:block;font-size:14px!important;line-height:1.4!important;margin:0!important}
body.tv .region-value{font-size:14px;line-height:1.4;margin:0;padding-block:0}

/* Center both state labels vertically inside the dropdown card. */
body.tv .state-strip .region-panel{align-items:center!important}
body.tv .region-heading,body.tv .region-controls{align-items:center!important;align-self:center!important}
body.tv .region-select{display:flex;align-items:center;min-height:28px}
body.tv .region-heading label,body.tv .region-value{line-height:20px!important;padding-block:0!important;margin-block:0!important}

/* Match the state dropdown to the adjacent TV toolbar buttons. */
body.tv .state-strip .region-panel{height:34px;min-height:34px!important;padding:0 12px!important}
body.tv .region-select{min-height:32px}
body.tv .region-select select{min-height:32px!important}
body.tv .toolbar>.actions{align-items:center!important}
@media(max-width:760px){body.tv .state-strip .region-panel{height:44px;min-height:44px!important}body.tv .region-select{min-height:42px}body.tv .region-select select{min-height:42px!important}}

/* A lightweight custom state list gives TV browsers a consistent scrollbar. */
.state-dropdown-trigger{display:none}
body.tv .region-select select{display:none!important}
body.tv .state-dropdown-trigger{display:block!important;position:absolute;inset:0;z-index:2;width:100%;height:100%;min-height:0!important;border:0!important;background:transparent!important;border-radius:inherit;box-shadow:none;padding:0!important}
.state-options{position:fixed;z-index:1000;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bccbb4 transparent;padding:6px;border:1px solid #d9e3d4;border-radius:14px;background:#fff;box-shadow:0 12px 32px #183b2820;max-height:320px}
.state-options[hidden]{display:none}
.state-options::-webkit-scrollbar{width:6px}
.state-options::-webkit-scrollbar-track{background:transparent;margin:8px}
.state-options::-webkit-scrollbar-thumb{background:#bccbb4;border-radius:8px;border:1px solid #fff}
.state-options::-webkit-scrollbar-thumb:hover{background:#91a686}
body.tv .state-options button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:42px;padding:10px 12px;border:0;border-radius:8px;background:transparent;text-align:left;font-size:14px;font-weight:500;color:#29433d;box-shadow:none}
body.tv .state-options button:hover,body.tv .state-options button:focus-visible{background:#f0f5ed;outline:2px solid #719473;outline-offset:-2px}
body.tv .state-options button[aria-selected="true"]{background:#e9f1e3;color:#315e38;font-weight:700}
.state-check{opacity:0;color:#527554}
body.tv .state-options button[aria-selected="true"] .state-check{opacity:1}
body.dark .state-options{background:#151b24;border-color:#303b49;box-shadow:0 12px 32px #0005;scrollbar-color:#4a586a transparent}
body.dark .state-options::-webkit-scrollbar-thumb{background:#4a586a;border-color:#151b24}
body.dark.tv .state-options button{color:#e5edf7}
body.dark.tv .state-options button:hover,body.dark.tv .state-options button:focus-visible{background:#202b3a;outline-color:#60a5fa}
body.dark.tv .state-options button[aria-selected="true"]{background:#20324a;color:#a7ceff}
body.dark .state-check{color:#87bcff}

/* Keep TV totalization close to each office title. */
body.tv .race-heading{min-height:0}
body.tv .race-heading h2{min-height:0}
body.tv .race-tools{margin-top:10px}

/* Render the selected state directly inside the custom dropdown button. */
body.tv .region-heading,body.tv .region-controls{display:none!important}
body.tv .state-dropdown-trigger{display:flex!important;align-items:center;gap:12px;padding:0 12px!important;text-align:left;color:inherit;opacity:1}
.state-trigger-label{flex:none;font-size:14px;font-weight:400;color:#748176}
.state-trigger-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600}
.state-trigger-arrow{flex:none;color:#748176}
body.dark.tv .state-trigger-label,body.dark.tv .state-trigger-arrow{color:#9ca3af}
body.dark.tv .state-trigger-value{color:#edf3fb}

body.tv .state-strip .region-panel{width:296px!important;max-width:100%;padding:0!important}
body.tv .state-dropdown-trigger{position:relative;inset:auto;min-width:0}
body.tv .state-trigger-label,body.tv .state-trigger-value{line-height:20px}

/* Keep candidate identity within the five TV columns with larger readable type. */
body.tv .tv-five-columns .candidate-identity{min-width:0;width:100%;flex:none;gap:10px}
body.tv .tv-five-columns .candidate-bio{min-width:0;max-width:100%;flex:1 1 0;overflow:hidden;gap:4px 5px}
body.tv .tv-five-columns .candidate-bio h3{display:block;width:100%;min-width:0;max-width:100%;font-size:clamp(18px,1.35vw,28px);line-height:1.15;margin:0 0 4px}
body.tv .tv-five-columns .cand-name{width:100%;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:normal;-webkit-line-clamp:3}
body.tv .tv-five-columns .candidate-number,body.tv .tv-five-columns .candidate-party{font-size:clamp(14px,1.05vw,21px);line-height:1.2;max-width:100%;overflow-wrap:anywhere}
body.tv .tv-five-columns .candidate-party{min-width:0}
body.tv .tv-five-columns .badge-status{margin:4px 0 0;max-width:100%;white-space:normal}
@media(max-height:650px){body.tv .tv-five-columns .candidate-bio h3{font-size:17px}body.tv .tv-five-columns .candidate-number,body.tv .tv-five-columns .candidate-party{font-size:13px}body.tv .tv-five-columns .candidate-card{gap:6px}}

/* Normal cards: readable identity with natural wrapping instead of clipping. */
body:not(.tv) .candidate-identity{min-width:0;align-items:flex-start}
body:not(.tv) .candidate-bio{flex:1 1 0;min-width:0;max-width:100%;padding-top:4px}
body:not(.tv) .candidate-bio h3{font-size:16px;line-height:1.35;margin:6px 0;min-width:0;max-width:100%;overflow-wrap:anywhere}
body:not(.tv) .cand-name{display:block;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
body:not(.tv) .candidate-number{font-size:13px;line-height:1.3}
body:not(.tv) .candidate-party{display:block;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
body:not(.tv) .badge-status{margin:4px 0 0;white-space:normal;max-width:100%}
/* Small TV viewports keep all offices available without squeezing five columns. */
@media(max-width:1100px),(max-height:550px){
body.tv{height:auto!important;overflow-y:auto!important}
body.tv main{height:auto!important;min-height:100dvh;padding:12px!important}
body.tv .grid{flex:none!important;overflow:visible!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:auto!important;grid-auto-rows:auto!important}
body.tv .race-section{height:auto;overflow:visible}
body.tv .candidates{flex:none!important;grid-template-rows:none!important;grid-auto-rows:auto!important;overflow:visible!important}
body.tv .tv-five-columns .candidate-card{min-height:150px;height:auto}
body.tv .tv-five-columns .candidate-bio h3{font-size:20px}
body.tv .tv-five-columns .candidate-number,body.tv .tv-five-columns .candidate-party{font-size:15px}
body.tv .tv-five-columns .cand-name{display:block;-webkit-line-clamp:unset;overflow:visible}
body.tv .toolbar>.actions{flex-wrap:wrap!important}
}
@media(max-width:600px){body.tv .grid{grid-template-columns:minmax(0,1fr)!important}body.tv .toolbar>.actions{width:100%}body.tv .tv-five-columns .candidate-card{min-height:140px}}

/* Toggle TV columns without removing the saved races. */
body.tv .cargo-nav{display:flex!important;flex:none!important;flex-wrap:wrap;gap:6px!important}
body.tv .cargo-nav button{min-height:32px;font-size:12px;padding:5px 12px}
body.tv .cargo-nav button[aria-pressed=false]{opacity:.6;text-decoration:line-through}
body.tv .cargo-nav button[aria-pressed=true]{opacity:1}

