:root{color-scheme:dark;--bg:#0e1526;--sidebar:#0b111f;--card:#121d33;--line:#24314b;--text:#e5ecfa;--muted:#8ba2c8;--cyan:#46d3e7;--blue:#4b86ff;--gold:#e4b857;--green:#2ddaa0}*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--cyan);text-decoration:none}button,input,select{font:inherit}button,a,select,input{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:22px;margin:2px 0}h2{font-size:28px;letter-spacing:-.6px;margin:4px 0}h3{font-size:18px;margin-bottom:4px}p{color:var(--muted)}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;background:var(--sidebar);border-right:1px solid var(--line);padding:26px 16px;display:flex;flex-direction:column;z-index:3}.brand{font-size:19px;font-weight:750;color:var(--text);display:flex;gap:4px;align-items:center}.brand-mark{color:var(--cyan);font-size:29px;margin-right:8px}.gold{color:var(--gold)}.side-caption{font-size:12px;letter-spacing:2px;color:var(--muted);margin:34px 12px 14px}nav{display:grid;gap:6px}nav button{border:0;border-radius:12px;background:none;color:var(--muted);padding:14px;text-align:left;display:flex;align-items:center;gap:12px;font-size:15px}nav button span{color:var(--cyan);font-size:19px}nav button.active,nav button:hover{background:#152a3c;color:white}#favCount{margin-left:auto;border-radius:20px;font-size:12px;background:#263553;padding:1px 8px}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:20px 10px;display:grid;gap:8px;font-size:14px}.sidebar-bottom span,.sidebar-bottom small{color:var(--muted);font-size:12px}.workspace{margin-left:260px}header{border-bottom:1px solid var(--line);padding:18px 30px;display:flex;align-items:center;justify-content:space-between;background:#0c1221}.breadcrumb{color:var(--muted);font-size:12px;letter-spacing:1px}.header-actions{display:flex;gap:18px;align-items:center}.button{background:#1d364b;border:1px solid #31556c;border-radius:10px;padding:9px 15px;color:var(--cyan);min-height:44px}.button.secondary{background:transparent;border-color:var(--line);color:var(--muted)}.live{font-size:13px;padding:6px 12px;background:#16312e;color:var(--green);border-radius:20px}.live.error{background:#422734;color:#ff9ba5}main{padding:26px 30px;max-width:1800px;margin:auto}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--cyan)}.update{text-align:right;font-size:13px;color:var(--muted);display:grid;gap:4px}.update strong{color:var(--text);font-weight:500}.filters{display:grid;grid-template-columns:.85fr 1fr 1fr 1.15fr 1.35fr;gap:14px;padding:16px;border-radius:14px;border:1px solid var(--line);background:var(--card);margin-bottom:18px}label{font-size:13px;color:var(--muted)}select,input{display:block;width:100%;background:#0c1529;border:1px solid #2b3c59;border-radius:8px;color:var(--text);padding:10px 12px;margin-top:6px;min-width:0;min-height:44px}select:disabled{opacity:.5}.notice{border-left:3px solid var(--gold);padding:10px 16px;border-radius:6px;background:#332a1d;color:#f1d99a;font-size:14px;margin-bottom:20px}.notice.ok{border-color:var(--cyan);background:#132c3c;color:#9ddeef}.page{display:none}.page.active{display:block}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.kpi{border-radius:16px;border:1px solid var(--line);background:linear-gradient(135deg,#111b30,#15223b);padding:22px}.kpi-label{color:var(--muted);font-size:14px}.kpi-value{font-size:30px;font-weight:750;letter-spacing:-1px;margin:10px 0 6px}.kpi-hint{font-size:12px;color:var(--cyan)}.dashboard-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:20px;margin-bottom:20px}.panel{background:linear-gradient(150deg,#111b2f,#142039);border:1px solid var(--line);border-radius:16px;padding:23px;min-width:0}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-heading p{font-size:13px;margin:3px 0}.panel-heading select{max-width:220px;margin:0}.tag{font-size:12px;white-space:nowrap;border:1px solid #31526c;border-radius:8px;padding:4px 9px;color:var(--cyan)}.text-button{color:var(--cyan);border:0;background:none;font-size:14px;padding:8px;white-space:nowrap}.map{position:relative;width:100%;min-height:280px}.map svg{width:100%;max-height:450px;display:block}.map path{stroke:#0c1526;stroke-width:1.3;cursor:pointer;transition:fill .4s,filter .15s}.map path:hover{filter:brightness(1.5);stroke:var(--cyan);stroke-width:2}.map text{font-size:10px;fill:#fff;pointer-events:none;font-weight:700;paint-order:stroke;stroke:#0c1526;stroke-width:2px}.map-key{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--muted);font-size:12px}.swatch{display:inline-block;width:10px;height:10px;border-radius:3px;background:#33415c}.map-key span{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.candidate{display:grid;grid-template-columns:34px 42px 1fr auto;gap:11px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.avatar{width:40px;height:40px;border:1px solid #2c4b6a;background:#1b304a;border-radius:12px;display:grid;place-items:center;font-size:13px;font-weight:700;color:var(--cyan)}.candidate-name{font-size:15px;font-weight:650}.candidate-sub{font-size:12px;color:var(--muted)}.candidate-votes{text-align:right;font-weight:650;font-size:16px}.candidate-votes small{display:block;font-size:12px;font-weight:400;color:var(--muted)}.bar{height:5px;border-radius:5px;background:#223049;margin:9px 0 3px;overflow:hidden}.bar span{display:block;height:100%;background:var(--cyan);border-radius:5px}.star{font-size:23px;border:0;background:none;color:var(--muted);padding:6px;min-width:38px;min-height:42px}.star.selected{color:var(--gold)}.insight{font-size:14px;color:var(--cyan);padding:14px 0 0}.participation{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}.stat strong{display:block;font-size:22px;margin:6px 0}.stat span{font-size:13px;color:var(--muted)}.stat small{color:var(--cyan);font-size:12px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:14px}th{font-size:12px;font-weight:500;color:var(--muted);padding:12px 8px;border-bottom:1px solid var(--line)}td{padding:13px 8px;border-bottom:1px solid #24314b80;vertical-align:middle}.name-button{color:var(--text);padding:0;border:0;background:none;text-align:left;display:block}.party{font-size:12px;color:var(--muted);display:block}.rank{color:var(--muted)}.badge{display:inline-block;background:#1c2c48;padding:4px 8px;border-radius:6px;font-size:12px;color:var(--muted)}.badge.won{background:#153e35;color:#59ebbc}.badge.runoff{background:#39321a;color:#f0cb71}.pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:18px;font-size:13px;color:var(--muted)}.large-map-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:26px}.state-list{max-height:560px;overflow:auto;display:grid;align-content:start;gap:5px}.state-row{padding:10px;border:1px solid var(--line);border-radius:9px;background:#102039;text-align:left;color:var(--text);display:grid;grid-template-columns:35px 1fr auto;gap:10px;align-items:center;font-size:13px}.state-row small{color:var(--muted);font-size:12px}.footnote{font-size:12px;margin:20px 0 0}.favorite-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.favorite-card{padding:22px;border:1px solid var(--line);background:var(--card);border-radius:16px}.favorite-card h3{margin-top:12px}.favorite-card .big{font-size:30px;font-weight:750;margin:16px 0 2px}.favorite-card .meta{font-size:13px;color:var(--muted)}.favorite-card .head{display:flex;align-items:center;justify-content:space-between}.favorite-card .actions{display:flex;justify-content:space-between;align-items:center;margin-top:16px}.empty-state{padding:40px 22px;color:var(--muted);text-align:center;border:1px dashed #384865;border-radius:14px;grid-column:1/-1}.empty-state strong{display:block;font-size:18px;color:var(--text);margin-bottom:8px}.guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.guide-grid p{font-size:15px}.official-links{display:grid;gap:12px;margin:20px 0}.decision-card{display:flex;gap:16px;justify-content:space-between;border-bottom:1px solid var(--line);padding:15px 0}footer{color:var(--muted);font-size:12px;margin-top:28px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}footer p{width:100%;margin:0}dialog{color:var(--text);background:var(--card);border:1px solid #3b5276;border-radius:18px;max-width:520px;width:calc(100% - 28px);padding:28px}dialog::backdrop{background:#050c18cc}.dialog-close{float:right;color:var(--muted);background:none;border:0;font-size:28px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.detail-grid span{display:block;color:var(--muted);font-size:13px}.detail-grid strong{font-size:20px}.detail-team{font-size:14px;color:var(--muted)}
@media(min-width:1600px){main{padding:32px 36px}.map svg{max-height:480px}.kpi{padding:26px}}@media(max-width:1100px){.sidebar{width:218px}.workspace{margin-left:218px}.brand{font-size:16px}.filters{grid-template-columns:1fr 1fr}.kpis{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.favorite-grid{grid-template-columns:1fr 1fr}.participation{grid-template-columns:repeat(3,1fr)}main{padding:20px}.large-map-grid{grid-template-columns:1fr}}@media(max-width:700px){.sidebar{position:static;width:100%;padding:12px 14px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:19px}.side-caption,.sidebar-bottom{display:none}nav{display:flex;overflow-x:auto;margin-top:10px;gap:4px}nav button{white-space:nowrap;padding:10px 12px;min-height:44px;font-size:13px}nav button span{font-size:16px}.workspace{margin-left:0}header{padding:12px 16px}.header-actions{gap:8px}.live{font-size:11px;padding:5px 8px}.button{padding:8px 10px;font-size:13px}h1{font-size:19px}main{padding:17px 14px}.intro{align-items:flex-start;gap:10px}.intro h2{font-size:21px;max-width:210px}.eyebrow{font-size:10px;letter-spacing:1px}.update{font-size:11px;max-width:150px}#countdown{display:none}.filters{gap:10px;padding:12px}.filters label{font-size:12px}select,input{font-size:14px;padding:9px 8px}.searchlabel{grid-column:1/-1}.municipality{grid-column:1/-1}.kpis{gap:10px}.kpi{padding:15px}.kpi-value{font-size:26px}.kpi-label{font-size:12px}.kpi-hint{font-size:11px}.panel{padding:17px}.panel-heading{gap:8px}.panel-heading select{max-width:155px;font-size:12px}h3{font-size:17px}.panel-heading p{font-size:12px}.participation{grid-template-columns:1fr 1fr;gap:16px}.favorite-grid,.guide-grid{grid-template-columns:1fr}.candidate{grid-template-columns:29px 33px 1fr auto;gap:7px}.avatar{width:33px;height:33px;font-size:11px}.candidate-name{font-size:13px}.candidate-votes{font-size:14px}.candidate-sub{font-size:11px}.star{font-size:21px;min-width:29px;padding:0}td,th{padding:10px 5px}td{font-size:12px}table th:nth-child(2),table td:nth-child(2){display:none}.badge{font-size:10px;white-space:normal}.name-button{font-size:13px}.pagination{gap:12px}footer{font-size:11px}.notice{font-size:13px}.state-list{max-height:390px}.map{min-height:240px}}

.preview-warning{padding:20px 24px;border:1px solid #e4b857;border-left:5px solid #e4b857;background:#292419;border-radius:12px;margin-bottom:22px;color:#f2d78e}.preview-warning p{margin:10px 0 0;line-height:1.6;color:#e8e0cf}.preview-tag,.preview-label{color:#e4b857}.preview-label{font-size:12px;font-weight:700}.preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.preview-card{background:#101a2e;border:1px solid #2a3852;border-radius:12px;padding:20px;min-width:0}.preview-card .head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.preview-card h3{margin:18px 0;font-size:18px}.preview-vote{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #2a3852;font-size:16px}.preview-vote small{display:block;font-size:12px;color:#9baac1;margin-top:5px}.preview-vote strong{text-align:right;font-size:22px}.preview-card a{font-size:14px;line-height:1.6;overflow-wrap:anywhere;color:#46d3e7}.preview-tools{display:flex;gap:16px;margin:20px 0}.preview-tools label{display:flex;flex-direction:column;gap:8px;font-size:14px;flex:1}.preview-tools input{background:#0e1526;border:1px solid #2a3852;border-radius:8px;color:#fff;padding:12px;font:inherit;width:100%}@media(max-width:1100px){.preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.preview-grid{grid-template-columns:1fr}.preview-tools{flex-direction:column}.preview-warning{padding:16px}}

.preview-table tfoot{background:#263048;color:#f2d78e}.preview-table td:nth-child(n+3),.preview-table th:nth-child(n+3){text-align:right;font-variant-numeric:tabular-nums}.preview-table td:first-child{min-width:190px}.preview-table tfoot td,.preview-table tfoot th{padding:18px 16px}

.preview-percent-panel{background:linear-gradient(120deg,#212333,#171f32);border:1px solid #8d7037;border-radius:12px;padding:24px;margin:0 0 24px}.preview-percent-panel h3{margin:12px 0;font-size:20px}.preview-percent-panel p{color:#bbc6d8;line-height:1.6;margin:0 0 22px;font-size:14px}.preview-percent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.preview-percent-card{padding:20px;background:#131c2d;border:1px solid #5d4d30;border-radius:10px;display:flex;flex-direction:column;gap:10px}.preview-percent-card span{font-size:18px}.preview-percent-card strong{color:#f2c963;font-size:clamp(32px,5vw,48px);font-weight:800;font-variant-numeric:tabular-nums;line-height:1.2}.preview-percent-card small{font-size:14px;color:#bbc6d8}@media(max-width:640px){.preview-percent-grid{grid-template-columns:1fr}.preview-percent-panel{padding:18px}}
/* Paleta C aprovada: Dia Solar */
:root{color-scheme:light;--bg:#FFF7EA;--sidebar:#2A1858;--side:#2A1858;--sidetext:#F3EEFF;--sidetext2:#B3A6DA;--sideact:#45308A;--card:#FFFFFF;--card2:#FFF1DC;--line:#F0DDBF;--accent:#D96F00;--accentink:#FFFFFF;--text:#22163D;--text2:#5E5080;--muted:#857A9E;--nodata:#D6CEE0;--upd:#00A85A;--flav:#36B9EE;--lula:#ED2637;--flavtxt:#127FBA;--lulatxt:#C8102E;--gold:var(--accent);--green:var(--upd);--cyan:var(--flavtxt)}
body{font-family:Inter,system-ui,sans-serif;font-feature-settings:"tnum" 1,"cv11" 1;-webkit-font-smoothing:antialiased}h1,h2,h3{line-height:1.2}h2{font-size:28px}h3{font-size:16px;font-weight:800}a{color:var(--flavtxt)}.sidebar{width:252px;overflow-y:auto;padding:24px 16px;color:var(--sidetext)}.brand{color:var(--sidetext);font-size:20px;font-weight:900;gap:0}.brand-mark{display:none}.brand .gold{color:var(--sidetext)}.side-caption{color:var(--sidetext2);letter-spacing:.02em;font-size:11.5px;margin:4px 0 24px}nav button{color:var(--sidetext2);font-size:14px;padding:11px 12px;border-radius:10px;gap:10px}nav button span{color:inherit}nav button.active,nav button:hover{background:var(--sideact);color:var(--sidetext)}nav button.active{box-shadow:inset 3px 0 var(--accent)}#favCount{background:var(--sideact)}.sidebar-bottom{border-color:#594879;color:var(--sidetext2);margin-top:24px}.sidebar-bottom a{color:var(--sidetext)}.sidebar-bottom span,.sidebar-bottom small{color:var(--sidetext2)}.workspace{margin-left:252px}header{background:var(--bg);padding:16px 32px;border:0}header h1{font-size:14px;color:var(--text2);font-weight:600}.breadcrumb{font-size:11px}.button{background:var(--accent);border-color:var(--accent);color:#fff;font-size:13px;font-weight:700}.button.secondary{color:var(--text2)}.live{background:var(--card2);color:var(--accent);border:1px solid var(--line);font-weight:600}.live.error{background:#FFF1F0;color:var(--lulatxt)}main{padding:8px 32px 32px;max-width:1900px}.intro{align-items:flex-start;margin:0 0 20px}.intro h2{margin:6px 0}.intro p{color:var(--text2);font-size:14px;margin:4px 0}.eyebrow{color:var(--muted);letter-spacing:.08em;font-size:11px}.update{font-size:12px}.solar-times{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:11px;color:var(--muted);margin-top:10px}.solar-times b{font-weight:600;color:var(--text)}.filters{background:var(--card);padding:12px;margin-bottom:14px;gap:12px}.filters label{font-size:11px;color:var(--text2)}select,input{background:var(--card);color:var(--text);border-color:var(--line);font-size:13px;margin-top:4px}.notice{background:var(--card2);color:var(--text2);font-size:12px;padding:8px 12px;margin-bottom:12px}.notice.ok{background:#f1f9ff;color:var(--flavtxt)}#turnNotice{background:transparent;padding:0 0 0 10px;border-left-color:var(--line);margin-bottom:10px}.kpis{grid-template-columns:1.2fr 1fr 1fr 1fr 1.3fr;gap:14px;margin-bottom:14px}.kpi{background:var(--card);padding:16px 18px;border-radius:16px;min-width:0}.kpi-label,.lbl{color:var(--text2);text-transform:uppercase;letter-spacing:.07em;font-size:10px;font-weight:650}.kpi-value{font-size:clamp(22px,2vw,30px);letter-spacing:-.03em;font-weight:800;margin:8px 0 4px;line-height:1.1}.kpi-hint{color:var(--muted);font-size:11px}.kpi .bar{height:8px;margin:10px 0 6px}.kpi.projection{border-color:var(--accent)}.kpi-projection{display:flex;gap:16px;margin:8px 0 4px;flex-wrap:wrap}.kpi-projection strong{font-size:24px;font-weight:800}.kpi-projection small{display:block;color:var(--muted);font-size:11px}.tag,.badge{border-color:var(--line);background:var(--card2);color:var(--text2);font-size:11px}.tag-est{padding:2px 5px;border-radius:4px;background:var(--card2);font-size:9px;color:var(--text2);letter-spacing:.04em}.lead-badge{border:1px solid var(--accent);color:var(--accent);padding:1px 5px;border-radius:4px;font-size:9px;font-weight:750;white-space:nowrap;display:inline-block;margin-left:5px}.panel{background:var(--card);padding:20px;border-radius:16px}.panel-heading{margin-bottom:12px}.panel-heading p{color:var(--muted);font-size:11px}.panel-heading select{max-width:125px;min-height:36px;font-size:11px}.dashboard-grid{gap:14px;margin-bottom:14px;grid-template-columns:1.15fr 1fr;align-items:stretch}.result-body{display:flex;align-items:center;gap:20px;height:calc(100% - 100px)}#leaders{flex:1;min-width:0}.candidate{grid-template-columns:27px 1fr auto;gap:10px;padding:16px 0}.candidate .avatar{display:none}.candidate-name{font-size:17px;font-weight:750}.candidate-votes{font-size:28px;font-weight:800;letter-spacing:-.03em}.candidate-votes small{font-size:12px;letter-spacing:0}.candidate .bar{height:4px}.star{color:var(--muted);font-size:22px;min-width:27px}.insight{font-size:12px;color:var(--text2);padding-top:12px}.donut-slot{flex:0 0 160px;max-width:175px}.donut-slot svg{width:100%;display:block}.donut-big{font-size:24px;font-weight:800;fill:var(--text)}.donut-label{font-size:10px;fill:var(--muted)}.bar{background:var(--nodata);border-radius:99px}.bar span{background:var(--accent)}.map-panel .map{min-height:0;height:275px}.map svg{height:100%;max-height:400px}.map path{stroke:var(--card);stroke-width:1.4;stroke-linejoin:round}.map path:hover,.map path:focus,.map path.selected{stroke:var(--text);stroke-width:2.5;filter:none}.map text{stroke:none;font-size:10px;fill:white;text-shadow:0 1px 2px #22163d90}.map-counts{display:flex;gap:14px;flex-wrap:wrap;font-size:11px;color:var(--text2);margin:8px 0}.map-counts b{font-size:20px;font-weight:800;margin-right:4px}.map-counts i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px}.map-key{font-size:10px}.swatch{background:var(--nodata)}.uf-selector{font-size:11px;color:var(--text2);display:block;margin-top:10px}.uf-selector select{min-height:36px;margin-top:4px}.map-detail{margin-top:8px;color:var(--text2);font-size:11px;background:var(--card2);border:1px solid var(--line);padding:8px 10px;border-radius:8px;min-height:36px}.solar-evolution-row{display:grid;grid-template-columns:1.9fr 1fr;gap:14px;margin-bottom:18px}.quick-item{padding:12px 0;border-bottom:1px solid var(--line)}.quick-item:last-child{border:0}.quick-value{display:block;font-size:21px;font-weight:800;margin-top:4px}.quick-hint{font-size:11px;color:var(--muted);margin-top:2px}.trend-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:var(--text2);margin:4px 0 8px}.trend-legend i{display:inline-block;width:18px;border-top:3px solid;margin-right:5px;vertical-align:middle}.trend-legend .dashed{border-top-style:dashed}.chart-foot{font-size:11px;color:var(--muted);margin-top:8px}.evolution-chart{display:block;width:100%;overflow:visible}.evolution-chart text{font-family:inherit}.summary-panel{margin:18px 0}.summary-panel h3{margin-bottom:14px}.participation{gap:12px}.stat strong{font-size:20px}.stat small{color:var(--muted)}.stat span{font-size:11px}.solar-region-section{margin-top:24px}.solar-region-section .panel-heading small{font-size:11px;color:var(--upd)}.solar-regions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.region{padding:14px;background:var(--card);border:1px solid var(--line);border-radius:14px;min-width:0}.region summary{display:flex;justify-content:space-between;align-items:baseline;gap:5px;cursor:pointer;font-size:14px;font-weight:800;list-style:none;margin-bottom:8px}.region summary small{font-size:10px;color:var(--muted);font-weight:500}.uf-row{display:grid;grid-template-columns:1.2fr .8fr .8fr 1fr;align-items:center;gap:5px;border-bottom:1px solid var(--line);padding:7px 0;font-size:11px}.uf-row>div:not(:first-child){text-align:right}.uf-row b{font-size:12px}.uf-row small{display:block;font-size:9px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uf-row .lead{color:var(--accent);font-weight:800}.uf-row .trail{color:var(--muted)}.uf-row .updated,.uf-row .updated small{color:var(--upd)}.uf-row .mini-bar{height:4px;background:var(--nodata);border-radius:10px;overflow:hidden;margin-top:3px}.mini-bar span{display:block;height:100%;background:var(--accent)}.uf-row.head{font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.uf-row.total{border:0;border-top:2px solid var(--line);margin-top:3px;font-weight:700}.exterior-card{max-width:450px;margin-top:12px}.prepare-panel{max-width:700px;padding:30px}.prepare-panel h2{margin-top:22px}.prepare-panel p{color:var(--text2)}.state-row{background:var(--card);color:var(--text);border-color:var(--line)}td{border-color:var(--line)}.empty-state{border-color:var(--line);font-size:13px;padding:32px 20px}.empty-state strong{font-size:16px}.badge.won{background:#E4F6EA;color:#087B3B}.badge.runoff{background:var(--card2);color:var(--accent)}.preview-warning,.preview-percent-panel{background:var(--card2);border-color:var(--accent);color:var(--accent)}.preview-warning p,.preview-percent-panel p{color:var(--text2)}.preview-card,.preview-percent-card{background:var(--card);border-color:var(--line)}.preview-tools input{background:var(--card);border-color:var(--line);color:var(--text)}.preview-vote{border-color:var(--line)}.preview-label,.preview-tag,.preview-percent-card strong{color:var(--accent)}.preview-vote small,.preview-percent-card small{color:var(--muted)}.preview-card a{color:var(--flavtxt)}.preview-table tfoot{background:var(--card2);color:var(--accent)}.menu-toggle,.bottom-nav{display:none}.updated{color:var(--upd)}footer{border-top:1px solid var(--line);padding-top:16px}.guide-grid p{font-size:14px;color:var(--text2)}
@media(min-width:1350px){.sidebar .filters{display:grid;grid-template-columns:1fr;background:none;border:0;border-top:1px solid #594879;border-radius:0;margin:22px 0;padding:14px 0}.sidebar .filters label{color:var(--sidetext2)}.sidebar .filters select,.sidebar .filters input{background:var(--side);color:var(--sidetext);border-color:#594879;font-size:12px}.sidebar .filters .searchlabel{grid-column:auto}.sidebar-bottom{margin-top:auto}}
@media(max-width:1450px) and (min-width:701px){.sidebar{width:218px}.workspace{margin-left:218px}main{padding:8px 22px 26px}header{padding:16px 22px}.brand{font-size:17px}.donut-slot{flex-basis:120px}.candidate-name{font-size:14px}.candidate-votes{font-size:22px}.result-body{gap:10px}.solar-regions{grid-template-columns:repeat(3,minmax(0,1fr))}.kpis{gap:10px}.kpi{padding:14px}.kpi-label{font-size:9px}.kpi-value{font-size:24px}}
@media(max-width:1100px){.dashboard-grid{grid-template-columns:1fr 1fr}.result-body{display:block;height:auto}.donut-slot{width:130px;margin:12px auto}.solar-evolution-row{grid-template-columns:1fr}.quick-panel #solarQuick{display:grid;grid-template-columns:repeat(2,1fr);gap:0 20px}.kpis{grid-template-columns:repeat(3,1fr)}.kpi.projection{grid-column:span 2}}
@media(max-width:700px){body{padding-bottom:76px}.sidebar{position:relative;inset:auto;width:100%;min-height:70px;padding:13px 16px;overflow:visible;z-index:10}.brand{font-size:18px}.side-caption{display:block;margin:1px 0 0;font-size:10px}.sidebar nav{display:none}.menu-toggle{display:block;position:absolute;right:16px;top:13px;width:42px;height:42px;background:transparent;color:var(--sidetext);border:1px solid #66548b;border-radius:10px;font-size:20px}.sidebar.menu-open nav{display:grid;position:absolute;top:70px;left:0;right:0;background:var(--side);padding:12px;margin:0;box-shadow:0 12px 20px #22163d30;max-height:75vh;overflow:auto}.workspace{margin:0}header{padding:12px 16px 0;gap:8px}header .breadcrumb{display:none}header h1{font-size:12px}.header-actions{gap:6px}.header-actions .button{min-height:38px}.live{font-size:10px;padding:5px 8px}main{padding:12px 16px 20px}.intro{margin-bottom:12px;display:block}.intro h2{font-size:21px;max-width:none}.intro p{font-size:13px}.intro .eyebrow{display:none}.update{max-width:none;text-align:left;font-size:10px;margin-top:6px}.solar-times{font-size:10px;gap:4px 10px}.filters{display:flex;overflow-x:auto;border:0;border-radius:0;background:transparent;padding:0 0 9px;margin-bottom:10px;gap:8px}.filters label{flex:0 0 auto;font-size:0;max-width:150px}.filters select{border-radius:99px;max-width:145px;padding:8px 12px;min-height:38px;font-size:12px;margin:0}.filters input{min-height:38px;width:135px;border-radius:99px;font-size:12px;margin:0}.filters .municipality{display:none}#turnNotice{display:none!important}.notice{font-size:11px;margin-bottom:10px}.kpis{grid-template-columns:1fr 1fr;gap:10px}.kpi{padding:14px;border-radius:14px}.kpi:first-child{grid-column:1/-1}.kpi:first-child .kpi-value{font-size:40px}.kpi-value{font-size:22px}.kpi-label{font-size:10px}.kpi-hint{font-size:10px}.kpi.projection{grid-column:auto}.kpi-projection{gap:8px}.kpi-projection strong{font-size:19px}.dashboard-grid{display:flex;flex-direction:column;gap:12px}.panel{padding:16px;border-radius:14px}.panel-heading p{font-size:10px}.panel-heading h3{font-size:15px}.result-body{display:flex;flex-direction:column-reverse;gap:8px}.result-body #leaders{width:100%}.donut-slot{width:118px;margin:0}.candidate{grid-template-columns:24px 1fr auto;gap:8px;padding:14px 0}.candidate-name{font-size:16px}.candidate-votes{font-size:25px}.candidate-votes small{font-size:11px}.candidate .candidate-sub{font-size:11px}.result-panel #gap{font-size:11px}.map-panel .map{height:310px}.map-counts{justify-content:space-between;gap:6px;font-size:10px}.map-counts b{font-size:18px}.solar-evolution-row{display:flex;flex-direction:column;gap:12px}.solar-evolution-row .panel{min-width:0}.solar-regions{display:block}.region{margin-bottom:10px;padding:14px}.region summary{font-size:15px;margin:0;min-height:32px}.region[open] summary{margin-bottom:8px}.region summary:after{content:'⌄';color:var(--muted)}.region[open] summary:after{content:'⌃'}.uf-row{font-size:13px;grid-template-columns:1.2fr 1fr 1fr 1fr;padding:9px 0}.uf-row b{font-size:13px}.uf-row small{font-size:10px}.uf-row.head{font-size:10px}.solar-region-section>.panel-heading{display:block}.solar-region-section>.panel-heading small{font-size:10px}.summary-panel .participation{grid-template-columns:repeat(2,1fr)}.bottom-nav{display:grid;position:fixed;bottom:0;left:0;right:0;grid-template-columns:repeat(5,1fr);background:var(--side);padding:6px 4px max(10px,env(safe-area-inset-bottom));z-index:8;gap:0}.bottom-nav button{display:flex;flex-direction:column;gap:0;align-items:center;justify-content:center;font-size:19px;text-align:center;border-radius:0;min-height:48px;padding:3px;background:transparent;color:var(--sidetext2)}.bottom-nav button span{font-size:10px}.bottom-nav button.active{color:#FFBB63;box-shadow:none;background:transparent}.large-map-grid{display:block}.state-list{margin-top:16px}.favorite-card{padding:18px}.preview-percent-card strong{font-size:35px}.trend-legend{font-size:10px;gap:10px}.chart-foot{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.mobile-metrics{display:none}
@media(max-width:700px){#overview.active{display:flex;flex-direction:column}#overview>.kpis{order:1}#overview>.kpis>.kpi:not(:first-child){display:none}.solar-main{display:contents}.result-panel{order:2}.mobile-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;order:3;margin:12px 0}.solar-evolution-row{display:contents}.solar-evolution-row>.panel:first-child{order:4;margin-bottom:12px}.solar-evolution-row>.quick-panel{display:none}.map-panel{order:5;margin-bottom:12px}.solar-region-section{order:6}.summary-panel{order:7}.mobile-metrics .kpi-hint{overflow-wrap:anywhere}.mobile-metrics .kpi-value{font-size:21px}}

@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin.ttf)}
/* Convite temporário e cadastro WhatsApp */
.signup-modal-open{overflow:hidden}.signup-popup{position:fixed;inset:0;border:1px solid var(--line);background:var(--card);border-radius:24px;padding:34px;max-width:560px;width:calc(100% - 28px);max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 24px 100px #22163d45;color:var(--text)}.signup-popup::backdrop{background:#160b32ad;backdrop-filter:blur(5px)}.signup-popup h2{font-size:36px;line-height:1.1;letter-spacing:-.04em;margin:26px 32px 16px 0;max-width:390px}.signup-popup p{font-size:15px;line-height:1.6;color:var(--text2)}.signup-popup>.tag{display:inline-block;max-width:calc(100% - 40px);font-size:11px}.signup-popup ul{padding-left:18px;color:var(--text2);font-size:13px;line-height:1.6;margin:20px 0}.signup-popup li{margin:8px 0}.signup-close{position:absolute;top:14px;right:14px;width:48px;height:48px;padding:0;background:var(--side);color:#fff;border:2px solid var(--side);border-radius:50%;font-size:34px;line-height:1;display:grid;place-items:center;z-index:1}.signup-close:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.signup-clock-card{border:1px solid var(--line);background:var(--card2);border-radius:14px;padding:15px 18px;margin:18px 0;color:var(--text2)}.signup-clock-card>span{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.signup-clock-card strong{display:block;font-size:32px;line-height:1.3;margin:6px 0;color:var(--accent);font-weight:800;font-variant-numeric:tabular-nums}.signup-clock-card small{font-size:12px;color:var(--text2)}.signup-popup-cta{display:block;width:100%;min-height:50px;font-size:15px;border-radius:12px}.signup-later{display:block;width:100%;min-height:44px;border:0;background:none;color:var(--text2);font-size:12px;margin-top:6px}.signup-popup-note{font-size:10px;line-height:1.5;display:block;text-align:center;color:var(--muted);margin-top:10px}.signup-panel{max-width:780px;padding:28px}.signup-panel h2{margin:20px 0 12px;font-size:32px}.signup-panel>p{font-size:14px;line-height:1.6;color:var(--text2)}.signup-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}.signup-fields label{font-size:13px;font-weight:600;color:var(--text2)}.signup-fields label:last-child{grid-column:1/-1}.signup-fields input,.signup-fields select{font-size:16px;min-height:48px}.signup-fields small{font-size:11px;font-weight:400;display:block;margin-top:5px;color:var(--muted)}.signup-check{display:flex;align-items:flex-start;gap:11px;font-size:12px;color:var(--text2);line-height:1.7;margin:18px 0;cursor:pointer}.signup-check input{width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:2px 0 0;accent-color:var(--accent)}.signup-privacy{font-size:12px;border-top:1px solid var(--line);padding:14px 0;margin-top:16px}.signup-privacy summary{color:var(--flavtxt);cursor:pointer;font-weight:650}.signup-privacy p{font-size:12px;color:var(--text2);line-height:1.7;margin:12px 0 0}.signup-submit{width:100%;font-size:15px;min-height:52px}.signup-status{font-size:13px;color:var(--text2);min-height:18px}.signup-success{padding:20px;border:1px solid var(--line);border-left:4px solid var(--upd);border-radius:14px;background:var(--card2);margin:20px 0}.signup-success p{color:var(--text2);font-size:13px;line-height:1.7}.signup-wa{display:inline-flex;align-items:center;justify-content:center;min-height:50px;background:var(--side);border-color:var(--side);color:white;text-align:center}.signup-preparation{font-size:11px!important;color:var(--muted)!important;margin-top:16px}[hidden]{display:none!important}
@media(max-width:700px){.signup-popup{padding:26px 22px;border-radius:20px}.signup-popup h2{font-size:31px;margin-top:24px}.signup-popup p{font-size:14px}.signup-popup ul{font-size:12px}.signup-clock-card strong{font-size:28px}.signup-close{width:46px;height:46px;top:12px;right:12px}.signup-panel{padding:20px}.signup-panel h2{font-size:28px}.signup-fields{grid-template-columns:1fr}.signup-fields label:last-child{grid-column:auto}.signup-submit{font-size:14px}.signup-popup-note{font-size:10px}}

/* Paleta I aprovada: Noite & Lima (v10) */
:root{color-scheme:dark;--bg:#0D1533;--sidebar:#090F26;--side:#090F26;--sidetext:#F0F4FF;--sidetext2:#97A5D6;--sideact:#1B2760;--card:#141F47;--card2:#1C2A5A;--line:#2B3A72;--accent:#C8F23C;--accentink:#1A2600;--text:#F0F4FF;--text2:#B3BEEA;--muted:#929FCF;--nodata:#3E4A82;--upd:#FF8BE0;--flav:#36B9EE;--lula:#ED2637;--flavtxt:#5CCBF5;--lulatxt:#FF6B78;--gold:var(--accent);--green:var(--upd);--cyan:var(--flavtxt)}
.sidebar{border-right:1px solid var(--line)}
.sidebar-bottom{border-color:var(--line)}
.button{color:var(--accentink)}
.live.error{background:#3A1630;color:var(--lulatxt)}
.notice.ok{background:#12325A;color:var(--flavtxt)}
.map text{text-shadow:0 1px 2px #050A1Fcc}
.badge.won{background:#1E3A16;color:var(--accent)}
.signup-popup{box-shadow:0 24px 100px #00000080}
.signup-popup::backdrop{background:#050A1Fb8}
.signup-close{background:var(--card2);border-color:var(--line);color:var(--text)}
.signup-popup-cta{color:var(--accentink)}
.menu-toggle{border-color:var(--line)!important}.bottom-nav button.active{color:var(--accent)!important}
.map path{stroke-width:1.1;stroke-linejoin:round;stroke-linecap:round}

/* Menu WhatsApp em destaque (verde WhatsApp) */
nav button.nav-wa{background:#25D366;color:#062B17;font-weight:800;margin:6px 0;white-space:nowrap}
nav button.nav-wa span{color:#062B17}
nav button.nav-wa:hover{background:#3BE07A;color:#062B17}
nav button.nav-wa.active{background:#25D366;color:#062B17;box-shadow:inset 0 0 0 2px #F0F4FF}

/* v10 · Exterior 2º turno, Análise do 2º turno e faixa de projeção */
.xo{display:grid;gap:14px}
.xo-warn{border:1.5px dashed var(--text2);border-radius:16px;padding:16px 18px;display:flex;gap:14px;align-items:flex-start;background:repeating-linear-gradient(135deg,transparent 0 14px,#ffffff06 14px 28px)}
.xo-warn .ic{font-size:22px;line-height:1}
.xo-warn b{display:block;font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.xo-warn p{margin:0;color:var(--text2);font-size:13.5px;line-height:1.5}
.xo-tag{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;border:1px dashed var(--text2);color:var(--text2);border-radius:6px;padding:3px 7px}
.xo-tag.ai{border-style:solid;border-color:#8E7CFF;color:#BFB4FF}
.xo-status{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 16px;font-size:12.5px;color:var(--text2)}
.xo-status b{color:var(--text)}
.xo-dot{width:9px;height:9px;border-radius:50%;background:#25D366;box-shadow:0 0 0 4px #25D36633;display:inline-block;margin-right:6px}
.xo-kpis{display:grid;grid-template-columns:repeat(4,1fr) 1.6fr;gap:12px}
.xo-k{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.xo-k small{display:block;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text2)}
.xo-k strong{display:block;font-size:26px;font-weight:800;margin-top:6px;letter-spacing:-.01em}
.xo-k span{font-size:11.5px;color:var(--muted)}
.xo-split{height:12px;border-radius:99px;overflow:hidden;display:flex;margin:10px 0 6px}
.xo-split i{display:block;height:100%}
.xo-grid{display:grid;grid-template-columns:1.9fr 1fr;gap:14px;align-items:start}
.xo-panel{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px}
.xo-panel h3{margin:0 0 2px;font-size:16px}
.xo-panel>p{margin:0 0 12px;color:var(--text2);font-size:12.5px}
.xo-t{width:100%;border-collapse:collapse;font-size:13px}
.xo-t th{font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);text-align:right;padding:8px 8px;border-bottom:1px solid var(--line);font-weight:700}
.xo-t th:first-child,.xo-t td:first-child{text-align:left}
.xo-t td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:right;vertical-align:middle}
.xo-t td.pl{font-weight:600}
.xo-t td .loc{font-weight:700;color:var(--text)} .xo-t td .sub{display:block;font-size:11px;color:var(--muted);font-weight:500}
.xo-t .lead{color:var(--accent);font-weight:800}.xo-t .trail{color:var(--muted)}
.xo-src{text-align:left!important;font-size:11.5px;color:var(--text2)}
.xo-src a{color:var(--flavtxt);font-weight:700}
.xo-conf{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.05em;border-radius:5px;padding:2px 6px;margin-top:3px}
.xo-conf.c2{background:#1E3A16;color:var(--accent)} .xo-conf.c1{background:#2A2F5E;color:#BFB4FF} .xo-conf.bu{background:#13314A;color:var(--flavtxt)}
.xo-new{color:var(--upd);font-weight:800}
.xo-steps{counter-reset:s;display:grid;gap:10px;margin:8px 0 0;padding:0;list-style:none}
.xo-steps li{counter-increment:s;display:grid;grid-template-columns:28px 1fr;gap:10px;font-size:12.5px;color:var(--text2);line-height:1.45}
.xo-steps li:before{content:counter(s);width:24px;height:24px;border-radius:50%;background:var(--card2);border:1px solid var(--line);color:var(--text);display:grid;place-items:center;font-weight:800;font-size:12px}
.xo-steps b{color:var(--text)}
.xo-foot{font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.xo-foot a{color:var(--flavtxt);font-weight:700}
.xo-end{border:1px solid var(--line);background:var(--card2);border-radius:12px;padding:12px 14px;font-size:12.5px;color:var(--text2);margin-top:12px}
.xo-end b{color:var(--text)}
@media(max-width:700px){.xo-kpis{grid-template-columns:1fr 1fr}.xo-kpis .xo-k:last-child{grid-column:1/-1}.xo-grid{grid-template-columns:1fr}
.xo-t thead{display:none}.xo-t,.xo-t tbody,.xo-t tr,.xo-t td{display:block;width:100%}
.xo-t tr{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:10px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px 10px;align-items:end}
.xo-t td{border:0;padding:0;text-align:left!important;display:block!important}
.xo-t td:nth-child(1){grid-column:1/-1}
.xo-t td:nth-child(2),.xo-t td:nth-child(3){font-size:17px}
.xo-t td:nth-child(2):before{content:'Lula';display:block;color:var(--muted);font-size:10.5px;font-weight:600}
.xo-t td:nth-child(3):before{content:'Flávio';display:block;color:var(--muted);font-size:10.5px;font-weight:600}
.xo-t td.pl{font-size:11.5px;color:var(--text2);font-weight:600;text-align:right!important}
.xo-t td.xo-src{grid-column:1/-1;margin-top:2px}}
.an{display:grid;gap:14px}
.an-intro{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.an-sub{font-size:12.5px;color:var(--text2)}
.an-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.ak{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.ak small{display:block;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text2)}
.ak strong{display:block;font-size:24px;font-weight:800;margin:6px 0 4px}
.ak span{font-size:11.5px;color:var(--muted);line-height:1.45}.ak span b{color:var(--text)}
.ak.open{border-color:var(--upd)}.ak.open strong{color:var(--upd)}.ak.ok{border-color:var(--accent)}.ak.ok strong{color:var(--accent)}
.an-grid{display:grid;grid-template-columns:1fr 1fr 1.05fr;gap:14px;align-items:start}
.an-col{display:grid;gap:14px}
.dvlist{display:grid;gap:3px}
.dv{display:grid;grid-template-columns:28px 1fr 74px;gap:8px;align-items:center;font-size:11.5px}
.dv b{font-weight:800}.dv span{text-align:right;font-weight:700}
.dvbar{position:relative;height:12px}.dvbar i{position:absolute;top:0;height:100%;border-radius:3px}
.dvbar em{position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:var(--muted)}
.an-note{margin-top:10px;font-size:11.5px;color:var(--text2);background:var(--card2);border-radius:9px;padding:8px 10px;line-height:1.5}
.vf{margin-bottom:12px}.vfh{display:flex;justify-content:space-between;font-size:13px}.vfh span{font-weight:800}
.vfbar{height:12px;border-radius:6px;overflow:hidden;display:flex;margin:5px 0 4px;min-width:8%}.vfbar i{display:block;height:100%}
.vf small{font-size:11px;color:var(--muted)}
.dp{display:grid;grid-template-columns:1.3fr 1fr .9fr;gap:8px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}
.dp b{display:block;font-weight:800}.dp span{font-size:11px;color:var(--muted)}
.dpm strong{display:block;color:var(--accent);font-size:15px}.dpm small{font-size:11px;color:var(--text2)}
.dpa{text-align:right;font-size:12px;color:var(--text2)}.dpa i{display:block;height:4px;border-radius:9px;background:var(--nodata);margin-top:4px;overflow:hidden}.dpa em{display:block;height:100%;background:var(--accent)}
@media(max-width:700px){.an-kpis{grid-template-columns:1fr 1fr}.an-grid{grid-template-columns:1fr}.ak strong{font-size:20px}}

:root{--amber:#FFB547}
/* Gráfico: faixa de projeção */
.band-swatch{display:inline-block;width:22px;height:10px;border-radius:3px;background:linear-gradient(90deg,#36B9EE40,#ED263740);border:1px solid #ffffff30;margin-right:6px;vertical-align:-1px}
.band-note{margin:6px 0 2px;font-size:12px;font-weight:700;border-radius:9px;padding:7px 10px;background:#1E3A16;color:var(--accent);display:inline-block}
.band-note.cross{background:#3A1630;color:var(--upd)}
/* Menu: novos itens */
nav .nav-new{font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.06em;background:var(--accent);color:var(--accentink);border-radius:5px;padding:1px 5px;margin-left:6px;vertical-align:1px}
nav .nav-stack{display:flex;flex-direction:column;align-items:flex-start;gap:3px;color:inherit}
nav .nav-xo{display:inline-block;font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border:1px dashed currentColor;border-radius:5px;padding:1px 5px;opacity:.85}
/* Exterior 2º turno */
.xo-dot.on{background:#25D366;box-shadow:0 0 0 4px #25D36633}.xo-dot.warn{background:var(--amber);box-shadow:0 0 0 4px #FFB54733}.xo-dot.off{background:var(--muted);box-shadow:none}
.xo-panel{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px}
.xo-panel h3{margin:0 0 2px;font-size:16px}.xo-panel>p{margin:0 0 12px;color:var(--text2);font-size:12.5px;line-height:1.45}
.xo-foot .text-button,.xo-end .text-button{color:var(--flavtxt);font-weight:700;background:none;border:0;padding:0;cursor:pointer}
.xo-end .text-button{display:block;margin-top:6px}
/* Análise: virada matemática */
.an-vir{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:start}
.an-ic{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:24px;font-weight:900}
.an-vir.open{border-color:var(--amber)}.an-vir.open strong{color:var(--amber)}.an-vir.open .an-ic{color:var(--amber);background:#FFB5471f;box-shadow:inset 0 0 0 2px var(--amber)}
.an-vir.lock{border-color:var(--accent)}.an-vir.lock strong{color:var(--accent)}.an-vir.lock .an-ic{color:var(--accent);background:#C8F23C1f;box-shadow:inset 0 0 0 2px var(--accent)}
.an-badge{display:inline-block;margin-top:8px;font-style:normal;font-size:10.5px;font-weight:800;border:1px dashed var(--text2);color:var(--text2);border-radius:6px;padding:3px 7px}

nav .nav-stack{font-size:inherit;font-weight:inherit;line-height:1.25}
.an-vir strong{font-size:22px}
nav button span.nav-stack{font-size:14px}
