﻿:root{
  --navy:#1f3f79;--red:#CC0000;--gold:#F5A623;
  --bg:#EEF1F9;--surface:#fff;--surface2:#F5F7FC;--border:#DDE2F0;--border-l:#ECF0F8;
  --txt:#0D1E42;--txt2:#5C6E94;--txt3:#9AA5BE;
  --green:#16A34A;--green-bg:#DCFCE7;--red-bg:#FEE2E2;--gold-bg:#FEF9EC;
  --side-w:248px;--sh:0 1px 4px rgba(27,53,117,.08),0 4px 16px rgba(27,53,117,.06);--sh-sm:0 1px 3px rgba(27,53,117,.08);
  --font-table:'IBM Plex Sans',sans-serif;--font-num:'IBM Plex Mono',monospace;
  --row-even:var(--surface2);--row-hover:#E4EDFB;
  --brand:#1f3f79;--side-bg:#1f3f79;
  --tint-blue:#EEF4FF;--tint-green:#F0FDF4;--tint-red:#FEF2F2;--tint-orange:#FFF7ED;--tint-amber:#FEF3C7;
  --ok-txt:#15803D;--no-txt:#991B1B;--orange-txt:#C2410C;--warn-txt:#7A5200;--info-txt:#1E3A8A;
  --bd-green:#BBF7D0;--bd-red:#FECACA;--bd-orange:#FED7AA;--bd-amber:#F5D97A;--bd-blue:#BFDBFE;
  color-scheme:light;
}
/* Tema escuro: segue o sistema, ou a escolha do botão (data-theme) */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0B1220;--surface:#131C2E;--surface2:#1A2439;--border:#28344D;--border-l:#1F2A41;
    --txt:#E6ECF7;--txt2:#A6B3CD;--txt3:#6F7E9C;--navy:#9DB8F2;--brand:#24488C;--side-bg:#101F3D;--red:#F26B6B;
    --green-bg:rgba(34,197,94,.16);--red-bg:rgba(239,68,68,.16);--gold-bg:rgba(245,166,35,.13);
    --tint-blue:rgba(99,142,230,.13);--tint-green:rgba(34,197,94,.12);--tint-red:rgba(239,68,68,.12);--tint-orange:rgba(249,115,22,.13);--tint-amber:rgba(234,179,8,.13);
    --ok-txt:#4ADE80;--no-txt:#F87171;--orange-txt:#FB923C;--warn-txt:#FACC15;--info-txt:#93C5FD;
    --bd-green:rgba(74,222,128,.32);--bd-red:rgba(248,113,113,.32);--bd-orange:rgba(251,146,60,.32);--bd-amber:rgba(250,204,21,.3);--bd-blue:rgba(147,197,253,.3);
    --row-hover:#22304B;
    --sh:0 1px 4px rgba(0,0,0,.35),0 4px 16px rgba(0,0,0,.25);--sh-sm:0 1px 3px rgba(0,0,0,.35);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0B1220;--surface:#131C2E;--surface2:#1A2439;--border:#28344D;--border-l:#1F2A41;
  --txt:#E6ECF7;--txt2:#A6B3CD;--txt3:#6F7E9C;--navy:#9DB8F2;--brand:#24488C;--side-bg:#101F3D;--red:#F26B6B;
  --green-bg:rgba(34,197,94,.16);--red-bg:rgba(239,68,68,.16);--gold-bg:rgba(245,166,35,.13);
  --tint-blue:rgba(99,142,230,.13);--tint-green:rgba(34,197,94,.12);--tint-red:rgba(239,68,68,.12);--tint-orange:rgba(249,115,22,.13);--tint-amber:rgba(234,179,8,.13);
  --ok-txt:#4ADE80;--no-txt:#F87171;--orange-txt:#FB923C;--warn-txt:#FACC15;--info-txt:#93C5FD;
  --bd-green:rgba(74,222,128,.32);--bd-red:rgba(248,113,113,.32);--bd-orange:rgba(251,146,60,.32);--bd-amber:rgba(250,204,21,.3);--bd-blue:rgba(147,197,253,.3);
  --row-hover:#22304B;
  --sh:0 1px 4px rgba(0,0,0,.35),0 4px 16px rgba(0,0,0,.25);--sh-sm:0 1px 3px rgba(0,0,0,.35);
  color-scheme:dark;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--txt);display:flex;min-height:100vh;font-size:14px;-webkit-font-smoothing:antialiased}

/* SIDEBAR */
.sidebar{width:var(--side-w);min-height:100vh;background:var(--side-bg);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;overflow-y:auto;z-index:100;transition:transform .25s}
.brand{padding:18px 16px 14px;border-bottom:1px solid rgba(255,255,255,.1)}
.brand-sub{font-size:10px;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:1px;margin-top:7px;line-height:1.5}
.nav{flex:1;padding:6px 0 16px}
.ng{margin-bottom:2px}
.nl{font-size:9px;font-weight:700;color:rgba(255,255,255,.3);text-transform:uppercase;letter-spacing:1.6px;padding:12px 16px 4px}
.ni{display:flex;align-items:center;gap:8px;padding:8px 16px;cursor:pointer;color:rgba(255,255,255,.6);border-left:3px solid transparent;transition:all .15s;font-size:13px;font-weight:500}
.ni:hover{background:rgba(255,255,255,.07);color:#fff}
.ni.active{background:rgba(255,255,255,.12);color:#fff;border-left-color:var(--gold)}
.ni i{width:14px;text-align:center;font-size:12px;flex-shrink:0}
.ni .yr{font-size:10px;font-weight:800;background:rgba(255,255,255,.12);border-radius:4px;padding:1px 6px;margin-left:auto;color:rgba(255,255,255,.7)}
.sidebar-footer{padding:12px 16px;border-top:1px solid rgba(255,255,255,.08);font-size:11px;color:rgba(255,255,255,.3);line-height:1.6}
.hamburger{display:none;position:fixed;top:12px;left:12px;z-index:200;background:var(--brand);border:none;color:#fff;width:38px;height:38px;border-radius:9px;cursor:pointer;font-size:16px;align-items:center;justify-content:center}
.ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:90}

/* MAIN */
.main{min-width:0;margin-left:var(--side-w);flex:1;display:flex;flex-direction:column;min-height:100vh}
.topbar{height:52px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 20px;gap:10px;position:sticky;top:0;z-index:50;box-shadow:var(--sh-sm)}
.topbar-title{font-size:14px;font-weight:700;flex:1;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tag{border-radius:5px;padding:3px 8px;font-size:11px;font-weight:700;letter-spacing:.4px;white-space:nowrap}
.content{padding:20px;flex:1}

/* FILTER BAR */
.fbar{display:flex;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 14px;box-shadow:var(--sh-sm)}
.fbar label{font-size:11px;color:var(--txt2);font-weight:700;white-space:nowrap}
.ytabs{display:flex;gap:3px;background:var(--surface2);border:1px solid var(--border);border-radius:7px;padding:3px}
.yt{padding:4px 13px;border-radius:5px;cursor:pointer;font-size:12px;font-weight:700;color:var(--txt2);transition:all .15s;white-space:nowrap}
.yt.active{background:var(--brand);color:#fff}
.yt:hover:not(.active){color:var(--navy)}
select.ufs{border:1px solid var(--border);border-radius:7px;background:var(--surface2);font-size:12px;font-weight:600;color:var(--txt2);padding:5px 10px;cursor:pointer;outline:none;font-family:inherit}
select.ufs:focus{border-color:var(--brand)}
select.ufs:disabled{opacity:.5;cursor:default}
.div{width:1px;height:20px;background:var(--border);flex-shrink:0}

/* BUSCA NA TABELA (fbar) */
.fbar-search{display:flex;align-items:center;gap:7px;margin-left:auto;border:1px solid var(--border);border-radius:7px;background:var(--surface2);padding:5px 10px;min-width:180px}
.fbar-search i{color:var(--txt3);font-size:12px}
.fbar-search input{border:none;background:transparent;outline:none;font-family:inherit;font-size:12px;font-weight:600;color:var(--txt);width:100%}
.fbar-search input::placeholder{color:var(--txt3);font-weight:400}
.fbar-search:focus-within{border-color:var(--brand)}

/* TABS */
.tabs{display:flex;margin-bottom:18px;border-bottom:2px solid var(--border);flex-wrap:wrap}
.tab{padding:8px 18px;cursor:pointer;font-size:13px;font-weight:600;color:var(--txt2);border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .15s;white-space:nowrap}
.tab:hover{color:var(--navy)}
.tab.active{color:var(--navy);border-bottom-color:var(--navy)}

/* SECTION HEADER */
.sh{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.st{font-size:14px;font-weight:700;color:var(--navy)}
.sb{font-size:10px;font-weight:700;padding:3px 8px;border-radius:5px;border:1px solid transparent;white-space:nowrap}
.sb-f{background:var(--green-bg);color:var(--ok-txt);border-color:var(--bd-green)}
.sb-g{background:var(--gold-bg);color:var(--warn-txt);border-color:var(--bd-amber)}
.sb-r{background:var(--red-bg);color:var(--red);border-color:var(--bd-red)}
.sb-b{background:var(--tint-blue);color:var(--navy);border-color:var(--bd-blue)}
.btn-pdf{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--surface);color:var(--txt2);font-family:inherit;font-size:12px;font-weight:700;padding:5px 12px;border-radius:7px;cursor:pointer;transition:all .15s;white-space:nowrap}
.btn-pdf:hover{background:var(--brand);color:#fff;border-color:var(--brand)}

/* CANDIDATE LIST */
.cl{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:var(--sh);margin-bottom:20px;overflow-x:auto;font-family:var(--font-table)}
.clh>div,.cr>div{border-right:1px solid var(--border-l)}
.clh>div:last-child,.cr>div:last-child{border-right:none}
.clh{display:grid;grid-template-columns:var(--grid-cols);align-items:center;padding:9px 14px;background:var(--surface2);border-bottom:1px solid var(--border);font-size:10px;font-weight:700;color:var(--txt2);text-transform:uppercase;letter-spacing:.7px}
.cr{display:grid;grid-template-columns:var(--grid-cols);align-items:center;padding:10px 14px;border-bottom:1px solid var(--border-l);transition:background .12s;cursor:pointer}
.cr-nofefc{opacity:.65}
.cr:last-child{border-bottom:none}
.cr:nth-child(even){background:var(--row-even)}
.cr:hover{background:var(--row-hover)}
.r{text-align:right}.c{text-align:center}
.pb{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;font-size:10px;font-weight:800;font-family:var(--font-num)}
.p1{background:linear-gradient(135deg,#FFD700,#F5A623);color:#7A4500}
.p2{background:linear-gradient(135deg,#E0E0E0,#B0B0B0);color:#444}
.p3{background:linear-gradient(135deg,#CD9B6B,#A0673A);color:#fff}
.pn{background:var(--surface2);color:var(--txt2);border:1px solid var(--border)}
.av{width:36px;height:36px;border-radius:50%;background:var(--brand);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}
.av img{width:100%;height:100%;object-fit:cover}
.av.f{background:#9333EA}
.av i{color:rgba(255,255,255,.7);font-size:14px}
.cn{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cs{font-size:11px;color:var(--txt2);margin-top:1px}
.uc{display:inline-block;background:var(--surface2);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-size:11px;font-weight:700;color:var(--txt2);font-family:var(--font-num)}
.cf{font-weight:700;font-size:13px;color:var(--green);font-family:var(--font-num)}
.cg{font-weight:700;font-size:13px;color:var(--navy);font-family:var(--font-num)}
.ch{color:var(--red)!important;font-weight:700;font-size:13px;font-family:var(--font-num)}
.nv{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;font-family:var(--font-num)}
.sel{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;background:var(--green-bg);color:var(--green)}
.snel{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;background:var(--surface2);color:var(--txt2)}
.nodata{padding:40px;text-align:center;color:var(--txt2);font-size:13px}

/* PDF COLUMN MODAL */
.pmo{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:300;align-items:center;justify-content:center}
.pmo.open{display:flex}
.pmb{background:var(--surface);border-radius:14px;box-shadow:0 8px 40px rgba(0,0,0,.2);width:100%;max-width:460px;overflow:hidden}
.pmh{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}
.pmh-t{font-size:15px;font-weight:700;color:var(--navy)}
.pm-body{padding:16px 20px}
.pm-hint{font-size:12px;color:var(--txt2);margin-bottom:12px}
.col-list{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.col-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;cursor:grab;user-select:none;transition:background .12s}
.col-item:active{cursor:grabbing;background:var(--row-hover)}
.col-item.dragging{opacity:.4}
.col-item.drag-over{border-color:var(--brand);background:var(--row-hover)}
.col-item input[type=checkbox]{accent-color:var(--navy);width:15px;height:15px;cursor:pointer;flex-shrink:0}
.col-item .drag-handle{color:var(--txt3);font-size:13px;flex-shrink:0}
.col-item .col-name{font-size:13px;font-weight:600;color:var(--txt);flex:1}
.pm-footer{display:flex;gap:8px;justify-content:flex-end;padding:12px 20px;border-top:1px solid var(--border);background:var(--surface2)}

/* PAGINATION */
.pag{display:flex;align-items:center;gap:6px;justify-content:center;padding:14px 0 4px;flex-wrap:wrap}
.pag-btn{border:1px solid var(--border);background:var(--surface);color:var(--txt2);font-family:inherit;font-size:12px;font-weight:700;padding:5px 11px;border-radius:7px;cursor:pointer;transition:all .15s}
.pag-btn:hover:not(:disabled){background:var(--brand);color:#fff;border-color:var(--brand)}
.pag-btn.active{background:var(--brand);color:#fff;border-color:var(--brand)}
.pag-btn:disabled{opacity:.35;cursor:default}
.pag-info{font-size:12px;color:var(--txt2);padding:0 6px}

/* FILTER PANEL */
.fl-bar{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:11px 14px;margin-bottom:12px;box-shadow:var(--sh-sm)}
.fl-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fl-sep{width:1px;height:20px;background:var(--border);flex-shrink:0;margin:0 2px}
.fl-label{font-size:11px;font-weight:700;color:var(--txt2);white-space:nowrap}
.fl-input{border:1px solid var(--border);border-radius:7px;background:var(--surface2);font-size:12px;font-weight:600;color:var(--txt);padding:5px 10px;outline:none;font-family:inherit;width:96px;transition:border-color .15s}
.fl-input:focus{border-color:var(--brand);background:var(--surface)}
.fl-input::placeholder{color:var(--txt3);font-weight:400}
.fl-clear{border:1px solid var(--border);background:var(--surface2);cursor:pointer;font-size:11px;color:var(--txt2);font-family:inherit;font-weight:700;padding:5px 11px;border-radius:7px;transition:all .15s;white-space:nowrap}
.fl-clear:hover{background:var(--red-bg);color:var(--red);border-color:var(--bd-red)}
.fl-count{margin-left:auto;font-size:12px;color:var(--txt2);font-weight:600;white-space:nowrap}
/* COLUMN TOGGLES */
.col-toggles{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--border-l);margin-top:6px}
.col-toggle{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;cursor:pointer;border:1px solid var(--border);transition:all .15s;user-select:none;white-space:nowrap}
.col-toggle.on{background:var(--brand);color:#fff;border-color:var(--brand)}
.col-toggle.off{background:var(--surface2);color:var(--txt3);border-color:var(--border)}
/* SORTABLE HEADERS */
.cs-col{cursor:pointer;user-select:none;transition:color .12s;white-space:nowrap}
.cs-col:hover{color:var(--navy)}
.cs-col.sa{color:var(--navy)}
.cs-col.sd{color:var(--navy)}
.cs-col.sa::after{content:' ↑';font-size:9px}
.cs-col.sd::after{content:' ↓';font-size:9px}

/* RANK CARDS */
.rg{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px}
.rc{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:var(--sh)}
.rch{padding:11px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}
.ri{width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0}
.rib{background:var(--green-bg);color:var(--green)}
.riw{background:var(--red-bg);color:var(--red)}
.rct{font-size:13px;font-weight:700;color:var(--navy);flex:1}
.rt{width:100%;border-collapse:collapse;font-family:var(--font-table)}
.rt th{font-size:10px;font-weight:700;color:var(--txt2);text-transform:uppercase;letter-spacing:.6px;padding:7px 12px;border-bottom:1px solid var(--border);background:var(--surface2)}
.rt th.r,.rt td.r{text-align:right;font-family:var(--font-num)}
.rt td{padding:8px 12px;border-bottom:1px solid var(--border-l);font-size:13px}
.rt tr:last-child td{border-bottom:none}
.rt tbody tr:nth-child(even) td{background:var(--row-even)}
.rt tr:hover td{background:var(--row-hover)}
.bw{display:inline-block;width:56px;height:4px;background:var(--border);border-radius:2px;vertical-align:middle;overflow:hidden}
.bg{height:100%;border-radius:2px;background:var(--green)}
.br2{height:100%;border-radius:2px;background:var(--red)}

/* DIR TABLE */
.dw{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:var(--sh);margin-bottom:20px;overflow-x:auto}
.dt{width:100%;border-collapse:collapse;min-width:560px;font-family:var(--font-table)}
.dt th{font-size:10px;font-weight:700;color:var(--txt2);text-transform:uppercase;letter-spacing:.6px;padding:9px 12px;border-bottom:1px solid var(--border);background:var(--surface2);white-space:nowrap}
.dt th.r,.dt td.r{text-align:right;font-family:var(--font-num)}
.dt td{padding:9px 12px;border-bottom:1px solid var(--border-l);font-size:13px}
.dt tr:last-child td{border-bottom:none}
.dt tbody tr:nth-child(even) td{background:var(--row-even)}
.dt tr:hover td{background:var(--row-hover)}

/* HOME CHARTS */
.home-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}
.hkpi{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px 16px 14px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--sh-sm);position:relative;overflow:hidden}
.hkpi::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--kpi-a,var(--border))}
.hkpi-i{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px}
.hkpi-v{font-size:22px;font-weight:800;color:var(--navy);line-height:1;letter-spacing:-1px}
.hkpi-l{font-size:11px;color:var(--txt2);line-height:1.5}
.hkpi-t{display:flex;align-items:center;gap:9px}
.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:var(--sh-sm);margin-bottom:16px}
.chart-hd{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}
.chart-title{font-size:13px;font-weight:700;color:var(--navy);flex:1}
.chart-body{padding:14px 16px}
.bar-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.bar-row:last-child{margin-bottom:0}
.bar-label{width:160px;font-size:12px;font-weight:600;color:var(--txt);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}
.bar-uf{width:32px;flex-shrink:0}
.bar-track{flex:1;height:22px;background:var(--surface2);border-radius:6px;overflow:hidden;position:relative}
.bar-fill{height:100%;border-radius:6px;transition:width .5s ease;display:flex;align-items:center;padding-left:8px}
.bar-fill span{font-size:11px;font-weight:700;color:#fff;white-space:nowrap}
.bar-val{width:80px;text-align:right;font-size:12px;font-weight:700;flex-shrink:0}
.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.home-list-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:var(--sh-sm)}
.home-list-hd{padding:11px 14px;font-size:12px;font-weight:700;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border)}
.home-list-hd.g{color:var(--ok-txt)}.home-list-hd.r{color:#DC2626}.home-list-hd.b{color:var(--navy)}.home-list-hd.p{color:#7C3AED}
.hlr{display:flex;align-items:center;gap:8px;padding:8px 14px;transition:background .12s;cursor:pointer}
.hlr:hover{background:var(--surface2)}

/* DESEMPENHO */
.desp-region{margin-bottom:20px}
.desp-region-title{font-size:11px;font-weight:700;color:var(--txt2);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;display:flex;align-items:center;gap:6px}
.desp-bar-row{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.desp-uf{width:28px;flex-shrink:0;font-size:11px;font-weight:800;color:var(--navy)}
.desp-track{flex:1;height:26px;background:var(--surface2);border-radius:6px;overflow:hidden;position:relative}
.desp-fill{height:100%;border-radius:6px;display:flex;align-items:center;padding:0 8px;transition:width .6s ease}
.desp-pct{font-size:11px;font-weight:700;color:#fff;white-space:nowrap}
.desp-meta{width:220px;display:flex;align-items:center;gap:6px;justify-content:flex-end;flex-shrink:0}
.desp-badge{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;white-space:nowrap}
.desp-vot{font-size:11px;color:var(--txt2);white-space:nowrap}
.barreira-ok{background:var(--green-bg);color:var(--ok-txt)}.barreira-no{background:var(--red-bg);color:var(--red)}.barreira-nd{background:var(--surface2);color:var(--txt3);border:1px solid var(--border)}
.info-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:var(--sh-sm);margin-bottom:20px}
.info-card-hd{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,var(--brand),#2a4f9a)}
.info-card-hd-t{font-size:13px;font-weight:700;color:#fff;flex:1}
.info-card-body{padding:16px 20px}
.cb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:14px}
.cb-item{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:12px 14px}
.cb-year{font-size:10px;font-weight:800;color:var(--txt2);text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px}
.cb-rule{font-size:12px;color:var(--txt);line-height:1.6}
.desp-deps{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.dep-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 12px;display:flex;align-items:center;gap:8px;box-shadow:var(--sh-sm)}
.dep-n{background:var(--brand);color:#fff;border-radius:5px;padding:2px 8px;font-size:12px;font-weight:800}
.btn-print-desp{display:inline-flex;align-items:center;gap:8px;background:var(--brand);color:#fff;border:none;border-radius:8px;padding:7px 14px;font-size:12px;font-weight:700;cursor:pointer;margin-left:auto;font-family:inherit;transition:opacity .15s}
.btn-print-desp:hover{opacity:.85}
.btn-print-desp img{height:20px;display:block}
@media print{
  .sidebar,.hamburger,.ov,.topbar,.fbar,.btn-print-desp,.tile-legend,.info-card-hd i,.pag{display:none!important}
  .main{margin-left:0!important}
  .content{padding:8px!important}
  .chart-card{box-shadow:none!important;border:1px solid #ccc!important;break-inside:avoid}
  .desp-print-header{display:flex!important}
  body{font-size:11px}
}
.tile-map{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;max-width:700px;margin:0 auto;padding:10px 0}
.tile-cell{border-radius:6px;padding:5px 3px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:default;transition:transform .12s,box-shadow .12s;min-height:46px;position:relative;border:2px solid transparent}
.tile-cell:hover{transform:scale(1.1);box-shadow:0 4px 14px rgba(0,0,0,.22);z-index:10}
.tile-cell.has-deps{border-color:rgba(255,255,255,.25)}
.tile-uf{font-size:11px;font-weight:800;line-height:1;letter-spacing:.3px}
.tile-deps{font-size:9px;font-weight:800;background:rgba(255,255,255,.22);border-radius:3px;padding:1px 4px;margin-top:3px;line-height:1.2}
.tile-legend{display:flex;align-items:center;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:8px;font-size:11px;color:var(--txt2)}
.tile-legend-item{display:flex;align-items:center;gap:5px}
.tile-swatch{width:16px;height:16px;border-radius:4px;flex-shrink:0}

/* ANÁLISES PLACEHOLDER */
.placeholder{background:var(--surface);border:2px dashed var(--border);border-radius:12px;padding:48px;text-align:center;color:var(--txt2)}
.placeholder i{font-size:40px;color:var(--border);margin-bottom:16px;display:block}
.placeholder h3{font-size:16px;font-weight:700;color:var(--txt);margin-bottom:8px}
.placeholder p{font-size:13px;line-height:1.7}
.mandate-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:20px}
.mc{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;box-shadow:var(--sh-sm)}
.mc-hd{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.mc-uf{width:40px;height:40px;border-radius:10px;background:var(--brand);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#fff;flex-shrink:0}
.mc-name{font-size:14px;font-weight:700;color:var(--navy)}
.mc-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid var(--border-l);font-size:12px}
.mc-row:last-child{border-bottom:none}
.mc-row-lbl{color:var(--txt2)}
.mc-row-val{font-weight:700;color:var(--txt)}

/* MODAL */
.mo{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:500;align-items:flex-end;justify-content:center;padding:0}
.mo.open{display:flex}
@media(min-width:600px){.mo{align-items:center;padding:16px}}
.mb{background:var(--surface);border-radius:20px 20px 0 0;box-shadow:0 -4px 40px rgba(0,0,0,.2);width:100%;max-width:620px;max-height:92vh;overflow-y:auto;animation:mi .25s ease}
@media(min-width:600px){.mb{border-radius:20px;animation:mif .2s ease}}
@keyframes mif{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
@keyframes mi{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
.mh{display:flex;align-items:flex-start;gap:16px;padding:22px 22px 18px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,var(--brand) 0%,#2a4f9a 100%);border-radius:20px 20px 0 0}
@media(min-width:600px){.mh{border-radius:20px 20px 0 0}}
.mph{width:72px;height:72px;border-radius:12px;object-fit:cover;border:2px solid var(--border);flex-shrink:0}
.mpf{width:76px;min-height:76px;border-radius:12px;background:rgba(255,255,255,.15);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.9);font-size:22px;flex-shrink:0;border:2px solid rgba(255,255,255,.25);overflow:hidden}
.mpf.f{background:rgba(147,51,234,.4);border-color:rgba(192,130,252,.4)}
.mn{font-size:17px;font-weight:800;color:#fff;line-height:1.2;letter-spacing:-.3px}
.mm{font-size:12px;color:rgba(255,255,255,.65);margin-top:5px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.mc2{margin-left:auto;background:rgba(255,255,255,.12);border:none;cursor:pointer;color:rgba(255,255,255,.8);font-size:14px;padding:6px 8px;border-radius:8px;flex-shrink:0;transition:background .15s}
.mc2:hover{background:rgba(255,255,255,.22)}
.mbody{padding:20px 22px}
.msec{margin-bottom:20px}
.msec-title{font-size:10px;font-weight:700;color:var(--txt2);text-transform:uppercase;letter-spacing:.8px;margin-bottom:10px;display:flex;align-items:center;gap:6px}
.msec-title i{color:var(--txt3)}
.mg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ms{background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:11px 13px}
.msl{font-size:9px;font-weight:700;color:var(--txt3);text-transform:uppercase;letter-spacing:.6px;margin-bottom:5px}
.msv{font-size:17px;font-weight:800;color:var(--navy);line-height:1}
.msv.g{color:var(--ok-txt)}.msv.r{color:#DC2626}

/* FICHA — cabeçalho/rodapé de impressão (identidade visual) */
.mprint-hd{display:none;align-items:center;gap:14px}
.mprint-hd img{height:34px;display:block}
.mprint-title{font-size:15px;font-weight:800;color:var(--navy)}
.mprint-sub{font-size:10px;color:var(--txt2);margin-top:2px}
.mprint-ft{display:none}

/* PRINT */
@media print {
  @page{size:A4 landscape;margin:10mm 14mm}
  html,body{background:#fff!important;height:auto}
  .sidebar,.hamburger,.ov,.topbar,.content,.pmo{display:none!important}
  .main{margin-left:0!important;min-height:auto!important}
  .mo{position:static!important;display:block!important;background:transparent!important;padding:0!important}
  .mb{max-height:none!important;max-width:none!important;width:100%!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important}
  .mprint-hd{
    display:flex!important;
    -webkit-print-color-adjust:exact;print-color-adjust:exact;
    padding:0 4px 12px;
    margin-bottom:14px;
    border-bottom:3px solid var(--gold);
  }
  .mh{
    border-radius:10px!important;
    -webkit-print-color-adjust:exact;print-color-adjust:exact;
    display:grid!important;
    grid-template-columns:130px 1fr!important;
    gap:20px!important;
    align-items:center!important;
    padding:16px 20px!important;
  }
  .mc2{display:none!important}
  #mphoto .mpf{width:120px!important;min-height:156px!important;border-radius:10px!important;font-size:40px!important}
  #mphoto .mpf img{width:100%!important;height:auto!important;display:block!important;object-fit:cover!important}
  .mn{font-size:20px!important}
  .mm{font-size:12px!important}
  .mbody{
    padding:14px 20px 12px!important;
    display:grid!important;
    grid-template-columns:repeat(3,1fr)!important;
    gap:14px!important;
    align-items:start!important;
  }
  .msec{margin-bottom:0!important;break-inside:avoid}
  .msec:not(:first-child){border-top:none!important;padding-top:0!important}
  .msec-title{
    color:var(--navy)!important;
    border-left:3px solid var(--gold);
    padding-left:7px!important;
    font-size:9px!important;
    margin-bottom:6px!important;
  }
  .mg{grid-template-columns:repeat(2,1fr)!important}
  .ms{padding:8px 10px!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .msv{font-size:14px!important}
  .pux{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .mprint-ft{
    display:block!important;
    margin-top:16px;
    padding-top:8px;
    border-top:1px solid var(--border);
    font-size:9px;
    color:var(--txt3);
    text-align:right;
  }
}

/* MISC */
.page{display:none}.page.active{display:block}
.ip{display:none}.ip.active{display:block}

/* MOBILE */
/* iPad e telas médias: sidebar vira gaveta (☰) para liberar largura para os dados */
@media(max-width:1180px){
  .sidebar{transform:translateX(-100%)}
  .sidebar.open{transform:translateX(0);box-shadow:0 0 40px rgba(0,0,0,.35)}
  .ov.open{display:block}
  .hamburger{display:flex}
  .main{margin-left:0}
  .topbar{padding-left:62px;gap:8px}
}
@media(max-width:768px){
  .topbar img{display:none}
  .topbar .tag{display:none}
  /* Evolução de mandatos: sem as barras, só números */
  .evo-w{min-width:0!important}
  .evo-g{grid-template-columns:1fr 54px 54px 76px!important}
  .evo-g>:nth-child(3),.evo-g>:nth-child(5){display:none}
  .content{padding:10px}
  .clh{display:none}
  /* Lista de candidatos vira cartão: posição · UF · nome · situação / métricas com rótulo */
  .cl{overflow-x:visible}
  .cr{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:11px 12px}
  .cr>div{border-right:none!important;background:transparent!important;min-width:0}
  .cr>.k-rank{order:0;flex:0 0 auto}
  .cr>.k-uf{order:1;flex:0 0 auto}
  .cr>.k-nome{order:2;flex:1 1 calc(100% - 100px)}
  .cr>.k-nome .cn{white-space:normal;line-height:1.25}
  .cr>.k-status{order:6;flex:0 0 auto;align-self:center}
  .cr>.k-status .sel,.cr>.k-status .snel{font-size:10px}
  .cr>.k-municipio{order:4;flex:1 0 100%;font-size:11px;color:var(--txt2);padding-left:36px}
  .cr>.k-municipio::before{content:attr(data-l) ": ";color:var(--txt3)}
  .cr>.k-votos,.cr>.k-fefc,.cr>.k-cfF,.cr>.k-global,.cr>.k-cfT{order:5;flex:1 1 64px;display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 8px;border-radius:7px;background:var(--surface2)!important;font-size:12px;text-align:left}
  .cr:nth-child(even)>.k-votos,.cr:nth-child(even)>.k-fefc,.cr:nth-child(even)>.k-cfF,.cr:nth-child(even)>.k-global,.cr:nth-child(even)>.k-cfT{background:var(--surface)!important}
  .cr>.k-votos::before,.cr>.k-fefc::before,.cr>.k-cfF::before,.cr>.k-global::before,.cr>.k-cfT::before{content:attr(data-l);font-family:'Inter',sans-serif;font-size:9px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--txt3)}
  .cr .nv{font-size:12px}
  .cn{font-size:12px}
  .cs{font-size:10px}
  .home-kpis{grid-template-columns:1fr 1fr}
  .home-grid{grid-template-columns:1fr}
  .rg{grid-template-columns:1fr}
  .mg{grid-template-columns:1fr}
  .fbar{gap:6px}
  .bar-label{width:110px}
  .fl-bar{overflow-x:auto;padding:10px}
  .fl-row{flex-wrap:nowrap;min-width:max-content;gap:6px}
  .fl-input{width:80px}
  .fl-count{display:none}
  .btn-pdf{display:none}
  .dw{overflow-x:auto}
  .sh{flex-wrap:wrap;gap:6px}
}
@media(max-width:1100px){.rg{grid-template-columns:1fr}.home-grid{grid-template-columns:1fr}}
@media(max-width:1300px){.home-kpis{grid-template-columns:repeat(2,1fr)}}

/* DESEMPENHO — layout por categorias */
.dp-verdict{display:grid;grid-template-columns:minmax(240px,1fr) 2fr;gap:0;background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:var(--sh);margin-bottom:16px;--vc:var(--txt3);--vbg:var(--surface2)}
.dp-verdict.ok{--vc:var(--ok-txt);--vbg:var(--tint-green)}
.dp-verdict.no{--vc:var(--red);--vbg:var(--tint-red)}
.dp-verdict-main{background:var(--vbg);border-right:1px solid var(--border);padding:20px 22px;display:flex;flex-direction:column;justify-content:center;gap:6px;position:relative}
.dp-verdict-main::before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--vc)}
.dp-verdict-k{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--txt2)}
.dp-verdict-v{font-size:30px;font-weight:800;color:var(--vc);letter-spacing:-.5px;display:flex;align-items:center;gap:10px;line-height:1.1}
.dp-verdict-v i{font-size:24px}
.dp-verdict-s{font-size:12px;color:var(--txt2);line-height:1.5}
.dp-verdict-crits{display:grid;grid-template-columns:1fr 1fr}
.dp-crit{padding:16px 20px;display:flex;flex-direction:column;gap:12px}
.dp-crit+.dp-crit{border-left:1px solid var(--border)}
.dp-crit-hd{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--navy)}
.dp-crit-hd>i{color:var(--txt3)}
.dp-crit-st{margin-left:auto;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:3px 8px;border-radius:20px;background:var(--surface2);color:var(--txt3);white-space:nowrap}
.dp-crit.ok .dp-crit-st{background:var(--green-bg);color:var(--ok-txt)}
.dp-crit.no .dp-crit-st{background:var(--red-bg);color:var(--red)}
.dp-meter-l{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--txt2);margin-bottom:5px}
.dp-meter-v{white-space:nowrap;font-family:var(--font-num);font-size:11px}
.dp-meter-v strong{color:var(--txt);font-size:12px}
.dp-meter-t{height:8px;background:var(--surface2);border:1px solid var(--border-l);border-radius:5px;position:relative}
.dp-meter-f{height:100%;border-radius:5px;background:var(--txt3)}
.dp-meter.ok .dp-meter-f{background:#16A34A}
.dp-meter.no .dp-meter-f{background:#F87171}
.dp-meter-g{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--txt);border-radius:1px;transform:translateX(-1px)}
.dp-notice{background:var(--gold-bg);border:1px solid var(--bd-amber);border-radius:10px;padding:12px 16px;font-size:13px;color:var(--warn-txt);margin-bottom:16px;display:flex;gap:10px;align-items:flex-start}
.dp-notice i{margin-top:2px}

.dp-overview{display:grid;grid-template-columns:1.45fr 1fr;gap:16px;align-items:stretch;margin-bottom:28px}
.dp-side{display:flex;flex-direction:column;gap:12px;min-width:0;height:0;min-height:100%}
.dp-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dp-kpi{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px;box-shadow:var(--sh-sm)}
.dp-kpi-l{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--txt2)}
.dp-kpi-v{font-size:24px;font-weight:800;color:var(--navy);letter-spacing:-.5px;margin:6px 0 3px;font-family:var(--font-num)}
.dp-kpi-v small{font-size:13px;color:var(--txt3);font-weight:600}
.dp-kpi-s{font-size:11px;color:var(--txt3)}
.dp-side-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--sh-sm);flex:1 1 0;display:flex;flex-direction:column;min-height:180px;overflow:hidden}
.dp-side-hd{padding:12px 16px;border-bottom:1px solid var(--border);font-size:12px;font-weight:700;color:var(--navy);display:flex;gap:8px;align-items:center}
.dp-side-hd i{color:var(--txt3)}
.dp-bancada{padding:6px 8px;overflow:auto;flex:1;min-height:0}
.dp-banc-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:6px;font-size:13px}
.dp-banc-row:nth-child(even){background:var(--surface2)}
.dp-banc-n{font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dp-banc-dots{display:flex;gap:3px}
.dp-banc-dots i{width:9px;height:9px;border-radius:50%;background:var(--brand)}
.dp-banc-c{font-family:var(--font-num);font-weight:700;color:var(--navy);width:22px;text-align:right}

.dp-analises-k{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1.2px;color:var(--txt2);margin-bottom:10px}
.dp-tabs{display:flex;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:5px;box-shadow:var(--sh-sm);margin-bottom:18px;overflow-x:auto;position:sticky;top:60px;z-index:20}
.dp-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;background:transparent;font-family:inherit;font-size:13px;font-weight:700;color:var(--txt2);padding:10px 14px;border-radius:8px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}
.dp-tab i{font-size:12px;opacity:.7}
.dp-tab:hover:not(.active){background:var(--surface2);color:var(--navy)}
.dp-tab.active{background:var(--brand);color:#fff}
.dp-tab.active i{opacity:1}
.dp-analises{min-height:calc(100vh - 80px);scroll-margin-top:60px}
.dp-sec{display:none}
.dp-sec.active{display:block;animation:dpfade .2s ease}
@keyframes dpfade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.dp-sec-hd{display:flex;align-items:flex-start;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.dp-sec-ic{width:42px;height:42px;border-radius:10px;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.dp-sec-tx{flex:1;min-width:240px}
.dp-sec-tx h2{font-size:19px;font-weight:800;color:var(--navy);letter-spacing:-.3px;line-height:1.2}
.dp-sec-tx p{font-size:13px;color:var(--txt2);margin-top:4px;line-height:1.5;max-width:680px}
.dp-sec-chips{display:flex;gap:8px;flex-wrap:wrap}
.dp-chip{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:8px 12px;display:flex;flex-direction:column;gap:2px;min-width:110px;box-shadow:var(--sh-sm)}
.dp-chip span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--txt3)}
.dp-chip strong{font-size:15px;font-weight:800;color:var(--navy);font-family:var(--font-num)}
.dp-regions{padding:18px 20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(440px,1fr));column-gap:32px}
.dp-empty{background:var(--surface);border:1px dashed var(--border);border-radius:12px;padding:32px;text-align:center;color:var(--txt2);font-size:13px}
.dp-empty i{margin-right:8px;color:var(--txt3)}
.dp-inbar{display:flex;align-items:center;gap:8px;min-width:140px}
.dp-inbar div{height:8px;background:#F59E0B;border-radius:4px;flex:0 0 auto;max-width:90px}
.dp-inbar span{font-family:var(--font-num);font-size:12px;color:var(--txt2)}
.dp-ctl-l{font-size:11px;font-weight:700;color:var(--txt2)}
.cb-item.cur{border-color:var(--brand);background:var(--tint-blue);box-shadow:inset 3px 0 0 var(--navy)}
.cb-item.cur .cb-year{color:var(--navy)}
.dp-note{margin-top:14px;background:var(--gold-bg);border:1px solid var(--bd-amber);border-radius:8px;padding:10px 14px;font-size:12px;color:var(--warn-txt);display:flex;gap:8px;line-height:1.5}
.dp-note i{margin-top:2px}
@media(max-width:1100px){
  .dp-overview{grid-template-columns:1fr}
  .dp-side{height:auto}
  .dp-bancada{max-height:320px}
  .dp-verdict{grid-template-columns:1fr}
  .dp-verdict-main{border-right:none;border-bottom:1px solid var(--border)}
}
@media(max-width:700px){
  .dp-verdict-crits{grid-template-columns:1fr}
  .dp-crit+.dp-crit{border-left:none;border-top:1px solid var(--border)}
  .dp-regions{grid-template-columns:1fr}
  .dp-tab{flex:0 0 auto}
  .desp-meta{width:auto}
}
@media print{
  .dp-tabs,.dp-analises-k{display:none!important}
  .dp-sec{display:block!important;margin-bottom:18px;break-inside:avoid-page}
  .dp-verdict,.dp-kpi,.dp-side-card,.dp-chip{box-shadow:none!important}
}

/* ELEIÇÕES 2026 — item destacado no menu */
.ni.ni-live{margin:4px 10px 6px;padding:10px 12px;border-radius:10px;border-left:none;background:linear-gradient(135deg,#CC0000,#9B1111);color:#fff;box-shadow:0 4px 14px rgba(204,0,0,.35)}
.ni.ni-live:hover{background:linear-gradient(135deg,#DD1111,#A81515);color:#fff}
.ni.ni-live.active{outline:2px solid var(--gold);outline-offset:2px;background:linear-gradient(135deg,#CC0000,#9B1111)}
.ni-live-dot{width:9px;height:9px;border-radius:50%;background:#fff;flex-shrink:0;box-shadow:0 0 0 0 rgba(255,255,255,.7);animation:lvpulse 1.6s infinite}
@keyframes lvpulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.7)}70%{box-shadow:0 0 0 7px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
.ni-live-t{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.ni-live-t strong{font-size:13px;font-weight:800}
.ni-live-t small{font-size:10px;opacity:.85;font-weight:500}
.ni-live-tag{margin-left:auto;font-size:9px;font-weight:800;letter-spacing:.5px;background:rgba(255,255,255,.2);border-radius:4px;padding:2px 6px;white-space:nowrap}

/* ELEIÇÕES 2026 — página */
.lv-status{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 16px;box-shadow:var(--sh-sm);margin-bottom:14px}
.lv-badge{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:800;letter-spacing:.6px;padding:6px 11px;border-radius:20px;white-space:nowrap}
.lv-badge.live{background:var(--red-bg);color:var(--no-txt)}
.lv-badge.live i{width:8px;height:8px;border-radius:50%;background:#DC2626;animation:lvpulse2 1.4s infinite}
@keyframes lvpulse2{0%{box-shadow:0 0 0 0 rgba(220,38,38,.6)}70%{box-shadow:0 0 0 7px rgba(220,38,38,0)}100%{box-shadow:0 0 0 0 rgba(220,38,38,0)}}
.lv-badge.sim{background:var(--gold-bg);color:var(--warn-txt);border:1px solid var(--bd-amber)}
.lv-badge.ens{background:var(--tint-blue);color:var(--navy);border:1px solid var(--bd-blue)}
.lv-badge.fin{background:var(--green-bg);color:var(--ok-txt)}
.lv-prog{flex:1;min-width:220px}
.lv-prog-l{display:flex;justify-content:space-between;font-size:11px;color:var(--txt2);margin-bottom:5px}
.lv-prog-l strong{font-family:var(--font-num);color:var(--navy);font-size:13px}
.lv-prog-t{height:8px;background:var(--surface2);border-radius:5px;overflow:hidden}
.lv-prog-t div{height:100%;background:var(--brand);border-radius:5px;transition:width .5s}
.lv-meta{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--txt2);flex-wrap:wrap}
.lv-meta strong{color:var(--txt);font-family:var(--font-num)}
.lv-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--surface2);border-radius:7px;padding:6px 11px;font:inherit;font-size:12px;font-weight:700;color:var(--navy);cursor:pointer}
.lv-btn:hover{background:var(--brand);color:#fff;border-color:var(--brand)}
.lv-ens label{font-weight:700}
/* Controle do simulador: trilha alta e bolinha grande, fácil de pegar (mouse e toque) */
.lv-range{-webkit-appearance:none;appearance:none;width:220px;height:28px;background:transparent;cursor:pointer;touch-action:none;margin:0}
.lv-range::-webkit-slider-runnable-track{height:8px;border-radius:4px;background:linear-gradient(to right,var(--brand) 0 var(--v,50%),var(--border) var(--v,50%) 100%)}
.lv-range::-moz-range-track{height:8px;border-radius:4px;background:var(--border)}
.lv-range::-moz-range-progress{height:8px;border-radius:4px;background:var(--brand)}
.lv-range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-7px;border-radius:50%;background:#fff;border:3px solid var(--brand);box-shadow:0 1px 4px rgba(0,0,0,.3);transition:transform .1s}
.lv-range::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--brand);box-shadow:0 1px 4px rgba(0,0,0,.3)}
.lv-range:active::-webkit-slider-thumb{transform:scale(1.15)}
.lv-range:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:4px}
#lv-ens-v{min-width:38px;text-align:right;font-family:var(--font-num)}
.lv-hint{display:flex;gap:10px;align-items:flex-start;background:var(--tint-blue);border:1px solid var(--bd-blue);color:var(--info-txt);border-radius:10px;padding:10px 14px;font-size:12px;line-height:1.55;margin-bottom:14px}
.lv-hint i{margin-top:2px}
.lv-up{color:var(--ok-txt);font-weight:700}
.lv-dn{color:#CC0000;font-weight:700}
.lv-sub{display:block;font-size:10px;color:var(--txt3);font-weight:500}
td .lv-sub{display:inline}
.lv-t td{vertical-align:middle}
.lv-mini{display:inline-block;width:54px;height:6px;background:var(--surface2);border-radius:3px;overflow:hidden;vertical-align:middle;margin-right:6px}
.lv-mini div{height:100%;background:var(--brand)}
.lv-mini-v{font-size:11px;color:var(--txt2);font-family:var(--font-num)}
.lv-bar{position:relative;height:20px;background:var(--surface2);border-radius:5px;min-width:180px}
.lv-bar-f{height:100%;border-radius:5px;background:var(--txt3)}
.lv-bar.ok .lv-bar-f{background:#16A34A}.lv-bar.warn .lv-bar-f{background:#EAB308}.lv-bar.risk .lv-bar-f{background:#F97316}.lv-bar.no .lv-bar-f{background:#DC2626}
.lv-bar-g{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--txt);transform:translateX(-1px)}
.lv-bar span{position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:11px;font-weight:700;font-family:var(--font-num);color:var(--txt)}
.lv-chip{display:inline-block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;padding:3px 8px;border-radius:20px;white-space:nowrap;background:var(--surface2);color:var(--txt3)}
.lv-chip.ok{background:var(--green-bg);color:var(--ok-txt)}.lv-chip.warn{background:var(--tint-amber);color:var(--warn-txt)}.lv-chip.risk{background:var(--tint-orange);color:var(--orange-txt)}.lv-chip.no{background:var(--red-bg);color:var(--red)}
.lv-foot{font-size:11px;color:var(--txt3);margin-top:10px;line-height:1.5}
.lv-maj{display:flex;align-items:center;gap:10px;padding:8px;border-radius:6px}
.lv-maj:nth-child(even){background:var(--surface2)}
.lv-maj-n{flex:1;min-width:0;display:flex;flex-direction:column}
.lv-maj-n strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lv-maj-n span{font-size:11px;color:var(--txt2)}
.lv-pos{font-size:11px;font-weight:800;font-family:var(--font-num);padding:3px 8px;border-radius:6px;white-space:nowrap}
.lv-pos.ok{background:var(--green-bg);color:var(--ok-txt)}.lv-pos.no{background:var(--surface2);color:var(--txt2)}
.lv-chapa{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.lv-flow{display:flex;align-items:stretch;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.lv-flow-s{flex:1;min-width:150px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:3px;box-shadow:var(--sh-sm)}
.lv-flow-s i{color:var(--navy);font-size:16px;margin-bottom:4px}
.lv-flow-s strong{font-size:13px;color:var(--navy)}
.lv-flow-s span{font-size:11px;color:var(--txt2);line-height:1.4}
.lv-flow-a{align-self:center;color:var(--txt3)}
.dp-verdict.no .dp-verdict-v i.fa-hourglass-half{font-size:22px}
@media(max-width:700px){
  .lv-flow-a{display:none}
  .lv-range{width:150px}
  .lv-status{gap:12px}
}

/* Botão de tema */
.theme-btn{width:34px;height:34px;border-radius:8px;border:1px solid var(--border);background:var(--surface2);color:var(--txt2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;transition:background .15s,color .15s}
.theme-btn:hover{background:var(--brand);color:#fff;border-color:var(--brand)}

/* Tela cheia (app instalado no iPhone/iPad): respeita entalhe e barra de status */
@supports (padding-top: env(safe-area-inset-top)){
  .topbar{height:calc(52px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}
  .hamburger{top:calc(12px + env(safe-area-inset-top))}
  .sidebar{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
  .content{padding-bottom:calc(20px + env(safe-area-inset-bottom))}
  .dp-tabs{top:calc(60px + env(safe-area-inset-top))}
}
/* Toque: alvos de clique confortáveis */
@media (pointer: coarse){
  .yt{padding:7px 14px}
  .dp-tab{padding:11px 14px}
  .ni{padding:11px 16px}
  .theme-btn{width:40px;height:40px}
}

/* ELEIÇÕES 2026 — pré-apuração (chapa) */
.lv-badge.pre{background:var(--tint-amber);color:var(--warn-txt);border:1px solid var(--bd-amber)}
.lv-count-big{display:flex;align-items:center;gap:10px;flex:1;min-width:220px}
.lv-count-big strong{font-size:34px;font-weight:800;color:var(--navy);font-family:var(--font-num);line-height:1}
.lv-count-big span{font-size:13px;font-weight:700;color:var(--txt);line-height:1.3}
.lv-count-big small{font-size:11px;font-weight:500;color:var(--txt2)}
.lv-pre-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.lv-clist{display:flex;flex-direction:column}
.lv-crow{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border-l);flex-wrap:wrap}
.lv-crow:nth-child(even){background:var(--row-even)}
.lv-av{position:relative;width:38px;height:38px;border-radius:50%;background:var(--brand);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.lv-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
.lv-av.f{background:#9333EA}
.lv-cmain{flex:1 1 220px;min-width:0;display:flex;flex-direction:column}
.lv-cmain strong{font-size:13px}
.lv-cmain span{font-size:11px;color:var(--txt2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lv-num{font-family:var(--font-num);font-size:12px;font-weight:700;color:var(--navy);background:var(--tint-blue);border-radius:5px;padding:2px 7px}
@media(max-width:1100px){.lv-pre-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){
  .lv-pre-kpis{grid-template-columns:1fr 1fr}
  .lv-crow{padding:10px 12px}
  .lv-count-big strong{font-size:28px}
}

/* Lista de candidatos 2026: linha clicável com trajetória compacta */
.lv-crow{cursor:pointer;transition:background .12s}
.lv-crow:hover{background:var(--row-hover)}
.lv-crow:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}
.lv-traj{display:flex;align-items:center;gap:10px;flex:0 0 auto;min-width:220px;justify-content:flex-end}
.lv-traj span{font-size:12px;color:var(--txt2);white-space:nowrap}
.lv-traj b{color:var(--ok-txt);font-weight:700}
.lv-dots{display:flex;gap:5px}
.lv-dots i{width:12px;height:12px;border-radius:50%;border:2px solid var(--border);background:transparent;display:block}
.lv-dots i.on{background:var(--navy);border-color:var(--navy)}
.lv-dots i.el{background:var(--green);border-color:var(--green)}
.lv-go{color:var(--txt3);font-size:11px;flex-shrink:0}
@media(max-width:700px){
  .lv-traj{min-width:0;flex:1 1 100%;justify-content:flex-start;padding-left:50px}
  .lv-go{display:none}
}

/* Ficha 2026 no pop-up */
.m26{background:rgba(245,166,35,.22);color:#FCD58A;font-size:10px;font-weight:700;padding:3px 9px;border-radius:20px;border:1px solid rgba(245,166,35,.35)}
.msv.m-sm{font-size:13px;font-weight:700;line-height:1.3}
.m-cap{font-size:10px;color:var(--txt3);margin-top:4px}
.m-empty{background:var(--surface2);border:1px dashed var(--border);border-radius:10px;padding:14px;font-size:13px;color:var(--txt2)}
.m-empty i{color:var(--green);margin-right:4px}
.m-note{font-size:11px;color:var(--txt3);margin-top:10px}
.tl{list-style:none;padding:0;margin:14px 0 0;position:relative}
.tl li{display:grid;grid-template-columns:52px 1fr;gap:12px;position:relative;padding-bottom:12px}
.tl li:last-child{padding-bottom:0}
.tl li::before{content:"";position:absolute;left:25px;top:22px;bottom:-2px;width:2px;background:var(--border)}
.tl li:last-child::before{display:none}
.tl-yr{font-family:var(--font-num);font-size:13px;font-weight:700;color:var(--navy);background:var(--tint-blue);border:2px solid var(--navy);border-radius:8px;height:26px;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}
.tl li.el .tl-yr{color:var(--ok-txt);background:var(--green-bg);border-color:var(--green)}
.tl-body{background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:10px 12px}
.tl li.el .tl-body{border-color:var(--bd-green)}
.tl-hd{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.tl-hd strong{font-size:14px}
.tl-hd>span:not(.tl-res){font-size:12px;color:var(--txt2)}
.tl-res{margin-left:auto;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--txt3);white-space:nowrap}
.tl-res i{margin-right:3px}
.tl-res.ok{color:var(--ok-txt)}
.tl-kv{display:flex;gap:18px;flex-wrap:wrap;margin-top:8px}
.tl-kv span{font-family:var(--font-num);font-size:13px;font-weight:600;color:var(--txt)}
.tl-kv em{display:block;font-style:normal;font-family:'Inter',sans-serif;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--txt3);margin-bottom:1px}

/* Etiqueta do topo conforme o modo */
.topbar .tag{border:1px solid}
.topbar .tag[data-k="ok"]{background:var(--tint-green);color:var(--ok-txt);border-color:var(--bd-green)}
.topbar .tag[data-k="info"]{background:var(--tint-blue);color:var(--navy);border-color:var(--bd-blue)}
.topbar .tag[data-k="warn"]{background:var(--tint-amber);color:var(--warn-txt);border-color:var(--bd-amber)}

/* Eleições 2026 — metas */
.lv-pre{display:flex;flex-direction:column}
.lv-goals{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--sh);padding:18px 20px;margin-bottom:16px}
.lv-goals-hd{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.lv-goals-hd h2{font-size:20px;font-weight:800;color:var(--navy);letter-spacing:-.3px;margin-top:4px}
.lv-goals-hd p{font-size:12px;color:var(--txt2);max-width:420px}
.lv-goals-g{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.lv-goal{background:var(--surface2);border:1px solid var(--border-l);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.lv-goal-k{font-size:12px;font-weight:700;color:var(--navy);display:flex;gap:7px;align-items:center}
.lv-goal-k i{color:var(--txt3)}
.lv-goal-row{display:flex;justify-content:space-between;gap:12px;margin-top:4px}
.lv-goal-row span{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--txt3)}
.lv-goal-row b{font-family:var(--font-num);font-size:17px;font-weight:700;color:var(--txt)}
.lv-goal-row .r{text-align:right}
.lv-goal-row b.ok{color:var(--ok-txt)} .lv-goal-row b.no{color:var(--red)}
.lv-gbar{position:relative;height:10px;background:var(--border);border-radius:5px}
.lv-gbar div{height:100%;border-radius:5px;background:var(--txt3)}
.lv-gbar.ok div{background:#16A34A} .lv-gbar.no div{background:#F97316}
.lv-gbar i{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--txt);transform:translateX(-1px)}
.lv-goal-f{font-size:12px;color:var(--txt2);margin-top:4px}
.lv-warn{display:flex;align-items:center;gap:12px;background:var(--tint-red);border:1px solid var(--bd-red);color:var(--no-txt);border-radius:12px;padding:12px 16px;margin-bottom:14px}
.lv-warn>i{font-size:18px}
.lv-warn div{flex:1;display:flex;flex-direction:column;gap:2px;font-size:13px}
.lv-warn span{font-size:12px;color:var(--txt2)}
.lv-sitf{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--tint-red);color:var(--no-txt);font-size:12px;font-weight:600}
.lv-sitf .lv-btn{margin-left:auto}
.lv-grp{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--txt3);padding:10px 8px 4px}
.lv-maj[role="button"]{cursor:pointer}
.lv-maj[role="button"]:hover{background:var(--row-hover)}
.lv-pux{white-space:normal}
.lv-pux-b{display:inline-flex;align-items:baseline;gap:5px;border:1px solid var(--border);background:var(--surface2);border-radius:6px;padding:2px 7px;margin:1px 4px 1px 0;font:inherit;font-size:11px;font-weight:600;color:var(--txt);cursor:pointer;white-space:nowrap}
.lv-pux-b small{font-family:var(--font-num);font-size:10px;color:var(--txt2)}
.lv-pux-b:hover{border-color:var(--brand);color:var(--navy)}
.lv-maptip{position:absolute;background:rgba(13,30,66,.94);color:#fff;padding:8px 12px;border-radius:8px;font-size:12px;line-height:1.6;pointer-events:none;max-width:230px;box-shadow:0 4px 16px rgba(0,0,0,.25);z-index:5}
@media(max-width:900px){.lv-goals-g{grid-template-columns:1fr}}
@media(max-width:700px){
  .lv-pre .lv-pre-tabs{order:5}
  .lv-pre .dp-overview{order:6}
  .lv-goals{padding:14px}
  .lv-goals-hd h2{font-size:17px}
  .lv-pre-kpis{grid-template-columns:1fr 1fr}
}
.lv-subl{display:block;font-size:10px;color:var(--txt3);font-weight:500;white-space:nowrap}

/* Trajetória (componente único) */
.traj-dots{display:flex;gap:4px;align-items:center}
.traj-dots i{width:11px;height:11px;border-radius:50%;border:2px solid var(--border);display:block;box-sizing:border-box}
.traj-dots i.on{background:var(--navy);border-color:var(--navy)}
.traj-dots i.el{background:var(--green);border-color:var(--green)}
.traj-dots i.fut{border-color:var(--gold);border-style:dashed}
.traj-dots i.cur{box-shadow:0 0 0 2px var(--surface),0 0 0 3.5px var(--txt2)}
.tl li.fut .tl-yr{color:var(--warn-txt);background:var(--tint-amber);border-color:var(--gold);border-style:dashed}
.tl li.fut .tl-body{border-style:dashed;border-color:var(--bd-amber)}
.tl li.cur .tl-body{box-shadow:inset 3px 0 0 var(--brand)}
.tl-res.fut{color:var(--warn-txt)}
.tl-cur{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;background:var(--brand);color:#fff;padding:2px 6px;border-radius:4px}
@media(max-width:768px){.cr>.k-traj{order:4;flex:1 0 100%;padding-left:36px}}

/* Outros partidos na trajetória */
.lv-dots i.op,.traj-dots i.op{background:#94A3B8;border-color:#94A3B8}
.lv-dots i.op.el,.traj-dots i.op.el{background:#94A3B8;border-color:var(--green);box-shadow:inset 0 0 0 2px var(--green)}
.lv-sgs{font-family:var(--font-num);font-size:11px;color:var(--txt3)}
.tl-sg{font-family:var(--font-num);font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px;background:var(--surface);border:1px solid var(--border);color:var(--txt2)}
.tl-sg.pdt{background:var(--brand);border-color:var(--brand);color:#fff}

/* Busca */
.busca-chk{display:inline-flex;align-items:center;gap:6px;font-size:12px!important;font-weight:600;color:var(--txt2);cursor:pointer}
.busca-chk input{accent-color:var(--brand);width:15px;height:15px}
.busca-26{color:var(--warn-txt);font-weight:700}
#busca-results .lv-crow .traj-dots{flex-shrink:0}
@media(max-width:700px){#busca-results .traj-dots{flex:1 1 100%;padding-left:50px}}

/* Tela de carregamento */
.boot{position:fixed;inset:0;z-index:1000;background:#1f3f79;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;transition:opacity .35s}
.boot img{height:56px;max-width:70vw;object-fit:contain}
.boot-t{color:rgba(255,255,255,.85);font-size:14px;font-weight:600;letter-spacing:.2px}
.boot-bar{width:180px;height:4px;border-radius:2px;background:rgba(255,255,255,.18);overflow:hidden}
.boot-bar div{width:40%;height:100%;background:#F5A623;border-radius:2px;animation:bootbar 1.1s ease-in-out infinite}
@keyframes bootbar{0%{transform:translateX(-100%)}100%{transform:translateX(260%)}}
.boot.done{opacity:0;pointer-events:none}
@media (prefers-reduced-motion:reduce){.boot-bar div{animation:none;width:100%}}

/* ── Início ── */
.hm-top{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.hm-search{flex:1 1 360px;display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:6px 6px 6px 16px;box-shadow:var(--sh-sm)}
.hm-search:focus-within{border-color:var(--brand)}
.hm-search>i{color:var(--txt3)}
.hm-search input{flex:1;border:none;background:transparent;outline:none;font:inherit;font-size:15px;color:var(--txt);padding:8px 0;min-width:0}
.hm-uf{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--txt2)}
.hm-26{background:linear-gradient(135deg,#1f3f79 0%,#2a4f9a 60%,#1f3f79 100%);color:#fff;border-radius:16px;padding:20px 22px;margin-bottom:22px;display:grid;grid-template-columns:minmax(240px,1fr) 2fr;gap:24px;box-shadow:var(--sh)}
.hm-26-load{grid-column:1/-1;opacity:.8;font-size:13px}
.hm-26-main{display:flex;flex-direction:column;gap:12px;justify-content:space-between}
.hm-26-k{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:1px;color:rgba(255,255,255,.85)}
.hm-26-dot{width:9px;height:9px;border-radius:50%;background:#F5A623;box-shadow:0 0 0 0 rgba(245,166,35,.6);animation:lvpulse 1.6s infinite}
.hm-26-big{display:flex;align-items:center;gap:12px}
.hm-26-big strong{font-size:44px;font-weight:800;line-height:1;font-family:var(--font-num)}
.hm-26-big span{font-size:14px;font-weight:600;line-height:1.35}
.hm-26-big small{font-size:12px;font-weight:500;opacity:.75}
.hm-26-cta{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;background:#F5A623;color:#1f2a44;border:none;border-radius:9px;padding:9px 16px;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
.hm-26-cta:hover{filter:brightness(1.07)}
.hm-26-goal{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.hm-26-row{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:rgba(255,255,255,.8)}
.hm-26-row b{font-family:var(--font-num);font-size:16px;color:#fff}
.hm-26-row small{font-size:11px;opacity:.75}
.hm-26-bar{height:10px;border-radius:5px;background:rgba(255,255,255,.18);overflow:hidden}
.hm-26-bar div{height:100%;background:#F5A623;border-radius:5px}
.hm-26-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:6px}
.hm-26-stats div{display:flex;flex-direction:column}
.hm-26-stats b{font-family:var(--font-num);font-size:20px}
.hm-26-stats span{font-size:11px;color:rgba(255,255,255,.75);line-height:1.35}
.hm-sec{margin-bottom:22px}
.hm-sec-hd{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.hm-sec-hd h2{font-size:19px;font-weight:800;color:var(--navy);letter-spacing:-.3px}
.hm-sec-hd p{font-size:13px;color:var(--txt2)}
.hm-cargos{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.hm-cargo{text-align:left;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px;box-shadow:var(--sh-sm);cursor:pointer;display:flex;flex-direction:column;gap:6px;transition:border-color .15s,transform .15s}
.hm-cargo:hover{border-color:var(--brand);transform:translateY(-1px)}
.hm-cargo-hd{font-size:12px;font-weight:700;color:var(--txt2);display:flex;gap:7px;align-items:center}
.hm-cargo-hd i{color:var(--navy)}
.hm-cargo-v{font-size:30px;font-weight:800;color:var(--navy);font-family:var(--font-num);line-height:1.1}
.hm-cargo-d{font-size:12px;font-weight:700}
.hm-cargo-d.up{color:var(--ok-txt)}.hm-cargo-d.dn{color:var(--red)}
.hm-cargo-d i{font-size:10px;margin-right:4px}
.hm-cargo-d span{font-weight:500;color:var(--txt3)}
.hm-cargo-b{display:flex;flex-direction:column;gap:3px;margin-top:4px}
.hm-cargo-b div{height:5px;border-radius:3px}
.hm-cargo-b .a{background:var(--border)}
.hm-cargo-b .b.up{background:#16A34A}.hm-cargo-b .b.dn{background:#F87171}
.hm-cargo-f{font-size:11px;color:var(--txt3);margin-top:2px}
.hm-note{font-size:12px;color:var(--txt2);margin-top:10px}
.hm-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;margin-bottom:22px}
.hm-card{margin-bottom:0}
.hm-map-body{padding:12px 16px;display:grid;grid-template-columns:1fr 200px;gap:14px;align-items:start}
.hm-top5{list-style:none;display:flex;flex-direction:column;gap:6px;padding:0;margin:0;counter-reset:t}
.hm-top5 button{width:100%;display:flex;align-items:center;gap:8px;font:inherit;font-size:13px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:7px 10px;color:var(--txt);cursor:pointer;text-align:left}
.hm-top5 button:hover{border-color:var(--brand)}
.hm-top5 b{margin-left:auto;font-family:var(--font-num);color:var(--navy)}
.hm-det{grid-column:1/-1}
.hm-det summary{cursor:pointer;font-size:12px;font-weight:700;color:var(--navy);padding:4px 0}
.hm-det .dw{margin-top:8px;max-height:360px;overflow:auto}
tr.sel td{background:var(--tint-blue)!important}
.hm-ef{padding:14px 16px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hm-ef-k{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.hm-ef-k.ok{color:var(--ok-txt)}.hm-ef-k.no{color:var(--red)}
.hm-ef ol{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.hm-ef li{display:flex;align-items:center;gap:8px;font-size:13px;padding:6px 8px;border-radius:7px;background:var(--surface2)}
.hm-ef li.sel{outline:2px solid var(--gold)}
.hm-rk{font-family:var(--font-num);font-size:11px;color:var(--txt3);width:14px}
.hm-uf{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-ef b{font-family:var(--font-num);font-size:13px}
.hm-ef b.ok{color:var(--ok-txt)}.hm-ef b.no{color:var(--red)}
.hm-links{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.hm-links button{text-align:left;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px;cursor:pointer;display:flex;flex-direction:column;gap:4px;box-shadow:var(--sh-sm)}
.hm-links button:hover{border-color:var(--brand)}
.hm-links i{color:var(--navy);font-size:16px;margin-bottom:4px}
.hm-links strong{font-size:14px}
.hm-links span{font-size:12px;color:var(--txt2)}
@media(max-width:1100px){.hm-grid{grid-template-columns:1fr}.hm-cargos,.hm-links{grid-template-columns:1fr 1fr}}
@media(max-width:700px){
  .hm-26{grid-template-columns:1fr;padding:16px}
  .hm-26-big strong{font-size:36px}
  .hm-map-body{grid-template-columns:1fr}
  .hm-ef{grid-template-columns:1fr}
  .hm-cargo-v{font-size:24px}
}

/* Visual limpo: sem textos explicativos nos blocos (o método fica em "Fonte e método") */
.lv-foot,.hm-note,.lv-goal-f,.lv-hint,.dp-sec-tx p,.lv-goals-hd p,.dp-verdict-s,.hm-cargo-f,.hm-26-load{display:none!important}
.dp-kpi-s{font-size:11px}
.m-note{display:none}

/* Botões de impressão/PDF: sempre fundo branco, em qualquer tema */
.btn-print-desp,.btn-pdf,.mc2[onclick^="printCandidateFicha"]{background:#fff!important;color:#1f3f79!important;border:1px solid #D9E0EB!important}
.btn-print-desp:hover,.btn-pdf:hover,.mc2[onclick^="printCandidateFicha"]:hover{background:#F1F4FA!important;color:#1f3f79!important}

/* ═══ Refinamento visual: editorial, sem ornamentos ═══════════════════════════
   Menos caixas e sombras, sem ícones decorativos nem rótulos em caixa-alta,
   números na fonte do texto (algarismos tabulares), cor só para o que importa. */
:root{
  --font-num:'IBM Plex Sans',system-ui,sans-serif;
  --sh:none; --sh-sm:none;
}
body,.content{font-family:'IBM Plex Sans','Inter',system-ui,sans-serif}
.dp-kpi-v,.hm-cargo-v,.lv-count-big strong,.hm-26-big strong,.lv-goal-row b,.hm-26-row b,.hm-26-stats b,.msv,.nv,td.r,.lv-bar span,.dp-meter-v,.tl-kv span,.tl-yr{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}

/* Rótulos em frase normal, sem caixa-alta espaçada */
.dp-kpi-l,.dp-verdict-k,.dp-analises-k,.lv-goal-row span,.msl,.dp-chip span,.hm-26-k,.lv-grp,.tl-kv em,.hm-ef-k,.dp-sec-chips span,.tl-res,.tl-cur,.lv-chip,.desp-region-title,.cb-year,.hm-26-row span,.hm-26-stats span,.lv-prog-l span,.dp-meter-l,.msec-title,.lv-goal-k,.dp-crit-st{
  text-transform:none!important;letter-spacing:0!important}
.dp-kpi-l,.msl,.lv-goal-row span,.hm-26-row span,.tl-kv em{font-size:12px;font-weight:500;color:var(--txt2)}
.dp-analises-k,.msec-title{font-size:13px;font-weight:600;color:var(--txt2)}
.dt th,.clh{text-transform:none!important;letter-spacing:0!important;font-size:12px!important;font-weight:600!important}

/* Sem ícones decorativos em títulos e rótulos */
.chart-hd>i,.dp-side-hd>i,.lv-goal-k>i,.hm-cargo-hd>i,.msec-title>i,.dp-sec-ic,.dp-crit-hd>i,.hm-ef-k>i,.lv-flow-s>i{display:none!important}

/* Etiquetas decorativas nos cabeçalhos saem; status fica discreto */
.chart-hd .sb{display:none}
.lv-chip{background:transparent!important;padding:0!important;font-weight:600!important;font-size:12px!important}
.lv-chip::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;margin-right:6px;vertical-align:1px}
.lv-chip.ok{color:var(--ok-txt)}.lv-chip.warn{color:var(--warn-txt)}.lv-chip.risk{color:var(--orange-txt)}.lv-chip.no{color:var(--red)}.lv-chip.nd{color:var(--txt3)}

/* Caixas: menos arredondado, sem sombra; blocos de números viram faixas */
.chart-card,.dp-kpi,.dp-side-card,.lv-goals,.lv-status,.dp-verdict,.hm-cargo,.hm-links button,.lv-goal,.cl,.dw,.fbar,.hm-search,.dp-tabs{border-radius:8px!important;box-shadow:none!important}
.dp-kpis,.lv-pre-kpis{gap:0!important;border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}
.dp-kpis .dp-kpi,.lv-pre-kpis .dp-kpi{border:none!important;border-radius:0!important;background:transparent!important;border-left:1px solid var(--border)!important;padding:14px 18px}
.dp-kpis .dp-kpi:first-child,.lv-pre-kpis .dp-kpi:first-child{border-left:none!important}
.dp-kpi-v{font-size:26px;font-weight:700;letter-spacing:-.5px}
@media(max-width:700px){
  .dp-kpis .dp-kpi:nth-child(odd),.lv-pre-kpis .dp-kpi:nth-child(odd){border-left:none!important}
  .dp-kpis .dp-kpi:nth-child(n+3),.lv-pre-kpis .dp-kpi:nth-child(n+3){border-top:1px solid var(--border)}
}

/* Abas sublinhadas em vez de botões preenchidos */
.dp-tabs{background:transparent!important;border:none!important;border-bottom:1px solid var(--border)!important;border-radius:0!important;padding:0!important;gap:22px!important}
.dp-tab{flex:0 0 auto!important;background:transparent!important;color:var(--txt2)!important;border-radius:0!important;padding:10px 2px!important;border-bottom:2px solid transparent!important;margin-bottom:-1px}
.dp-tab.active{color:var(--txt)!important;border-bottom-color:var(--brand)!important}
.dp-tab i{display:none}
.yt.active{background:var(--surface)!important;color:var(--txt)!important;box-shadow:0 0 0 1px var(--border)}
.ytabs{background:var(--surface2)}

/* Barras em uma cor só (azul); o status aparece no texto ao lado */
.lv-bar-f,.lv-gbar div,.hm-26-bar div,.dp-meter-f,.desp-fill{background:var(--brand)!important}
.lv-gbar.no div{background:#7A94C4!important}
.dp-meter.no .dp-meter-f{background:#7A94C4!important}

/* Sem degradês nem brilhos */
.hm-26{background:var(--surface)!important;color:var(--txt)!important;border:1px solid var(--border)}
.hm-26-k,.hm-26-big span,.hm-26-row,.hm-26-stats span{color:var(--txt2)!important}
.hm-26-big strong,.hm-26-row b,.hm-26-stats b{color:var(--navy)!important}
.hm-26-goal{background:var(--surface2)!important;border-color:var(--border-l)!important}
.hm-26-bar{background:var(--border)!important}
.hm-26-cta{background:var(--brand)!important;color:#fff!important}
.hm-26-dot{animation:none!important;background:var(--red)!important}
.mh,.info-card-hd{background:var(--brand)!important}
.ni.ni-live{background:#C8102E!important;box-shadow:none!important;border-radius:8px}
.ni-live-dot{animation:none!important}
.dp-verdict-main::before{width:3px}
.tl-yr{border-width:1px!important}
.hm-cargo:hover{transform:none}

/* Títulos de seção: mais peso na tipografia, menos no enfeite */
.dp-sec-hd h2,.hm-sec-hd h2,.lv-goals-hd h2{font-weight:700;letter-spacing:-.2px;color:var(--txt)}
.chart-title{color:var(--txt)!important;font-weight:600}
.topbar .tag{font-size:11px;font-weight:600;letter-spacing:0;text-transform:none}
.lv-badge{letter-spacing:0!important;font-size:12px!important}

.boot-real{position:absolute;bottom:calc(32px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:center;gap:10px}
.boot-real span{font-size:10px;font-weight:700;letter-spacing:1.5px;color:rgba(255,255,255,.6)}
.boot-real div{display:flex;align-items:center;gap:22px}
.boot-real img{height:20px;width:auto;max-width:none;object-fit:contain;opacity:.95}
.boot-real{position:static;margin-top:48px}

/* Menu: eleições por ano */
.ni.ni-yr{gap:10px}
.ni-y{font-weight:700;color:#fff;font-variant-numeric:tabular-nums;min-width:34px}
.ni-t{color:rgba(255,255,255,.6)}
.ni.active .ni-t{color:rgba(255,255,255,.85)}
.ni-tag{margin-left:auto;font-size:10px;font-weight:700;background:#C8102E;color:#fff;border-radius:4px;padding:2px 6px}
.s26{font-size:11px;font-weight:600;color:var(--warn-txt)}
.cr .lv-traj{min-width:0;justify-content:flex-start;gap:0}
.cr .lv-traj span{display:none}

/* Listas de candidatos: filtros enxutos, tabela neutra */
.fl-bar{padding:10px 14px!important}
.fl-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.fl-chk{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--txt2);cursor:pointer;white-space:nowrap}
.fl-chk input{accent-color:var(--brand);width:15px;height:15px}
.fl-count{margin-left:auto;font-size:12px;font-weight:600;color:var(--txt);white-space:nowrap}
.fl-count span{color:var(--txt3);font-weight:500}
.fl-more-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--surface);color:var(--txt2);border-radius:7px;padding:6px 11px;font:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}
.fl-more-btn.on,.fl-more-btn:hover{border-color:var(--brand);color:var(--txt)}
.fl-adv{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-l)}
.fl-adv>label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:600;color:var(--txt2)}
.fl-adv .col-toggles{flex:1 1 100%;margin:0!important;padding:0!important;border:none!important}
.pb{background:transparent!important;color:var(--txt3)!important;border:none!important;font-weight:600!important;box-shadow:none!important}
.cr .cs:empty{display:none}
@media(max-width:768px){
  .fl-bar{overflow:visible!important}
  .fl-row{flex-wrap:wrap!important;min-width:0!important}
  .fl-count{margin-left:0;flex:1 1 auto}
  .fl-count{display:inline!important}
  .fl-adv>label{flex:1 1 140px}
  .fl-adv .fl-input{width:100%!important}
}

/* Menu no celular/iPad: o botão sai de cima do logo quando o menu abre */
body.menu-open .hamburger{left:calc(var(--side-w) + 12px);background:var(--surface);color:var(--txt);border:1px solid var(--border)}
.hamburger{transition:left .25s}

/* Barra de filtros das eleições no celular: sem rótulos e divisórias soltos */
@media(max-width:768px){
  .page>.fbar>label:not(:first-child),.page>.fbar>.div{display:none}
  .page>.fbar>label:first-child{flex:1 1 100%;font-size:13px;color:var(--txt)}
  .page>.fbar>.ytabs{flex:1 1 100%;overflow-x:auto}
  .page>.fbar>.ytabs .yt{flex:1 0 auto;text-align:center}
  .page>.fbar>select.ufs,.page>.fbar>.fbar-search{flex:1 1 100%;margin-left:0;min-width:0}
}

/* ── Acabamento no celular ── */
select.ufs:disabled{display:none}
@media(max-width:700px){
  .hm-top{gap:8px}
  .hm-search{flex:1 1 100%;padding:4px 4px 4px 12px}
  .hm-search input{font-size:14px}
  .hm-uf{flex:1 1 100%;justify-content:space-between}
  .hm-uf select{flex:1}
  .hm-26{gap:14px}
  .hm-26-main{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between}
  .hm-26-k{flex:1 1 100%}
  .hm-26-big strong{font-size:34px}
  .hm-26-cta{align-self:center;padding:8px 12px}
  .hm-26-stats{grid-template-columns:repeat(3,1fr);gap:8px}
  .hm-26-stats b{font-size:18px}
  .hm-26-stats div:nth-child(4){grid-column:1/-1}
  .hm-sec-hd{flex-direction:column;gap:2px}
  .hm-cargo{padding:12px}
  .hm-cargo-v{font-size:22px}
  .hm-cargo-d span{display:none}
  .hm-links{gap:8px}
  .hm-links button{padding:12px}
  .hm-links span{display:none}
  /* filtros das listas: status em cima; FEFC, mais filtros e contagem embaixo */
  .fl-row .ytabs{order:1;flex:1 1 100%}
  .fl-row .ytabs .yt{flex:1;text-align:center}
  .fl-chk{order:2}
  .fl-more-btn{order:3;margin-left:auto}
  .fl-clear{order:4}
  .fl-count{order:5;flex:1 1 100%!important;font-size:12px}
  .sh{margin-bottom:8px}
  .sh .st{font-size:16px}
}

.sb-real{display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:16px!important;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))!important}
.sb-real span{font-size:10px;font-weight:700;letter-spacing:1.5px;color:rgba(255,255,255,.55)}
.sb-real div{display:flex;align-items:center;gap:18px}
.sb-real img{height:16px;width:auto;opacity:.95}

/* ── Tabelas no celular: cada linha vira um cartão ── */
@media(max-width:700px){
  .dw{overflow:visible!important;border:none!important;background:transparent!important;box-shadow:none!important}
  table.mcards,table.mcards tbody{display:block;width:100%}
  table.mcards thead{display:none}
  table.mcards tr{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;padding:12px 14px;margin-bottom:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface)!important}
  table.mcards td{display:flex;flex-direction:column;gap:2px;padding:0!important;border:none!important;text-align:left!important;background:transparent!important;min-width:0;font-size:14px}
  table.mcards td::before{content:attr(data-label);font-size:11px;font-weight:500;color:var(--txt3);text-transform:none;letter-spacing:0}
  table.mcards td.td-rk{display:none}
  table.mcards td.td-tit{grid-column:1/-1;flex-direction:row;align-items:center;gap:8px;font-size:15px;font-weight:600;padding-bottom:8px!important;border-bottom:1px solid var(--border-l)!important}
  table.mcards td.td-tit::before{display:none}
  table.mcards td:has(.lv-bar),table.mcards td:has(.dp-inbar){grid-column:1/-1}
  table.mcards .lv-bar,table.mcards .dp-inbar{min-width:0;width:100%}
  table.mcards .lv-sub,table.mcards .lv-subl{display:inline;margin-left:4px}
  table.mcards td.r{font-family:inherit}
  table.mcards td:empty{display:none}
  .lv-goal-row b{font-size:16px}
}
@media(max-width:700px){table.mcards{min-width:0!important;width:100%!important}table.mcards tr>*{min-width:0}}
@media(max-width:700px){table.mcards tr{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}table.mcards td{overflow-wrap:anywhere}table.mcards .lv-pux-b,table.mcards .lv-subl,table.mcards .lv-chip{white-space:normal}table.mcards td.lv-pux{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:6px}table.mcards td.lv-pux::before{flex:1 1 100%}}

/* título da seção repete o nome da aba: sai */
.dp-sec .dp-sec-tx{display:none}
.dp-sec .dp-sec-hd{margin-bottom:12px}
@media(max-width:700px){
  table.mcards td.m-hide{display:none!important}
  table.mcards tr:has(td.m-status) td.td-tit{grid-column:1/2}
  table.mcards td.m-status{grid-row:1;grid-column:2;align-items:flex-end;justify-content:center;padding-bottom:8px!important;border-bottom:1px solid var(--border-l)!important}
  table.mcards td.m-status::before{display:none}
  .dp-sec-chips{width:100%}
  .dp-chip{flex:1}
}

.hm-links{margin-bottom:18px}
.hm-sec-hd{align-items:center!important}
.hm-sec-hd select{min-width:170px}
@media(max-width:700px){.hm-sec-hd{flex-direction:row!important;flex-wrap:wrap}.hm-sec-hd select{flex:1 1 100%}}
.uc{flex-shrink:0;white-space:nowrap}
@media(max-width:700px){
  /* cartão de estado: título · meta e falta lado a lado · barra · demais */
  table.mcards td{order:4}
  table.mcards td.td-tit,table.mcards td.m-status{order:0}
  table.mcards td[data-label^="Meta"]{order:1}
  table.mcards td[data-label^="Falta"]{order:2;align-items:flex-end}
  table.mcards td:has(.lv-bar),table.mcards td:has(.dp-inbar){order:3}
  table.mcards td[data-label^="Falta"] i{font-size:16px}
  /* ficha do candidato: informações em 2 colunas */
  .mg{grid-template-columns:1fr 1fr!important}
  .ms{padding:9px 11px}
  .msv.m-sm{font-size:12px}
}
/* coluna de estado: só o nome, em uma linha */
td.td-uf{white-space:nowrap}
/* número fora da barra: legível e sem colidir com a marca da meta */
.lv-bar{margin-right:62px;min-width:120px}
.lv-bar span{left:calc(100% + 8px);right:auto}
.dp-tabs{background:var(--bg)!important}
.lv-bar span{white-space:nowrap}
@media(max-width:700px){table.mcards .lv-bar{width:auto!important;margin-right:70px}}
/* Banner Eleições 2026 do Início: vermelho PDT em degradê */
.hm-26{background:linear-gradient(120deg,#9E0F17 0%,#D11A22 55%,#E8412F 100%)!important;color:#fff!important;border:none!important}
.hm-26-k,.hm-26-big span,.hm-26-row,.hm-26-stats span{color:rgba(255,255,255,.86)!important}
.hm-26-big small{opacity:.8}
.hm-26-big strong,.hm-26-row b,.hm-26-stats b{color:#fff!important}
.hm-26-goal{background:rgba(255,255,255,.1)!important;border:1px solid rgba(255,255,255,.2)!important}
.hm-26-bar{background:rgba(255,255,255,.24)!important}
.hm-26-bar div{background:#fff!important}
.hm-26-cta{background:#fff!important;color:#B3121B!important}
.hm-26-dot{background:#fff!important;animation:lvpulse 1.6s infinite!important}
.hm-26 .lv-badge{background:#fff;color:#B3121B}
/* Celular: logo DataPDT fixa no topo, ao lado do menu */
.top-logo{display:none}
@media(max-width:768px){
  .topbar .top-logo{display:block;height:24px;width:auto;flex-shrink:0}
  .topbar-title{font-size:13px;color:var(--txt2);text-align:right}
  .topbar-title .tt-sub{display:none}
}
/* Puxadores: lista curta — nome em cima, votos embaixo, sem caixinhas */
td.lv-pux{min-width:170px}
.lv-pux-b{display:flex!important;flex-direction:column;align-items:flex-start;gap:0!important;border:none!important;background:none!important;padding:0!important;margin:0 0 6px!important;text-align:left;cursor:pointer;white-space:nowrap}
.lv-pux-b:last-child{margin-bottom:0!important}
.lv-pux-b b{font-size:13px;font-weight:600;color:var(--txt)}
.lv-pux-b small{font-size:11px!important;color:var(--txt3)!important;font-family:var(--font-num)}
.lv-pux-b:hover b{color:var(--brand);text-decoration:underline;text-underline-offset:2px}
@media(max-width:700px){table.mcards td.lv-pux{flex-direction:row!important;flex-wrap:wrap;gap:6px 22px}table.mcards td.lv-pux::before{flex:1 1 100%}.lv-pux-b{margin:0!important}}
.dp-vv{font-size:12px;color:var(--txt2);margin:-2px 0 8px}
.dp-vv b{color:var(--txt);font-family:var(--font-num)}
.dp-vv span{color:var(--txt3)}
/* ── Apuração: blocos por hierarquia ── */
.lv-blk-hd{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:30px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.lv-blk-hd h2{font-size:17px;font-weight:700;color:var(--navy);margin:0}
.lv-blk-hd span{font-size:13px;color:var(--txt2);font-variant-numeric:tabular-nums}
.lv-sub-hd{font-size:13px;font-weight:600;color:var(--txt2);margin:18px 0 8px}
/* Presidente: uma linha discreta, vermelho × verde */
.pd{display:flex;align-items:center;gap:10px;margin-top:12px;padding:8px 12px;border:1px solid var(--border-l);border-radius:8px;font-size:12px;color:var(--txt2)}
.pd-k{color:var(--txt3);white-space:nowrap}
.pd-s{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.pd-s b{font-variant-numeric:tabular-nums}
.pd-s.l b{color:#C8102E}.pd-s.r b{color:#12824A}
.pd-av{position:relative;width:22px;height:22px;border-radius:50%;flex-shrink:0;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:9px;font-weight:700}
.pd-s.l .pd-av{background:#C8102E}.pd-s.r .pd-av{background:#12824A}
.pd-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
.pd-av i{font-style:normal}
.pd-bar{position:relative;flex:1;display:flex;justify-content:space-between;height:6px;border-radius:3px;background:var(--surface2);min-width:60px}
.pd-a{background:#C8102E;border-radius:3px 0 0 3px}.pd-b{background:#12824A;border-radius:0 3px 3px 0}
.pd-bar i{position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:var(--txt3)}
@media(max-width:700px){.pd{flex-wrap:wrap;gap:6px 8px}.pd-k{flex:1 1 100%}.pd-bar{order:3;flex:1 1 100%}}
/* Majoritários do PDT: cartões */
.lv-maj-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.lv-mc{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--txt3);border-radius:8px;padding:12px 14px}
.lv-mc.ok{border-left-color:#16A34A}.lv-mc.no{border-left-color:#DC2626}
.lv-mc-k{font-size:11px;color:var(--txt3)}
.lv-mc-n{font-size:14px;font-weight:600;color:var(--txt);margin:2px 0 6px}
.lv-mc-v{display:flex;align-items:center;justify-content:space-between;gap:8px}
.lv-mc-v b{font-size:20px;font-variant-numeric:tabular-nums;color:var(--navy)}
.lv-mc-s{font-size:11px;color:var(--txt2);margin-top:4px}
.lv-est-sum{font-size:13px;color:var(--txt2);margin-bottom:10px}
.lv-est-sum b{color:var(--txt);font-variant-numeric:tabular-nums}
/* Chapa e método: recolhidos no fim */
.lv-more{margin-top:30px;display:flex;flex-direction:column;gap:8px}
.lv-more details{border:1px solid var(--border);border-radius:8px;background:var(--surface)}
.lv-more summary{cursor:pointer;padding:12px 16px;font-size:14px;font-weight:600;color:var(--navy)}
.lv-more details[open] summary{border-bottom:1px solid var(--border)}
.lv-more details>*:not(summary){margin:14px 16px}
@media(max-width:700px){
  .lv-blk-hd{margin-top:24px}
}
.hm-26-row b{white-space:nowrap}
/* ── Diretórios: gráficos ── */
.dir-g{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}
.dir-g .chart-card{margin-bottom:0}
.dir-avg-k{margin-left:auto;font-size:12px;color:var(--txt2)}
.dir-leg{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 12px;font-size:11px;color:var(--txt2);margin-top:10px}
.dir-leg>i{width:22px;height:10px;border-radius:2px;display:inline-block;margin:0 -10px 0 0}
.dir-leg>span:first-child{margin-right:8px}
.dir-bars{display:flex;flex-direction:column;gap:7px}
.dir-bar{display:grid;grid-template-columns:minmax(90px,150px) 1fr 84px;align-items:center;gap:10px;font-size:12px}
.dir-bar-n{color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dir-bar-t{position:relative;height:10px;background:var(--surface2);border-radius:3px}
.dir-bar-t span{position:absolute;left:0;top:0;bottom:0;background:var(--brand);border-radius:3px}
.dir-bar.acima .dir-bar-t span{background:#D9534F}
.dir-bar-t i{position:absolute;top:-3px;bottom:-3px;width:1.5px;background:var(--txt2)}
.dir-bar-v{text-align:right;font-variant-numeric:tabular-nums;color:var(--txt2)}
.dir-ax text{fill:var(--txt3);font-size:10px}.dir-ax path,.dir-ax line{stroke:var(--border)}
.dir-axl{fill:var(--txt3);font-size:11px}
.dir-pt{fill:var(--brand);fill-opacity:.55;stroke:var(--brand);stroke-width:1}
.dir-pt.acima{fill:#D9534F;stroke:#D9534F}
.dir-ptl{fill:var(--txt2);font-size:10px;font-weight:600}
.dir-ln-s{stroke:var(--txt2);stroke-dasharray:4 3;stroke-width:1.2}
.dir-ln{display:inline-block;width:18px;border-top:1.5px dashed var(--txt2);vertical-align:middle;margin-right:6px}
@media(max-width:1000px){.dir-g{grid-template-columns:1fr}}
@media(max-width:700px){.dir-bar{grid-template-columns:minmax(0,110px) 1fr 70px;gap:8px;font-size:11px}}
.dir-bar-t{overflow:hidden}
/* Quadro dos majoritários titulares */
.mq{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:22px}
.mq-c{display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--border);border-radius:10px;padding:16px 14px 14px;cursor:pointer}
.mq-c.ok{border-top-color:#16A34A}.mq-c.no{border-top-color:#DC2626}
.mq-c:hover{border-color:var(--brand)}
.mq-av{position:relative;width:76px;height:76px;border-radius:50%;overflow:hidden;background:var(--surface2);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:22px;color:var(--txt3);margin-bottom:10px}
.mq-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
.mq-k{font-size:11px;color:var(--txt3)}
.mq-n{font-size:14px;font-weight:600;color:var(--txt);margin:2px 0 10px;line-height:1.25}
.mq-pos{display:flex;align-items:baseline;gap:5px}
.mq-pos b{font-size:26px;font-weight:800;color:var(--navy);line-height:1;font-variant-numeric:tabular-nums}
.mq-pos span{font-size:12px;color:var(--txt2)}
.mq-c.ok .mq-pos b{color:#16A34A}
.mq-v{font-size:12px;color:var(--txt2);margin-top:4px;font-variant-numeric:tabular-nums}
.mq-v b{color:var(--txt)}
@media(max-width:700px){
  .mq{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 10px;gap:10px;margin:0 -10px 20px;padding:0 10px 6px;scrollbar-width:none}
  .mq::-webkit-scrollbar{display:none}
  .mq-c{flex:0 0 68%;scroll-snap-align:start}
}
.mq-wait{font-size:12px;color:var(--txt3);border:1px solid var(--border);border-radius:20px;padding:3px 10px}
/* Majoritários: uma faixa só, rolando de lado (web e celular) */
.mq-box{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:22px}
.mq-box .mq{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 14px;gap:12px;margin:0!important;padding:14px!important;scrollbar-width:thin}
.mq-box .mq-c{flex:0 0 200px;scroll-snap-align:start;background:var(--surface2);border-color:var(--border-l)}
.mq-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--txt);cursor:pointer;display:flex;align-items:center;justify-content:center}
.mq-nav.l{left:-12px}.mq-nav.r{right:-12px}
.mq-nav:hover{border-color:var(--brand);color:var(--brand)}
@media(max-width:700px){
  .mq-nav{display:none}
  .mq-box{margin:0 0 20px}
  .mq-box .mq{padding:12px!important;scroll-padding:0 12px;gap:10px;scrollbar-width:none}
  .mq-box .mq-c{flex:0 0 64%}
}
/* ── Apuração PDT 2026: página única ── */
.ap-hd{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 20px;margin-bottom:18px}
.ap-hd h1{font-size:22px;font-weight:800;color:var(--navy);margin:0}
.ap-st{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;font-size:13px;color:var(--txt2)}
.ap-st strong{color:var(--txt);font-variant-numeric:tabular-nums}
.ap-st .lv-range{width:160px}
.pd-wait{justify-content:flex-start}
.ap-cargo{margin-bottom:8px}
.ap-ctl{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.ap-ctl select{min-width:220px}
.ap-ks{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px}
.ap-k{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.ap-k span{font-size:12px;color:var(--txt2)}
.ap-k b{font-size:22px;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}
.ap-k small{font-size:11px;color:var(--txt3)}
.ap-row{cursor:pointer}
.ap-row:hover td{background:var(--surface2)}
td.ap-cand{display:flex;align-items:center;gap:10px}
td.ap-cand .lv-sub{margin-left:2px}
.ap-av{position:relative;width:30px;height:30px;border-radius:50%;overflow:hidden;background:var(--surface2);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--txt3)}
.ap-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
.ap-fonte p{font-size:13px;color:var(--txt2);line-height:1.55;margin:0 0 10px}
#aovivo-c .lv-goals,#aovivo-c .dp-verdict{margin-bottom:12px}
@media(max-width:700px){
  .ap-hd h1{font-size:19px}
  .ap-ks{grid-template-columns:1fr 1fr}
  .ap-k b{font-size:18px}
  .ap-ctl select{flex:1;min-width:0}
  table.mcards td.ap-cand{flex-direction:row!important;align-items:center}
  table.mcards td.ap-cand::before{display:none}
}
.mq-box.no-ov .mq-nav{display:none}
@media(max-width:700px){.ap-k:last-child:nth-child(odd){grid-column:1/-1}}
@media(max-width:700px){.mq-body{display:flex;flex-direction:column;align-items:center}}
/* Governadores ao lado de Senadores, cada um com rolagem própria */
.ap-maj2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.ap-maj2.um{grid-template-columns:minmax(0,1fr)}
.ap-maj2 .mq-box{margin-bottom:8px}
.ap-maj2 .mq-nav.l{left:-10px}.ap-maj2 .mq-nav.r{right:-10px}
@media(min-width:701px){.ap-maj2 .mq-box .mq-c{flex:1 0 170px;max-width:240px}}
@media(max-width:1000px){.ap-maj2{grid-template-columns:minmax(0,1fr);gap:0}}
/* Cartões verticais e compactos (web e celular) */
.mq-box .mq-c{padding:14px 12px 12px}
.mq-box .mq-av{width:64px;height:64px;font-size:19px;margin-bottom:8px}
.mq-box .mq-n{margin:2px 0 8px;font-size:13px}
.mq-body{display:flex;flex-direction:column;align-items:center}
@media(max-width:700px){.mq-box .mq-c{flex:0 0 46%}}
.mq-wait{white-space:nowrap;font-size:11px;padding:3px 9px}
/* Majoritários: caixas alinhadas, mesma altura */
.ap-maj2>div{display:flex;flex-direction:column}
.ap-maj2 .mq-box{flex:1}
.mq-k{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.mq-box.at-start .mq-nav.l,.mq-box.at-end .mq-nav.r{display:none}
/* Deputados: resumo + ranking simples */
.ap-ks{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.ap-meta{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px 14px;margin-bottom:14px}
.ap-meta-l{display:flex;align-items:baseline;gap:10px;margin-bottom:8px;font-size:12px;color:var(--txt2)}
.ap-meta-l b{font-size:18px;color:var(--txt);font-variant-numeric:tabular-nums}
.ap-meta-l b.ok{color:#16A34A}.ap-meta-l b.no{color:#DC2626}
.ap-meta-m{margin-left:auto}
.ap-meta-t{position:relative;height:10px;border-radius:5px;background:var(--surface2)}
.ap-meta-t div{height:100%;border-radius:5px;background:var(--brand)}
.ap-meta-t div.ok{background:#16A34A}
.ap-meta-t i{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--txt);transform:translateX(-1px)}
.ap-rank{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}
.ap-rank li{display:flex;align-items:center;gap:12px;padding:8px 14px;cursor:pointer}
.ap-rank li:nth-child(even){background:var(--surface2)}
.ap-rank li:hover{background:var(--tint-blue,var(--surface2))}
.ap-rk{width:24px;text-align:right;font-size:12px;color:var(--txt3);font-variant-numeric:tabular-nums;flex-shrink:0}
.ap-rank .ap-av{width:34px;height:34px}
.ap-nm{flex:1;min-width:0;font-size:14px;font-weight:600;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ap-nm small{font-size:11px;font-weight:500;color:var(--txt3);margin-left:4px}
.ap-nm em{font-style:normal;font-size:11px;font-weight:600;color:#16A34A;margin-left:6px}
.ap-vt{font-size:14px;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}
.ap-mais{margin:10px auto 0;display:block}
@media(max-width:700px){
  .ap-ks{gap:8px}
  .ap-k{padding:10px}
  .ap-k b{font-size:16px}
  .ap-rank li{padding:8px 10px;gap:10px}
  .ap-nm{font-size:13px}
}
@media(min-width:701px){.ap-ks .ap-k{grid-column:auto!important}}
.ap-ks{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))!important}
.ap-cl{margin-bottom:6px}
.ap-cl-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.ap-cl-hd h2{font-size:17px;font-weight:700;color:var(--navy);margin:0}
.ap-cl-hd select{min-width:200px}
@media(max-width:700px){.ap-ks{grid-template-columns:1fr 1fr!important}.ap-cl-hd select{flex:1}}
/* Botão de imprimir discreto */
.btn-print-desp{padding:5px 11px!important;font-size:12px!important;font-weight:600!important;gap:6px!important;border-radius:6px!important}
.btn-print-desp i{font-size:11px;opacity:.8}
/* Impressão: sempre fundo branco */
@media print{html,body,.main,.content{background:#fff!important;color:#111!important}}
/* Presidente: só o % de Lula, com a marca de 50% */
.pd-s small{font-size:11px;color:var(--txt3)}
.pd-bar .pd-a{border-radius:3px}
.pd-t{white-space:nowrap;color:var(--txt2)}
.pd-t.ok{color:#16A34A;font-weight:600}
@media(max-width:700px){.pd-t{white-space:normal}}
/* Deputados federais | estaduais em duas colunas no web */
.ap-deps{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
@media(max-width:1000px){.ap-deps{grid-template-columns:minmax(0,1fr);gap:0}}
.ap-deps .ap-ks{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))!important}
.ap-deps .ap-ctl select{flex:1;min-width:0}
.ap-pick{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 16px;border:1px dashed var(--border);border-radius:8px;color:var(--txt2);font-size:13px;text-align:center}
.ap-pick i{font-size:22px;color:var(--txt3)}
/* eleito: linha com fundo verde */
.ap-rank li.el,.ap-rank li.el:nth-child(even){background:rgba(22,163,74,.14)}
.ap-rank li.el .ap-vt{color:#15803D}
:root[data-theme="dark"] .ap-rank li.el .ap-vt{color:#4ADE80}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .ap-rank li.el .ap-vt{color:#4ADE80}}
/* Caixas de números uniformes: rótulo · número · descrição, cada um em uma linha */
.ap-k{justify-content:flex-start;min-width:0}
.ap-k span,.ap-k small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ap-k span{font-size:12px;font-weight:500;color:var(--txt2);line-height:1.3}
.ap-k b{font-size:22px;line-height:1.2;margin:2px 0}
.ap-k small{font-size:11px;color:var(--txt3);line-height:1.3}
.ap-deps .ap-k b{font-size:20px}
/* Aviso de apuração atualizada ao lado do estado */
.ap-upd{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:#15803D;background:rgba(22,163,74,.12);border:1px solid rgba(22,163,74,.3);border-radius:20px;padding:4px 11px;white-space:nowrap;animation:apUpdIn .4s ease}
.ap-upd i{width:7px;height:7px;border-radius:50%;background:#16A34A;animation:lvpulse 1.6s infinite}
:root[data-theme="dark"] .ap-upd{color:#4ADE80}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .ap-upd{color:#4ADE80}}
@keyframes apUpdIn{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
@media(max-width:700px){.ap-ctl{flex-wrap:wrap}.ap-upd{white-space:normal}}
.ap-ht{font-size:12px;color:var(--txt3);white-space:nowrap}
/* Presidente: mesma linha, com caixa nas cores do Brasil */
.pd{background:linear-gradient(100deg,#009C3B 0%,#00843A 38%,#0B4A9E 72%,#002776 100%)!important;border:none!important;border-bottom:3px solid #FFDF00!important;color:#fff!important}
.pd .pd-k,.pd .pd-s,.pd .pd-t,.pd small{color:rgba(255,255,255,.9)!important}
.pd .pd-s b{color:#FFDF00!important}
.pd .pd-t.ok{color:#FFDF00!important}
.pd .pd-bar{background:rgba(255,255,255,.25)!important}
.pd .pd-a{background:#fff!important}
.pd .pd-bar i{background:#FFDF00!important;width:2px}
.pd .pd-av{background:#C8102E;border:2px solid #fff}
/* Estados em quadradinhos */
.ap-ufs{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:5px;width:100%}
.ap-uf{position:relative;height:32px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--txt2);font:inherit;font-size:12px;font-weight:700;letter-spacing:.3px;cursor:pointer;padding:0;transition:background .2s,border-color .2s}
.ap-uf:hover{border-color:var(--brand);color:var(--navy)}
.ap-uf.zero{color:var(--txt3);background:var(--surface2)}
.ap-uf.up{background:#16A34A;border-color:#16A34A;color:#fff}
.ap-uf.up i{position:absolute;top:3px;right:3px;width:6px;height:6px;border-radius:50%;background:#fff;animation:lvpulse 1.6s infinite}
.ap-uf.on{background:var(--brand);border-color:var(--brand);color:#fff}
.ap-uf.on.up{box-shadow:0 0 0 2px #16A34A}
.ap-uf-hd{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:2px 0 12px;min-height:28px}
.ap-uf-hd b{font-size:15px;color:var(--txt)}
/* Caixas de números: sempre numa linha, mesma largura */
.ap-ks{display:flex!important;gap:10px}
.ap-ks>.ap-k{flex:1 1 0;min-width:0}
.ap-deps .ap-k b{font-size:19px}
@media(max-width:1280px){.ap-deps{grid-template-columns:minmax(0,1fr)!important;gap:0}}
@media(max-width:700px){.ap-ks{flex-wrap:wrap}.ap-ks>.ap-k{flex:1 1 calc(50% - 5px)}.ap-ufs{grid-template-columns:repeat(auto-fill,minmax(40px,1fr))}}
/* Celular: estados numa faixa só, rolando de lado */
@media(max-width:700px){
  .ap-ufs{display:flex!important;overflow-x:auto;gap:6px;margin:0 -10px;padding:2px 10px 8px;width:auto;scrollbar-width:none;scroll-snap-type:x proximity}
  .ap-ufs::-webkit-scrollbar{display:none}
  .ap-uf{flex:0 0 46px;height:38px;font-size:13px;scroll-snap-align:start}
}
@media(max-width:700px){.ap-ks>.ap-k{flex:1 1 calc(33.33% - 7px)}.ap-ks>.ap-k b{font-size:16px!important}.ap-k{padding:9px 10px}}
/* Majoritários: cartões em pé; governadores com largura fixa (cabem todos), senadores ocupam o resto */
@media(min-width:1001px){
  .ap-maj2{grid-template-columns:auto minmax(0,1fr)}
  .ap-maj2.um{grid-template-columns:minmax(0,1fr)}
  .ap-maj-gov{max-width:60vw}
  .ap-maj-gov .mq-box .mq{overflow-x:auto}
}
@media(min-width:701px){
  .ap-maj2 .mq-box .mq-c{flex:0 0 158px!important;max-width:none!important;min-height:210px;justify-content:flex-start}
  .ap-maj2 .mq-box .mq-av{width:72px;height:72px}
  .ap-maj2 .mq-n{white-space:normal;min-height:34px;display:flex;align-items:center;justify-content:center}
}
/* Ranking com rolagem própria */
.ap-rank{max-height:560px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
@media(max-width:700px){.ap-rank{max-height:62vh}}
/* Chapas aliadas: sigla do titular e vice/suplente do PDT, sem foto */
.mq-sg{font-size:10px;font-weight:600;color:var(--txt3);letter-spacing:.3px}
.mq-pdt{margin-top:8px;padding-top:7px;border-top:1px solid var(--border-l);width:100%;font-size:11px;color:var(--txt2);line-height:1.35;text-align:center}
.mq-pdt+.mq-pdt{margin-top:2px;padding-top:0;border-top:none}
.mq-pdt b{font-size:10px;color:#fff;background:var(--brand);border-radius:3px;padding:0 4px;margin-left:2px}
.mq-c.ali{cursor:default}
@media(min-width:1001px){.ap-maj2{grid-template-columns:fit-content(50%) minmax(0,1fr)}.ap-maj-gov{max-width:none}}
/* governadores: no máximo metade da área de conteúdo */
@media(min-width:1001px){.ap-maj2{grid-template-columns:auto minmax(0,1fr)}.ap-maj-gov{min-width:0;max-width:calc(50vw - 40px)}}
@media(min-width:1181px){.ap-maj-gov{max-width:calc((100vw - var(--side-w)) / 2 - 40px)}}
/* Celular: títulos dos blocos em faixa destacada, que recolhe/abre ao tocar */
@media(max-width:700px){
  .ap-sec>.lv-blk-hd{display:flex;align-items:center;background:var(--brand);border:none;border-radius:8px;padding:11px 14px;margin:20px 0 10px;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .ap-sec>.lv-blk-hd h2{color:#fff;font-size:15px;flex:1}
  .ap-sec>.lv-blk-hd span{color:rgba(255,255,255,.8);font-size:12px;margin-right:10px}
  .ap-sec>.lv-blk-hd::after{content:"";width:8px;height:8px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg);margin:-4px 2px 0 0;transition:transform .2s}
  .ap-sec.min>.lv-blk-hd::after{transform:rotate(-45deg);margin-top:0}
  .ap-sec.min>:not(.lv-blk-hd){display:none!important}
  .ap-sec.min>.lv-blk-hd{margin-bottom:6px}
}
/* Apuração sem popup: linhas e cartões não são clicáveis */
.ap-rank li,.mq-c{cursor:default}
.ap-rank li:hover{background:inherit}
.ap-rank li:nth-child(even):hover{background:var(--surface2)}
.mq-ap{font-size:11px;color:var(--txt3);margin-top:2px}
.mq-pdt b{all:unset;font-weight:600;color:var(--txt)}
/* Estrela de favorito */
.ap-star{flex-shrink:0;width:26px;height:26px;border:none;background:none;padding:0;font-size:18px;line-height:1;color:var(--txt3);cursor:pointer;border-radius:50%}
.ap-star:hover{color:#EAB308}
.ap-star.on{color:#EAB308}
.ap-star-demo{font-size:22px;color:#EAB308}
/* Lista de favoritos */
.ap-favs{margin-top:10px}
.ap-fav-l{max-height:none}
.ap-fav-l .ap-nm{display:flex;flex-direction:column;white-space:normal}
.ap-fav-k{font-size:11px!important;font-weight:500;color:var(--txt3);margin:1px 0 0!important}
/* ── Cartão dos majoritários ── */
.mq-box .mq{align-items:stretch}
.ap-maj2 .mq-box .mq-c.mj,.mq-box .mq-c.mj{flex:0 0 188px!important;max-width:none!important;min-height:0!important;display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px 14px 14px!important;gap:0;background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--border);border-radius:10px}
.mq-c.mj.ok{border-top-color:#16A34A}.mq-c.mj.no{border-top-color:#DC2626}
.mj-avw{position:relative;display:block;width:64px;height:64px}
.mj-av{position:absolute;inset:0;border-radius:50%;overflow:hidden;background:var(--surface2);box-shadow:0 0 0 1px var(--border);display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:700;color:var(--txt3)}
.mj-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
.mj-pt{position:absolute;top:-4px;left:calc(100% - 14px);white-space:nowrap;font-size:9.5px;font-weight:800;letter-spacing:.05em;line-height:1;padding:4px 7px;border-radius:999px;background:var(--surface);color:var(--txt2);box-shadow:0 0 0 1px var(--border)}
.mj-pt.pdt{background:var(--brand);color:#fff;box-shadow:0 0 0 2px var(--surface)}
.mj-uf{margin-top:10px;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--txt3)}
.mj-nm{margin-top:3px;width:100%;font-size:14px;font-weight:700;line-height:1.25;color:var(--txt);min-height:35px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mj-pdt{width:100%;min-height:32px;margin-top:4px;display:flex;flex-direction:column;justify-content:flex-start;gap:1px}
.mj-pdt div{font-size:11.5px;font-weight:600;color:var(--txt);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mj-pdt span{font-size:10px;font-weight:600;color:var(--txt3);margin-right:5px}
.mj-res{width:100%;margin-top:10px;padding-top:12px;border-top:1px solid var(--border-l)}
.mj-vrow{display:flex;align-items:baseline;justify-content:center;gap:8px}
.mj-v{font-size:21px;font-weight:800;line-height:1.1;color:var(--txt);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.mj-v0{color:var(--txt3)}
.mj-pos{font-size:13px;font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums}
.mj-pos small{font-size:11px;font-weight:600;color:var(--txt3)}
.mq-c.mj.ok .mj-pos{color:#16A34A}.mq-c.mj.no .mj-pos{color:#DC2626}
.mj-vl{margin-top:2px;font-size:11px;color:var(--txt3);font-variant-numeric:tabular-nums}
.mj-ap{margin-top:10px;display:flex;align-items:center;gap:8px}
.mj-ap-t{flex:1;height:5px;border-radius:3px;background:var(--surface2);overflow:hidden}
.mj-ap-t i{display:block;height:100%;background:var(--brand);border-radius:3px}
.mj-ap span{font-size:11px;color:var(--txt2);white-space:nowrap;font-variant-numeric:tabular-nums}
.mj-ap b{font-weight:800;color:var(--txt)}
@media(max-width:700px){.mq-box .mq-c.mj{flex:0 0 60%!important}}
/* nome numa linha; vice/suplentes lado a lado numa linha */
.mj-nm{min-height:0;-webkit-line-clamp:1;white-space:nowrap;text-overflow:ellipsis;display:block}
.mj-pdt{min-height:17px;margin-top:3px;flex-direction:row;justify-content:center;flex-wrap:nowrap;gap:12px}
.mj-pdt div{font-size:12px}
.mj-pdt span{margin-right:4px}
.mj-res{margin-top:10px}
.ap-maj2 .mq-box .mq-c.mj,.mq-box .mq-c.mj{flex-basis:200px!important}@media(max-width:700px){.mq-box .mq-c.mj{flex-basis:62%!important}}
/* ── Topo fixo da apuração: título, situação e Presidente ── */
.ap-sticky{position:sticky;top:52px;z-index:40;background:var(--bg);margin:-20px -20px 16px;padding:14px 20px 12px;border-bottom:1px solid var(--border)}
.ap-sticky .ap-hd{margin-bottom:10px}
.ap-sticky .pd{margin-top:0}
@media(max-width:700px){
  .ap-sticky{top:calc(52px + env(safe-area-inset-top));margin:-10px -10px 14px;padding:10px 10px 8px}
  .ap-sticky .ap-hd{gap:6px 10px;margin-bottom:8px}
  .ap-sticky .ap-hd h1{font-size:17px}
  .ap-sticky .ap-st>span:not(.lv-badge){display:none}
  .ap-sticky .ap-st .lv-btn{padding:4px 9px;font-size:12px}
}
/* ── Cláusula de barreira: cartão em destaque ── */
.cb{background:linear-gradient(135deg,#16305F 0%,#1F3F79 45%,#2C5BB0 100%);color:#fff;border-radius:12px;padding:20px 22px;margin-bottom:22px}
.cb-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.cb-hd h2{margin:0;font-size:20px;font-weight:800;color:#fff;letter-spacing:-.01em}
.cb-geral{display:inline-block;margin-top:4px;font-size:13px;color:rgba(255,255,255,.78)}
.cb-sel{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.28);border-radius:8px;padding:7px 30px 7px 12px;font:inherit;font-size:13px;font-weight:600;min-width:190px;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#fff 50%),linear-gradient(135deg,#fff 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px;background-repeat:no-repeat;cursor:pointer}
.cb-sel option{color:#111}
.cb-g{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cb-g.um{grid-template-columns:1fr}
.cb-c{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:14px 16px}
.cb-ch{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.cb-ch>span:first-child{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.cb-chip{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;background:rgba(255,255,255,.14);color:rgba(255,255,255,.85)}
.cb-chip.ok{background:#16A34A;color:#fff}.cb-chip.no{background:#DC2626;color:#fff}
.cb-row{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2px 10px;margin-top:10px}
.cb-rl{display:flex;flex-direction:column}
.cb-rl span{font-size:12px;color:rgba(255,255,255,.75)}
.cb-rl b{font-size:24px;font-weight:800;line-height:1.15;font-variant-numeric:tabular-nums}
.cb-rm{font-size:12px;font-weight:600;color:#FFDF00;padding-bottom:4px}
.cb-t{grid-column:1/-1;position:relative;height:8px;border-radius:4px;background:rgba(255,255,255,.18);margin-top:6px}
.cb-t i{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:#fff}
.cb-t i.ok{background:#4ADE80}
.cb-t em{position:absolute;top:-4px;bottom:-4px;width:2px;background:#FFDF00;transform:translateX(-1px)}
.cb-stats{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.16)}
.cb-stats div{display:flex;flex-direction:column}
.cb-stats span{font-size:11px;color:rgba(255,255,255,.65)}
.cb-stats b{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}
@media(max-width:800px){.cb-g{grid-template-columns:1fr}}
@media(max-width:700px){.cb{padding:16px 14px}.cb-hd h2{font-size:17px}.cb-sel{flex:1;min-width:0}.cb-rl b{font-size:20px}.cb-stats{gap:8px 18px}}
@media(max-width:700px){
  .ap-sticky .ap-st{flex-wrap:nowrap;width:100%;gap:8px}
  .ap-sticky .ap-st .lv-badge.ens{display:none}
  .ap-sticky .ap-st .lv-range{flex:1;width:auto;min-width:0}
  .ap-sticky .ap-st .lv-btn{white-space:nowrap}
  .ap-sticky .pd{padding:6px 10px}
  .cb-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px}
}
@media(max-width:700px){.cb-stats:has(>div:nth-child(4):last-child){grid-template-columns:1fr 1fr}}
/* menos espaço entre a cláusula e os majoritários */
.cb{margin-bottom:10px}
.ap-maj2>.ap-sec>.lv-blk-hd:first-child{margin-top:12px}
@media(max-width:700px){.ap-maj2>.ap-sec:first-child>.lv-blk-hd{margin-top:10px}}
@media(max-width:768px){.ap-sticky{margin:-10px -10px 14px;padding:10px 10px 8px}}
@media(max-width:700px){.cb-hd{flex-direction:column;align-items:stretch;gap:10px}.cb-sel{width:100%}}
/* Cláusula: números no cabeçalho, à direita; sem rodapé */
.cb-hd{align-items:center;margin-bottom:14px}
.cb-hd .cb-stats{margin:0;padding:0;border:none;gap:6px 26px;justify-content:flex-end}
.cb-hd .cb-stats div{align-items:flex-end;text-align:right}
@media(max-width:700px){
  .cb-hd .cb-stats{display:grid;grid-template-columns:1fr 1fr;justify-content:stretch;padding-top:10px;border-top:1px solid rgba(255,255,255,.16)}
  .cb-hd .cb-stats div{align-items:flex-start;text-align:left}
}
@media(max-width:700px){.cb-hd{align-items:stretch!important}.cb-hd .cb-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px 8px}.cb-hd .cb-stats span{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cb-hd .cb-stats b{font-size:13px}}
/* Celular: só os números que não se repetem, em duas caixinhas legíveis */
@media(max-width:700px){
  .cb-hd .cb-stats{grid-template-columns:1fr 1fr!important;gap:8px!important;padding-top:0!important;border-top:none!important}
  .cb-hd .cb-stats div:nth-child(n+3){display:none}
  .cb-hd .cb-stats div{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:8px;padding:8px 10px}
  .cb-hd .cb-stats span{font-size:11px!important;white-space:normal!important}
  .cb-hd .cb-stats b{font-size:16px!important;margin-top:1px}
}
/* Ranking de deputados: colunas Pos. · ★ · foto · Candidato · % válidos · Situação · Votos */
.ap-rank li{display:grid;grid-template-columns:34px 26px 34px minmax(0,1fr) 78px 118px 88px;align-items:center;gap:10px}
.ap-rank li.ap-rh{position:sticky;top:0;z-index:1;background:var(--surface)!important;border-bottom:1px solid var(--border);padding-top:9px;padding-bottom:9px}
.ap-rh span{font-size:11px!important;font-weight:700!important;letter-spacing:.04em;text-transform:uppercase;color:var(--txt3)!important;background:none!important}
.ap-rh .ap-star-h{text-align:center;font-size:12px!important;text-transform:none}
.ap-rk{width:auto!important;text-align:right}
.ap-pv{font-size:12px;color:var(--txt2);text-align:right;font-variant-numeric:tabular-nums}
.ap-vt{text-align:right}
.ap-sit{justify-self:start;font-size:11px;font-weight:600;color:var(--txt3)}
.ap-sit.ok,.ap-sit.in,.ap-sit.sup{padding:2px 8px;border-radius:999px}
.ap-sit.ok{background:#16A34A;color:#fff}
.ap-sit.in{background:rgba(31,63,121,.12);color:var(--navy)}
.ap-sit.sup{background:var(--surface2);color:var(--txt2);border:1px solid var(--border)}
:root[data-theme="dark"] .ap-sit.in{background:rgba(96,165,250,.18);color:#93C5FD}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .ap-sit.in{background:rgba(96,165,250,.18);color:#93C5FD}}
@media(max-width:1280px) and (min-width:701px){.ap-rank li{grid-template-columns:30px 24px 32px minmax(0,1fr) 70px 110px 80px;gap:8px}}
@media(max-width:700px){
  .ap-rank li{grid-template-columns:26px 22px 30px minmax(0,1fr) auto 64px;gap:7px}
  .ap-rank .ap-pv{display:none}
  .ap-rank .ap-av{width:30px;height:30px}
  .ap-sit{font-size:10px}
  .ap-sit.in{white-space:nowrap}
}
.ap-fav-l li{grid-template-columns:26px 34px minmax(0,1fr) 88px}
/* nomes completos (quebram em 2 linhas) e colunas mais estreitas */
.ap-rank li{grid-template-columns:30px 22px 32px minmax(0,1fr) 62px 104px 78px;gap:8px}
.ap-rank .ap-nm{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25;font-size:13.5px}
.ap-rh .ap-nm{font-size:11px}
@media(max-width:1280px) and (min-width:701px){.ap-rank li{grid-template-columns:30px 22px 32px minmax(0,1fr) 62px 104px 78px;gap:8px}}
@media(max-width:700px){.ap-rank li{grid-template-columns:24px 20px 30px minmax(0,1fr) auto 62px;gap:6px}.ap-rank .ap-nm{font-size:13px}}
.ap-fav-l li{grid-template-columns:26px 34px minmax(0,1fr) 88px}
.ap-rh span{white-space:nowrap;letter-spacing:.02em!important}.ap-rh .ap-pv{font-size:10px!important}
/* ── Faixa de favoritos (letreiro) ── */
#ap-tick:empty{display:none}
.tk{margin-top:8px;background:#0E1A33;border-radius:8px;overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 24px,#000 calc(100% - 24px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 24px,#000 calc(100% - 24px),transparent 100%)}
.tk-trilho{display:flex;gap:8px;width:max-content;padding:6px 8px;animation:tkRola linear infinite}
.tk:hover .tk-trilho,.tk:active .tk-trilho{animation-play-state:paused}
@keyframes tkRola{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 4px))}}
.tk-c{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:4px 10px 4px 4px;white-space:nowrap}
.tk-c.el{background:rgba(22,163,74,.28);border-color:rgba(74,222,128,.45)}
.tk-c .ap-av{width:26px;height:26px;font-size:10px}
.tk-t{display:flex;flex-direction:column;line-height:1.15}
.tk-t b{font-size:12px;font-weight:600;color:#fff}
.tk-t small{font-size:10px;color:rgba(255,255,255,.6)}
.tk-v{margin-left:4px;font-size:13px;font-weight:800;color:#FFDF00;font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion: reduce){.tk-trilho{animation:none}.tk{overflow-x:auto}}
@media(max-width:700px){.tk{margin-top:6px}.tk-trilho{padding:5px 6px}.tk-c .ap-av{width:22px;height:22px}.tk-t b{font-size:11px}.tk-v{font-size:12px}}
/* aviso rápido */
#lv-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#111827;color:#fff;font-size:13px;padding:10px 16px;border-radius:8px;box-shadow:0 6px 24px rgba(0,0,0,.25);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:999;max-width:calc(100vw - 32px);text-align:center}
#lv-toast.on{opacity:1;transform:translate(-50%,0)}
/* Celular: título, situação e botão na mesma linha */
.t-sm{display:none}
@media(max-width:700px){
  .t-lg{display:none}.t-sm{display:inline}
  .ap-sticky .ap-hd{flex-wrap:nowrap;align-items:center;justify-content:space-between}
  .ap-sticky .ap-hd h1{font-size:16px;white-space:nowrap}
  .ap-sticky .ap-st{width:auto;flex:0 1 auto;justify-content:flex-end;gap:6px}
  .ap-sticky .ap-st .lv-badge{font-size:10.5px;padding:3px 8px}
  .ap-sticky .ap-st .lv-btn{font-size:11px;padding:4px 8px;gap:4px}
  /* pré-visualização: controle deslizante vai para a linha de baixo */
  .ap-sticky .ap-hd:has(.lv-range){flex-wrap:wrap}
  .ap-sticky .ap-hd:has(.lv-range) .ap-st{width:100%}
}
/* Celular: botão de pré-visualização no fim da página (no topo só no computador) */
.ap-prev-m{display:none}
@media(max-width:700px){
  .ap-sticky .ap-st .lv-btn:has(.fa-eye){display:none}
  .ap-prev-m{display:flex;flex-direction:column;align-items:center;gap:6px;margin:24px 0 4px;text-align:center}
  .ap-prev-m .lv-btn{font-size:13px;padding:9px 16px}
  .ap-prev-m span{font-size:11px;color:var(--txt3)}
}
/* letreiro só anda quando não cabe; parado, sem máscara nas bordas */
.tk-trilho{animation:none}
.tk.rola .tk-trilho{animation:tkRola linear infinite}
.tk:not(.rola){-webkit-mask-image:none;mask-image:none}
@media (prefers-reduced-motion: reduce){.tk.rola .tk-trilho{animation:none}}
#ap-tick:empty{display:block}
.tk-dica{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:12px;color:rgba(255,255,255,.75);padding:7px 28px 7px 6px}
.tk-dica span{color:#FFDF00;font-size:14px}
.tk.rola{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 24px,#000 calc(100% - 24px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 24px,#000 calc(100% - 24px),transparent 100%)}
.tk-trilho{gap:0!important;padding:6px 0!important}
.tk-seg{display:flex;gap:8px;padding:0 8px;flex-shrink:0}
@keyframes tkRola{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* letreiro rolável: sem animação CSS, barra de rolagem oculta, arrastável */
.tk.rola .tk-trilho{animation:none!important}
.tk{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;cursor:grab;touch-action:pan-x;user-select:none;-webkit-user-select:none}
.tk::-webkit-scrollbar{display:none}
.tk.arr{cursor:grabbing}
.tk img{pointer-events:none;-webkit-user-drag:none}
/* ── Página pública da apuração (/apuracao/): sem menu lateral ── */
.so-apuracao .main{margin-left:0!important}
.so-apuracao .topbar{padding-left:20px!important}
.so-apuracao .topbar .top-logo{display:block;height:28px;width:auto;flex-shrink:0}
.so-apuracao .topbar-title{color:var(--txt2);font-weight:600}
.so-apuracao .content{max-width:1440px;margin:0 auto;width:100%}
.ap-rodape{display:flex;flex-direction:column;align-items:center;gap:8px;margin:34px 0 10px;padding:18px;border-radius:10px;background:var(--side-bg)}
.ap-rodape span{font-size:10px;font-weight:700;letter-spacing:.14em;color:rgba(255,255,255,.7)}
.ap-rodape div{display:flex;align-items:center;gap:18px}
.ap-rodape img{height:22px;width:auto}
@media(max-width:768px){.so-apuracao .topbar{padding-left:12px!important}.so-apuracao .topbar .top-logo{height:24px}}
/* ── Títulos dos blocos: retângulo em degradê vermelho → azul do PDT ── */
.ap-sec>.lv-blk-hd{display:flex;align-items:center;background:linear-gradient(100deg,#C8102E 0%,#9E1B4A 38%,#1F3F79 100%);border:none;border-radius:8px;padding:10px 16px;margin:22px 0 12px}
.ap-sec>.lv-blk-hd h2{color:#fff!important;font-size:16px;flex:1}
.ap-sec>.lv-blk-hd span{color:rgba(255,255,255,.8)}
@media(max-width:700px){.ap-sec>.lv-blk-hd{background:linear-gradient(100deg,#C8102E 0%,#9E1B4A 38%,#1F3F79 100%)!important}}
/* estrela nos cartões de governador e senador */
.mq-c.mj{position:relative}
.mj-star{position:absolute;top:6px;left:6px;z-index:2}
.mj-star .ap-star{width:28px;height:28px;font-size:19px;background:var(--surface);border-radius:50%}
/* ── Rodapé "Realização" fixo (página pública) ── */
.so-apuracao .ap-rodape{position:fixed;left:0;right:0;bottom:0;z-index:60;flex-direction:row;justify-content:center;gap:14px;margin:0;padding:7px 16px calc(7px + env(safe-area-inset-bottom));border-radius:0;box-shadow:0 -2px 10px rgba(0,0,0,.12)}
.so-apuracao .ap-rodape span{font-size:9.5px}
.so-apuracao .ap-rodape img{height:18px}
.so-apuracao .content{padding-bottom:calc(56px + env(safe-area-inset-bottom))!important}
.so-apuracao #lv-toast{bottom:calc(52px + env(safe-area-inset-bottom))}
/* remover favorito */
.ap-fav-l li{grid-template-columns:26px 34px minmax(0,1fr) 88px 30px!important}
.ap-fav-x{width:28px;height:28px;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--txt2);font-size:18px;line-height:1;cursor:pointer;padding:0}
.ap-fav-x:hover{border-color:#DC2626;color:#DC2626}
.ap-fav-pe{display:flex;align-items:center;justify-content:space-between;margin-top:10px;font-size:12px;color:var(--txt3)}
.ap-fav-pe .lv-btn{font-size:12px}
.tk-x{margin-left:2px;width:20px;height:20px;border:none;border-radius:50%;background:rgba(255,255,255,.12);color:rgba(255,255,255,.75);font-size:14px;line-height:1;cursor:pointer;padding:0;flex-shrink:0}
.tk-x:hover{background:#DC2626;color:#fff}
/* Celular: rodapé Realização no fim da página (não fixo) */
@media(max-width:700px){
  .so-apuracao .ap-rodape{position:static;margin:26px -10px -10px;box-shadow:none;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}
  .so-apuracao .content{padding-bottom:10px!important}
  .so-apuracao #lv-toast{bottom:calc(20px + env(safe-area-inset-bottom))}
}
/* ao chegar no fim da lista, a rolagem passa para a página */
.ap-rank{overscroll-behavior:auto!important}
/* degradê mais vermelho: vermelho PDT domina e só vira azul no fim */
.ap-sec>.lv-blk-hd,.ap-sec>.lv-blk-hd:is(*){background:linear-gradient(100deg,#C8102E 0%,#C8102E 50%,#9A1840 78%,#1F3F79 100%)!important}
/* alinhamento: majoritários e deputados com a mesma divisão meio a meio e o mesmo espaço entre colunas */
@media(min-width:1001px){
  .ap-maj2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:24px!important}
  .ap-maj-gov{max-width:none!important}
}
.ap-deps{gap:24px}
.ap-sec>.lv-blk-hd{margin:22px 0 12px!important;min-height:44px}
/* faixas de cartões sem a barra cinza de rolagem (as setas e o arraste já rolam) */
.mq-box .mq{scrollbar-width:none}
.mq-box .mq::-webkit-scrollbar{display:none}
/* Celular: nome em cima, situação embaixo do nome, votos à direita */
@media(max-width:700px){
  .ap-rank li:not(.ap-rh){grid-template-columns:24px 22px 32px minmax(0,1fr) auto!important;grid-template-areas:"rk st av nm vt" "rk st av si vt";row-gap:2px!important;column-gap:8px!important;padding-top:7px;padding-bottom:7px}
  .ap-rank li:not(.ap-rh) .ap-rk{grid-area:rk}
  .ap-rank li:not(.ap-rh) .ap-star{grid-area:st}
  .ap-rank li:not(.ap-rh) .ap-av{grid-area:av}
  .ap-rank li:not(.ap-rh) .ap-nm{grid-area:nm;align-self:end;font-size:13.5px}
  .ap-rank li:not(.ap-rh) .ap-sit{grid-area:si;align-self:start;justify-self:start;font-size:10px}
  .ap-rank li:not(.ap-rh) .ap-sit:not(.ok):not(.in):not(.sup){display:none}
  .ap-rank li:not(.ap-rh) .ap-vt{grid-area:vt;white-space:nowrap;font-size:14px;min-width:0}
  .ap-rank li:not(.ap-rh) .ap-pv{display:none}
  /* sem etiqueta, o nome fica centralizado na linha */
  .ap-rank li:not(.ap-rh):not(:has(.ap-sit.ok,.ap-sit.in,.ap-sit.sup)) .ap-nm{grid-row:1/3;align-self:center}
  /* títulos: Pos · ★ · Candidato · Votos */
  .ap-rh{grid-template-columns:24px 22px 32px minmax(0,1fr) auto!important;column-gap:8px!important}
  .ap-rh .ap-sit,.ap-rh .ap-pv{display:none}
}
/* faixa parada (dica ou poucos favoritos): sem máscara nas bordas, sem cursor de arrastar */
.tk:not(.rola){-webkit-mask-image:none!important;mask-image:none!important;cursor:default;overflow-x:hidden}
.tk-dica{padding:7px 10px}
/* sem esmaecimento nas bordas da faixa (laterais brancas) */
.tk,.tk.rola{-webkit-mask-image:none!important;mask-image:none!important}
/* rodapé: Núcleo de Base ao lado da logo do PDT */
.ap-rodape div{gap:12px}
.ap-rod-sep{width:1px;height:18px;background:rgba(255,255,255,.3)}
.ap-rod-nb{font-size:12px;font-weight:800;letter-spacing:.08em;color:#fff;white-space:nowrap}
@media(max-width:700px){.ap-rodape{flex-wrap:wrap}.ap-rodape div{gap:9px}.ap-rod-nb{font-size:11px}}
@media(max-width:700px){.ap-rod-nb,.ap-rod-sep{display:none}}
.ap-fav-limpa{color:#DC2626!important;border-color:rgba(220,38,38,.35)!important}.ap-fav-limpa:hover{background:rgba(220,38,38,.08)!important}
/* Favoritos no celular: ★ · foto · nome · votos · × (sem herdar o arranjo do ranking) */
@media(max-width:700px){
  .ap-rank.ap-fav-l li:not(.ap-rh){grid-template-columns:22px 32px minmax(0,1fr) auto 28px!important;grid-template-areas:none!important;row-gap:0!important}
  .ap-rank.ap-fav-l li:not(.ap-rh)>*{grid-area:auto!important;grid-row:auto!important}
  .ap-rank.ap-fav-l li:not(.ap-rh) .ap-nm{align-self:center}
}
/* títulos dos blocos: vermelho PDT puro, sem degradê */
.ap-sec>.lv-blk-hd,.ap-sec>.lv-blk-hd:is(*){background:#C8102E!important}
/* Fonte, método e perguntas */
.ap-faq{margin:0;display:grid;gap:12px}
.ap-faq dt{font-size:13px;font-weight:700;color:var(--txt)}
.ap-faq dd{margin:3px 0 0;font-size:13px;line-height:1.55;color:var(--txt2)}
.ap-faq b{color:var(--txt);font-weight:600}
/* Favoritos na faixa: blocos mais altos no computador */
@media(min-width:701px){
  .tk-trilho{padding:8px 0!important}
  .tk-c{padding:7px 12px 7px 7px;gap:10px}
  .tk-c .ap-av{width:34px;height:34px;font-size:12px}
  .tk-t b{font-size:13.5px}
  .tk-t small{font-size:11px}
  .tk-v{font-size:15px}
  .tk-dica{padding:10px 12px;font-size:13px}
}
/* Celular: blocos recolhidos mais juntos */
@media(max-width:700px){
  .ap-sec.min>.lv-blk-hd{margin:8px 0 0!important}
  .ap-sec.min+.ap-sec>.lv-blk-hd,.ap-sec.min+.ap-sec.min>.lv-blk-hd{margin-top:8px!important}
  .ap-maj2:has(.ap-sec.min),.ap-deps:has(.ap-sec.min){margin-bottom:0}
}
@media(max-width:1000px){.ap-deps{gap:0!important}}
/* ── Cláusula compacta ── */
.cb{padding:16px 18px!important;margin-bottom:8px!important}
.cb-hd{margin-bottom:10px!important}
.cb-hd h2{font-size:18px!important}
.cb-c{padding:10px 14px!important}
.cb-ch{margin-bottom:4px!important}
.cb-row{margin-top:6px!important}
.cb-rl b{font-size:20px!important;line-height:1.1!important}
.cb-t{height:6px!important;margin-top:4px!important}
.cb-t em{top:-3px!important;bottom:-3px!important}
@media(max-width:700px){
  .cb{padding:12px!important}
  .cb-hd{gap:8px!important;margin-bottom:8px!important}
  .cb-hd h2{font-size:16px!important}
  .cb-g{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .cb-c{padding:9px 10px!important}
  .cb-ch{flex-wrap:wrap;gap:4px}
  .cb-ch>span:first-child{font-size:9.5px!important;letter-spacing:.05em!important}
  .cb-chip{font-size:9.5px!important;padding:2px 6px!important}
  .cb-row{margin-top:7px!important;gap:0 6px!important}
  .cb-rl span{font-size:10.5px!important;line-height:1.25}
  .cb-rl b{font-size:17px!important}
  .cb-rm{font-size:10px!important;padding-bottom:2px!important}
  .cb-t{height:5px!important}
  .cb-hd .cb-stats div{padding:6px 9px!important}
  .cb-hd .cb-stats b{font-size:14px!important}
}
/* Deputados: Total · Legenda / Apurado · Quociente · Cadeiras */
.ap-ks.ap-ks5{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.ap-ks.ap-ks5>.ap-k{grid-column:span 2}
.ap-ks.ap-ks5>.ap-k:nth-child(-n+2){grid-column:span 3}
.ap-ks.ap-ks5 .ap-k{padding:10px 14px}
@media(max-width:700px){.ap-ks.ap-ks5{gap:8px}.ap-ks.ap-ks5 .ap-k{padding:8px 10px}.ap-ks.ap-ks5>.ap-k{flex:none!important}}
/* critérios no celular: rótulo numa linha só */
@media(max-width:700px){.cb-rl span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
.ap-ks.ap-ks5{grid-template-columns:repeat(6,minmax(0,1fr))!important}
.ap-ks.ap-ks5>.ap-k{grid-column:span 2!important}.ap-ks.ap-ks5>.ap-k:nth-child(-n+2){grid-column:span 3!important}
