:root{--navy:#14213d;--navy2:#1d2d52;--orange:#f5a524;--orange-soft:#fff4dc;--blue:#2f6fb0;--bg:#f4f6f9;--card:#fff;--ink:#1b2430;--ink2:#3d4757;--muted:#6b7686;--line:#e6eaf0;--chip:#eef1f5;--ok:#1f8a4c}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:Inter,"Helvetica Neue",Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.45}
a{color:inherit}
button{font:inherit;cursor:pointer}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}
/* topo */
.top{background:var(--navy);color:#fff}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:66px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;letter-spacing:-.01em}
.brand img{display:block;height:40px;width:auto}
@media (max-width:420px){.brand img{height:34px}}
.top nav a{color:#c9d2e3;text-decoration:none;font-size:14px;font-weight:600}
.hero{background:var(--navy);color:#fff;padding:26px 0 70px}
.hero .k{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);font-weight:700}
.hero h1{font-size:clamp(28px,5vw,44px);font-weight:900;line-height:1.05;margin:8px 0 8px;letter-spacing:-.02em}
.hero p{color:#c9d2e3;max-width:640px}
/* busca */
.searchbox{position:relative;margin-top:-44px;background:var(--card);border-radius:18px;box-shadow:0 10px 30px rgba(20,33,61,.12);padding:16px}
.sfield{display:flex;align-items:center;gap:10px;background:var(--bg);border-radius:12px;padding:0 14px;border:2px solid transparent}
.sfield:focus-within{border-color:var(--orange);background:#fff}
.sfield svg{flex:none;color:var(--muted)}
.sfield input{flex:1;border:0;background:transparent;font:inherit;font-size:17px;padding:15px 0;outline:none;color:var(--ink);min-width:0}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 13px;font-size:13.5px;font-weight:600;color:var(--ink2)}
.chip.on{background:var(--navy);border-color:var(--navy);color:#fff}
.pline{display:flex;align-items:center;gap:10px;margin-top:12px}
.pline label{font-size:13px;font-weight:700;color:var(--muted)}
.pline select{flex:1;max-width:340px;font:inherit;font-size:14.5px;font-weight:600;border:1px solid var(--line);border-radius:10px;padding:9px 12px;background:#fff;color:var(--ink)}
.psum{background:var(--navy);color:#fff;border-radius:16px;padding:16px 18px;margin-bottom:14px}
.psum .pt{font-size:13px;color:#c9d2e3}.psum .pt b{color:var(--orange);font-size:16px}
.psum .pg{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin:10px 0 12px}
.psum .pg div{font-size:12.5px;color:#c9d2e3}.psum .pg span{display:block;font-size:24px;font-weight:900;color:#fff}
.psum .pcs{display:flex;flex-wrap:wrap;gap:6px}
.psum .pc{border:0;background:rgba(255,255,255,.1);color:#fff;border-radius:8px;padding:6px 10px;font-size:12.5px}
.psum .pc.on{background:var(--orange);color:var(--navy)}
.sugg{position:absolute;left:16px;right:16px;top:74px;background:#fff;border-radius:14px;box-shadow:0 14px 40px rgba(20,33,61,.18);overflow:hidden;z-index:20;max-height:420px;overflow-y:auto;display:none}
.sugg.show{display:block}
.sg{display:flex;align-items:center;gap:12px;padding:11px 14px;border-top:1px solid var(--line);cursor:pointer}
.sg:first-child{border-top:0}
.sg:hover,.sg.act{background:var(--orange-soft)}
.num{flex:none;min-width:58px;text-align:center;background:var(--navy);color:#fff;font-weight:800;border-radius:8px;padding:5px 6px;font-size:14px}
.sg .t{flex:1;min-width:0}
.sg .t b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sg .t span{font-size:12.5px;color:var(--muted)}
.sg .v{font-weight:800;color:var(--navy);white-space:nowrap}
/* listas */
.sec{margin:26px 0}
.sec h2{font-size:20px;font-weight:800;color:var(--navy);margin-bottom:4px}
.cap{font-size:13px;color:var(--muted);margin-bottom:12px}
.card{background:var(--card);border-radius:16px;box-shadow:0 1px 3px rgba(20,33,61,.08);padding:18px}
.tabs[hidden]{display:none!important}
.tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin-bottom:12px;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:none;border:0;background:var(--chip);border-radius:10px;padding:9px 14px;font-weight:700;font-size:14px;color:var(--ink2)}
.tab.on{background:var(--orange);color:var(--navy)}
.rk{display:grid;grid-template-columns:30px 46px 1fr auto;gap:10px;align-items:center;padding:10px 4px;border-top:1px solid var(--line);cursor:pointer;text-decoration:none}
.rk:first-child{border-top:0}
.rk:hover{background:#fafbfc}
.rk .i{color:var(--muted);font-weight:700;font-size:13px;text-align:right}
.rk .nm{font-weight:700;min-width:0}
.rk .nm small{display:block;font-weight:500;color:var(--muted);font-size:12.5px}
.rk .vv{text-align:right;font-weight:800;color:var(--navy)}
.rk .vv small{display:block;font-weight:600;color:var(--muted);font-size:12px}
.badge{display:inline-block;font-size:11px;font-weight:800;border-radius:6px;padding:2px 6px;margin-left:6px;vertical-align:1px;background:var(--chip);color:var(--ink2)}
.badge.el{background:#e3f4ea;color:var(--ok)}
.more{display:block;width:100%;margin-top:12px;border:1px dashed #c9d0db;background:#fff;border-radius:10px;padding:11px;font-weight:700;color:var(--ink2)}
/* candidato */
.back{display:inline-flex;align-items:center;gap:6px;color:#c9d2e3;text-decoration:none;font-weight:600;font-size:14px;margin-bottom:12px}
.ch{display:flex;justify-content:space-between;gap:18px;align-items:center}
.ch h1{margin:6px 0 4px}
.bignum{flex:none;background:var(--orange);color:var(--navy);border-radius:14px;padding:12px 18px;text-align:center;font-weight:900;font-size:clamp(28px,5vw,40px);line-height:1}
.bignum small{display:block;font-size:11px;letter-spacing:.1em;margin-top:5px}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:-44px;position:relative}
.tile{background:var(--card);border-radius:14px;box-shadow:0 1px 3px rgba(20,33,61,.08);padding:14px 16px}
.tile .v{font-size:clamp(22px,3.4vw,30px);font-weight:900;color:var(--navy);line-height:1.1}
.tile .l{font-size:12.5px;color:var(--muted);margin-top:3px}
.acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.btn{display:inline-flex;align-items:center;gap:7px;border:0;border-radius:10px;padding:10px 14px;font-weight:700;font-size:14px;background:#fff;color:var(--navy);box-shadow:0 1px 3px rgba(20,33,61,.1);text-decoration:none}
.btn.pri{background:var(--navy);color:#fff}
.btn.wa{background:#25d366;color:#06351b}
.filter{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.filter input,.filter select{font:inherit;font-size:14px;border:1px solid var(--line);border-radius:10px;padding:9px 12px;background:#fff;min-width:0}
.filter input{flex:1;min-width:160px}
.filter .clear{border:0;background:var(--orange-soft);color:var(--navy);border-radius:10px;padding:9px 12px;font-weight:700;font-size:13px}
.row{display:grid;grid-template-columns:28px minmax(0,1.3fr) minmax(60px,1fr) 70px 52px 62px;gap:10px;align-items:center;padding:9px 2px;border-top:1px solid var(--line);font-size:14px}
.row.h{border-top:0;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;padding-top:0}
.row .i{color:var(--muted);font-weight:700;font-size:12.5px;text-align:right}
.row .n{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis}
.row .n small{display:block;font-weight:500;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row .bar{height:9px;background:var(--chip);border-radius:5px;overflow:hidden}
.row .bar i{display:block;height:100%;background:var(--blue);border-radius:5px}
.row .v{text-align:right;font-weight:800;color:var(--navy)}
.row .p{text-align:center}
.row .s{text-align:right;color:var(--ink2)}
.row.top2 .bar i{background:var(--orange)}
.row.click{cursor:pointer}
.row.zero .n,.row.zero .v,.row.zero .s{color:var(--muted)}
.row.zero .v{font-weight:700}
.row.click:hover{background:#fafbfc}
.pill{display:inline-block;min-width:34px;text-align:center;padding:2px 7px;border-radius:999px;background:var(--chip);font-size:12.5px;font-weight:800;color:var(--ink2)}
.pill.g{background:var(--orange);color:var(--navy)}
.lc{padding:12px 2px;border-top:1px solid var(--line)}
.lc .tp{display:flex;justify-content:space-between;gap:12px}
.lc .nm{font-weight:700}
.lc .ad{font-size:12.5px;color:var(--muted)}
.lc .vt{font-weight:900;color:var(--navy);font-size:17px;text-align:right;white-space:nowrap}
.lc .vt small{display:block;font-size:11.5px;color:var(--muted);font-weight:600}
.lc .secs{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.sc{font-size:12px;font-weight:800;background:var(--chip);border-radius:7px;padding:3px 7px;color:var(--navy)}
.sc em{font-style:normal;font-weight:600;color:var(--muted);margin-right:4px}
.sc.hi{background:var(--orange)}
.sc.hi em{color:#5a3d00}
.empty{padding:30px;text-align:center;color:var(--muted)}
.load{padding:40px;text-align:center;color:var(--muted)}
footer{color:var(--muted);font-size:12.5px;padding:30px 0 40px;text-align:center}
.pay{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;padding:6px 0}
.pay-l h3{font-size:20px;line-height:1.25;color:var(--navy);margin:4px 0 12px}
.pk{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#b07400;font-weight:800}
.pay ul{list-style:none;display:grid;gap:8px;margin-bottom:14px}
.pay li{padding-left:22px;position:relative;font-size:14.5px;color:var(--ink2)}
.pay li:before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:900}
.pay li b{color:var(--navy)}
.blur{filter:blur(4px);opacity:.7;user-select:none}
.blur div{display:flex;justify-content:space-between;padding:9px 0;border-top:1px solid var(--line);font-weight:700}
.pay-r{background:var(--bg);border-radius:14px;padding:18px}
.price{font-size:44px;font-weight:900;color:var(--navy);line-height:1}
.price small{font-size:18px;margin-right:4px;vertical-align:14px}
.price.sm{font-size:30px;margin:4px 0 8px}.price.sm small{vertical-align:8px;font-size:14px}
.pnote{font-size:12.5px;color:var(--muted);margin:6px 0 14px}
.pl{display:block;font-size:12.5px;font-weight:700;color:var(--ink2);margin:10px 0 5px}
.pay-r input[type=email],.cc input{width:100%;font:inherit;font-size:15px;border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:#fff}
.pchk{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--ink2);margin:10px 0 12px}
.pchk input{margin-top:3px}
.btn.wide{width:100%;justify-content:center;padding:13px}
.or{text-align:center;font-size:12px;color:var(--muted);margin:8px 0 0}
.perr{color:#b42318;font-size:13px;font-weight:600;margin-top:8px;min-height:1em}
.qr{background:#fff;border-radius:12px;padding:10px;width:220px;height:220px;margin:6px auto 4px;display:grid;place-items:center;font-size:12px;color:var(--muted);text-align:center}
.qr svg{width:100%;height:100%}
.cc{display:flex;gap:6px}.cc input{font-size:12px}
.wait{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--ink2);margin-top:12px}
.spin{flex:none;width:16px;height:16px;border:3px solid #d5dbe5;border-top-color:var(--orange);border-radius:50%;animation:sp 1s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
@media (max-width:720px){.pay{grid-template-columns:1fr}}
.offer{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,var(--navy),#22335c);color:#fff;border-radius:18px;padding:20px 22px;margin-top:18px;box-shadow:0 8px 24px rgba(20,33,61,.18)}
.of-k{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);font-weight:800}
.offer h3{font-size:clamp(18px,2.6vw,22px);font-weight:800;margin:4px 0 6px;line-height:1.2}
.offer p{font-size:14px;color:#c9d2e3;max-width:620px}
.of-btn{flex:none;border:0;cursor:pointer;background:var(--orange);color:var(--navy);border-radius:14px;padding:14px 22px;font:inherit;font-weight:900;font-size:24px;line-height:1.05;text-align:center;box-shadow:0 6px 18px rgba(245,165,36,.35);transition:transform .15s}
.of-btn span{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.of-btn:hover{transform:translateY(-2px)}
.lockbox{position:relative;background:var(--card);border-radius:16px;box-shadow:0 1px 3px rgba(20,33,61,.08);padding:18px;margin:20px 0;overflow:hidden}
.lk-rows{filter:blur(5px);opacity:.55;user-select:none}
.lk-rows div{display:grid;grid-template-columns:30px 1fr 60px;gap:10px;padding:12px 4px;border-top:1px solid var(--line);font-weight:700}
.lk-c{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:20px}
.lk-btn{border:0;cursor:pointer;background:var(--navy);color:#fff;font:inherit;font-weight:700;font-size:16px;border-radius:12px;padding:14px 22px;box-shadow:0 8px 22px rgba(20,33,61,.25)}
.lk-btn b{color:var(--orange);font-weight:900}
.lk-btn:hover{transform:translateY(-1px)}
.lk-c>div{display:flex;flex-direction:column;gap:10px;align-items:center}
.lk-vip{border:0;cursor:pointer;background:var(--orange);color:var(--navy);font:inherit;font-weight:700;font-size:14.5px;border-radius:12px;padding:11px 18px;box-shadow:0 6px 18px rgba(245,165,36,.35)}.lk-vip b{font-weight:900}
.vip{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:16px 20px;border-radius:16px;background:#fff7e8;border:1.5px solid #f5d08a}
.vip-t{min-width:0}.vip-t .of-k{color:#a96a00}.vip-t b{display:block;color:var(--navy);font-size:17px;margin:2px 0 3px}.vip-t span{color:var(--ink2);font-size:13.5px}
.vip-btn{flex:none;border:0;cursor:pointer;background:var(--orange);color:var(--navy);font:inherit;font-weight:700;font-size:15px;border-radius:12px;padding:13px 18px;box-shadow:0 6px 18px rgba(245,165,36,.35);transition:transform .15s}.vip-btn b{font-weight:900}.vip-btn:hover{transform:translateY(-2px)}
.vip.on{background:#eaf7ef;border-color:#9fd8b3}.vip.on .vip-t b{color:#1d7a43}
@media (max-width:720px){.vip{flex-direction:column;align-items:stretch}.vip-btn{width:100%}}
.dl{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--card);border:2px solid #cfe9d9;border-radius:16px;padding:16px 18px;margin-top:18px}
.dl-t b{display:block;color:var(--ok);font-size:16px}.dl-t span{font-size:13px;color:var(--muted)}
.dl-b{display:flex;gap:8px;flex-wrap:wrap}
.modal{position:fixed;inset:0;background:rgba(10,16,32,.62);display:grid;place-items:center;z-index:100;padding:16px;overflow-y:auto}
.mbox{position:relative;background:#fff;border-radius:20px;padding:22px;width:100%;max-width:420px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.mx{position:absolute;top:10px;right:12px;border:0;background:var(--chip);width:34px;height:34px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer;color:var(--ink2)}
.mt{font-weight:800;color:var(--navy);font-size:17px;margin-top:2px}.mt span{color:var(--muted);font-weight:700;font-size:14px}
.mhelp{font-size:13px;color:var(--ink2);text-align:center;margin:6px 0 10px}
.mmail{margin-top:14px;font-size:13.5px}.mmail summary{cursor:pointer;color:var(--blue);font-weight:600}
.pdfsel{width:100%;font:inherit;font-size:15px;padding:12px;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}
.pdfou{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;margin:12px 0}.pdfou:before,.pdfou:after{content:"";flex:1;height:1px;background:var(--line)}
.mlegal{font-size:11.5px;color:var(--muted);margin-top:12px;text-align:center}
.ok{text-align:center;padding:10px 0 16px}.ok b{display:block;font-size:20px;color:var(--navy);margin:8px 0 4px}.ok span{font-size:14px;color:var(--ink2)}
.okc{width:64px;height:64px;border-radius:50%;background:var(--ok);color:#fff;font-size:34px;font-weight:900;display:grid;place-items:center;margin:0 auto}
#printv{display:none}
@page{size:A4;margin:12mm 11mm 14mm;@top-left{content:""}@top-center{content:""}@top-right{content:""}@bottom-center{content:""}@bottom-right{content:"Página " counter(page) " de " counter(pages);font:9px Inter,Arial,sans-serif;color:#6b7686}@bottom-left{content:"Comitê Digital · comitedigital.com/resultados";font:9px Inter,Arial,sans-serif;color:#6b7686}}
@media print{
 body.printing #app, body.printing header, body.printing footer, body.printing .toast, body.printing .modal{display:none!important}
 body.printing{background:#fff!important}
 body.printing #printv{display:block;font:10.5px/1.35 Inter,Arial,sans-serif;color:#1b2430;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 #printv .pvh{display:flex;align-items:center;gap:14px;background:#14213d;color:#fff;padding:14px 18px;border-radius:12px}
 #printv .pvf{width:62px;height:62px;border-radius:50%;object-fit:cover;object-position:center top;border:3px solid #f5a524;flex:none}
 #printv .pvt{flex:1;min-width:0}#printv .pk{font-size:8.5px;letter-spacing:.1em;color:#f5a524;font-weight:800;text-transform:uppercase}
 #printv h1{font-size:22px;font-weight:900;margin:2px 0;letter-spacing:-.01em}#printv .pvt p{color:#c9d2e3;font-size:11px;margin:0}
 #printv .pvn{background:#f5a524;color:#14213d;font-weight:900;font-size:22px;border-radius:10px;padding:6px 14px}
 #printv .pvl{height:26px;margin-left:6px}
 #printv .pti{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}
 #printv .pti div{border:1px solid #e6eaf0;border-radius:10px;padding:8px 12px}#printv .pti b{display:block;font-size:17px;font-weight:900;color:#14213d}#printv .pti span{color:#5b6676;font-size:9.5px}
 #printv .pguia{background:#fff7e8;border-left:3px solid #f5a524;padding:7px 10px;border-radius:6px;font-size:9.5px;color:#3d4757}
 #printv h2{font-size:14px;color:#14213d;margin:16px 0 8px;border-bottom:2px solid #f5a524;padding-bottom:4px}#printv h2.nb{break-before:page}
 #printv .p3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}#printv .p3>div{border:1px solid #e6eaf0;border-radius:10px;padding:8px 10px}
 #printv h3{font-size:11px;margin:0 0 4px;color:#14213d}#printv ol{margin:0;padding-left:16px}#printv li{padding:2px 0;border-bottom:1px solid #f0f2f5}
 #printv li{display:list-item}#printv li span{display:inline-block;width:calc(100% - 46px);vertical-align:top}#printv li b{float:right}#printv li small{display:block;color:#6b7686;font-size:8.5px}
 #printv .pcols{columns:2;column-gap:16px}#printv .pcols table{width:100%}
 #printv table.pt{width:100%;border-collapse:collapse}#printv .pt th{font-size:8px;text-transform:uppercase;letter-spacing:.04em;color:#6b7686;text-align:left;padding:3px 5px;border-bottom:1.5px solid #14213d}
 #printv .pt td{padding:3px 5px;border-bottom:1px solid #eef1f5;vertical-align:top}#printv .pt tr{break-inside:avoid}#printv .pt thead{display:table-header-group}
 #printv .pt .r{text-align:right;white-space:nowrap}#printv .pt .i{color:#8a94a3}#printv .pt small{display:block;color:#6b7686;font-size:8.5px;font-weight:400}
 #printv .pr td{padding:2px 4px}#printv .bar{width:22%}#printv .bar i{display:block;height:7px;background:#2f6fb0;border-radius:2px}
 #printv .pp{display:inline-block;min-width:24px;text-align:center;background:#eef1f5;border-radius:8px;font-weight:800;font-size:9px;padding:0 4px}#printv .pp.g{background:#f5a524;color:#14213d}
 #printv .psv{font-size:9px;color:#5b6676;margin-top:8px}
 #printv .pm{margin-bottom:12px}
 #printv .pmh{display:flex;justify-content:space-between;align-items:center;background:#14213d;color:#fff;padding:7px 12px;border-radius:8px;break-after:avoid}
 #printv .pmh b{font-size:13px;margin-right:8px}#printv .pmh span{color:#c9d2e3;font-size:9px}#printv .pmv{font-weight:900;font-size:14px;color:#f5a524}#printv .pmv small{color:#c9d2e3;font-weight:500;font-size:9px}#printv .pmv .pp{color:#14213d}
 #printv .pz{margin:6px 0 0 0}#printv .pzh{font-weight:800;color:#14213d;font-size:10.5px;padding:3px 2px;break-after:avoid}#printv .pzh span{font-weight:500;color:#6b7686}
 #printv .pz th:nth-child(1){width:34%}#printv .pz th:nth-child(2){width:16%}#printv .pz th:nth-child(3){width:9%}
 #printv .sx span{display:inline-block;margin:0 6px 1px 0;color:#5b6676;white-space:nowrap}#printv .sx b{color:#1b2430}#printv .sx .h b{background:#fde7bf;border-radius:3px;padding:0 3px}
 #printv .pf{margin-top:14px;color:#6b7686;font-size:9px}
}
@media (max-width:720px){.offer{flex-direction:column;align-items:stretch}.of-btn{width:100%}.dl-b .btn{flex:1;justify-content:center}}
.ph{width:46px;height:46px;border-radius:50%;object-fit:cover;object-position:center top;background:var(--chip);border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}
.ph.nf,.phb.nf{visibility:hidden}
.sg .ph{flex:none;width:44px;height:44px}
.sn{font-style:normal;font-weight:700;color:var(--muted);font-size:13px;margin-left:4px}
.chl{display:flex;align-items:center;gap:18px;min-width:0}
.phb{flex:none;width:96px;height:96px;border-radius:50%;object-fit:cover;object-position:center top;border:4px solid var(--orange);background:#22335c}
.phb.nf{display:none}
@media (max-width:720px){.phb{width:68px;height:68px;border-width:3px}.chl{gap:12px}.rk{grid-template-columns:24px 40px 1fr auto;gap:8px}.ph{width:40px;height:40px}}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--navy);color:#fff;padding:11px 18px;border-radius:12px;font-weight:600;font-size:14px;opacity:0;transition:.25s;pointer-events:none;z-index:50}
.toast.on{opacity:1}
@media (max-width:720px){
 .tiles{grid-template-columns:repeat(2,1fr)}
 .row{grid-template-columns:24px minmax(0,1fr) 62px 46px 56px}
 .row .bar,.row.h .hb{display:none}
 .ch{align-items:flex-start}
}
@media print{
 .top,.searchbox,.acts,.filter,.more,.tabs,footer .np{display:none!important}
 body{background:#fff}
 .hero{padding:16px 0 56px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .card,.tile{box-shadow:none;border:1px solid var(--line)}
 *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* ===================== NOVO: 2024 + relatórios ===================== */
:root{--s1:#2a78d6;--s2:#eb6834;--s3:#1baf7a;--s0:#c4cad4;--bar:#2a78d6}
.top nav{display:flex;gap:18px;align-items:center}
.top nav a.nb{background:rgba(255,255,255,.1);padding:7px 12px;border-radius:9px;color:#fff}
@media (max-width:420px){.top nav{gap:12px}.top nav a{font-size:13px}}
.ssr{padding:20px 16px 30px}.ssr h2{font-size:18px;color:var(--navy);margin:18px 0 8px}.ssr ol,.ssr ul{padding-left:20px;display:grid;gap:4px}.ssr .cl{columns:2;display:block}.ssr a{color:var(--blue)}
.yr{display:inline-flex;background:rgba(255,255,255,.1);border-radius:12px;padding:4px;margin-top:16px;gap:4px}
.yr a{color:#c9d2e3;text-decoration:none;font-weight:800;font-size:15px;padding:8px 18px;border-radius:9px}
.yr a.on{background:var(--orange);color:var(--navy)}
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.feats div{background:var(--card);border-radius:14px;padding:12px 14px;box-shadow:0 1px 3px rgba(20,33,61,.08);font-size:13px;color:var(--ink2)}
.feats b{display:block;color:var(--navy);font-size:14.5px;margin-bottom:2px}
@media (max-width:720px){.feats{grid-template-columns:1fr}}
.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.city{display:block;text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;transition:border-color .15s,transform .15s}
.city:hover{border-color:var(--orange);transform:translateY(-2px)}
.city b{display:block;color:var(--navy);font-size:15px}
.city span{font-size:12.5px;color:var(--muted)}
.city em{font-style:normal;color:var(--ink2);font-weight:600}
.h2row{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.lnk{color:var(--blue);font-weight:700;font-size:14px;text-decoration:none}
.lnk:hover{text-decoration:underline}
/* gráfico de barras horizontais */
.hb{display:grid;gap:2px}
.hbr{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.6fr) 104px;gap:10px;align-items:center;padding:6px 2px;border-radius:8px;text-decoration:none;color:inherit}
a.hbr:hover,.hbr[data-tip]:hover{background:#f6f8fb}
.hbr .hl{font-weight:700;font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hbr .hl small{display:block;font-weight:500;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hbr .ht{height:14px;background:var(--chip);border-radius:0 4px 4px 0;overflow:hidden}
.hbr .ht i{display:block;height:100%;background:var(--bar);border-radius:0 4px 4px 0;min-width:3px}
.hbr.win .ht i{background:var(--navy)}
.hbr .hv{text-align:right;font-weight:800;color:var(--navy);font-size:14px;white-space:nowrap}
.hbr .hv small{display:block;font-weight:600;color:var(--muted);font-size:12px}
@media (max-width:720px){.hbr{grid-template-columns:minmax(0,1fr) 72px;}.hbr .ht{grid-column:1/-1;grid-row:2;height:10px}}
.ctitle{font-size:16px;font-weight:800;color:var(--navy);margin-bottom:2px}
.csub{font-size:12.5px;color:var(--muted);margin-bottom:12px}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:860px){.g2{grid-template-columns:1fr}}
/* relatório 360 */
.ins{display:grid;gap:8px}
.in{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:#f7f9fc;border-left:4px solid var(--s1);font-size:14.5px;color:var(--ink2)}
.in b{color:var(--navy)}
.in.o{border-left-color:var(--s2)}.in.g{border-left-color:var(--s3)}
.in .ic{flex:none;font-size:18px;line-height:1.2}
.kp{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}
.kp div{background:#f7f9fc;border-radius:12px;padding:10px 12px}
.kp b{display:block;font-size:22px;font-weight:900;color:var(--navy);line-height:1.15}
.kp span{font-size:12px;color:var(--muted)}
@media (max-width:720px){.kp{grid-template-columns:repeat(2,1fr)}}
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:6px 6px;border-bottom:1px solid var(--line)}
.tbl td{padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl td.r,.tbl th.r{text-align:right;white-space:nowrap}
.tbl td small{display:block;color:var(--muted);font-size:12px}
.tbl tr.click{cursor:pointer}.tbl tr.click:hover{background:#fafbfc}
.gain{color:var(--ok);font-weight:800}
/* bairros x prefeito */
.leg{display:flex;flex-wrap:wrap;gap:8px 16px;margin-bottom:12px;font-size:13px;color:var(--ink2)}
.leg span{display:inline-flex;align-items:center;gap:6px}
.dot{display:inline-block;width:11px;height:11px;border-radius:3px;flex:none}
.stk{display:flex;gap:2px;height:14px;border-radius:4px;overflow:hidden;background:var(--chip);min-width:90px}
.stk i{display:block;height:100%}
.bw{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.4fr);gap:12px;align-items:center;padding:9px 2px;border-top:1px solid var(--line);font-size:14px}
.bw:first-child{border-top:0}
.bw .n{font-weight:700;min-width:0}.bw .n small{display:block;color:var(--muted);font-weight:500;font-size:12px}
.bw .w{font-weight:700;min-width:0;display:flex;gap:6px;align-items:center}.bw .w small{color:var(--muted);font-weight:600}
@media (max-width:720px){.bw{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.bw .stk{grid-column:1/-1}}
.wins{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.wins div{background:#f7f9fc;border-radius:10px;padding:8px 12px;font-size:13px;color:var(--ink2);display:flex;gap:8px;align-items:center}
.wins b{color:var(--navy);font-size:16px}
/* mapa */
#map{height:460px;border-radius:14px;overflow:hidden;background:#e8edf3;z-index:0}
.mleg{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--muted);margin-top:10px;align-items:center}
.mleg i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:5px;vertical-align:-1px;border:1px solid #fff;box-shadow:0 0 0 1px #c9d0db}
.leaflet-popup-content{font:13px/1.4 Inter,Arial,sans-serif;color:var(--ink)}
.leaflet-popup-content b{color:var(--navy)}
/* avatar com iniciais quando não há foto */
.av{display:grid;place-items:center;border-radius:50%;background:#dfe5ee;color:var(--navy);font-weight:800;flex:none}
.rk .av{width:46px;height:46px;font-size:15px}.sg .av{width:44px;height:44px;font-size:14px}
.phb.av{font-size:32px;background:#22335c;color:#fff}
@media (max-width:720px){.rk .av{width:40px;height:40px}}
.ctx{display:grid;gap:2px}
.ctx a{display:grid;grid-template-columns:36px 1fr auto;gap:10px;padding:8px 6px;border-radius:8px;text-decoration:none;color:inherit;font-size:14px}
.ctx a:hover{background:#f6f8fb}.ctx a.me{background:var(--orange-soft);font-weight:800}
.ctx .i{color:var(--muted);font-weight:700;text-align:right}.ctx .v{font-weight:800;color:var(--navy)}
.ctx small{color:var(--muted);font-weight:500}
.tip{position:fixed;z-index:200;pointer-events:none;background:var(--navy);color:#fff;font-size:12.5px;line-height:1.35;padding:7px 10px;border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.2);max-width:260px;opacity:0;transition:opacity .12s}
.tip.on{opacity:1}
.sel2{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.sel2 select{flex:1;min-width:200px;font:inherit;font-size:14.5px;font-weight:600;border:1px solid var(--line);border-radius:10px;padding:9px 12px;background:#fff;color:var(--ink)}
.note{font-size:12.5px;color:var(--muted);margin-top:10px}
.lc .pos{display:inline-block;margin-left:6px}
@media print{.tip,#map{display:none!important}}
@media (max-width:720px){.ch{flex-direction:column;align-items:flex-start;gap:12px}.bignum{font-size:24px;padding:8px 14px;display:flex;align-items:baseline;gap:8px}.bignum small{margin-top:0}}
a.sg{text-decoration:none;color:inherit}
/* bloqueios (dados privados) */
.vv.lk{color:var(--muted);font-size:18px}
.tile .lk{font-size:.8em}
.lk-t{max-width:520px;color:var(--ink2);font-size:14.5px;margin:4px 0 6px}
.lockbox .lk-c>div{background:rgba(255,255,255,.92);border-radius:16px;padding:16px 18px;box-shadow:0 8px 30px rgba(20,33,61,.12)}
/* botão e passos do app */
.top nav .inst{border:0;cursor:pointer;font:inherit;font-size:13.5px;font-weight:800;background:var(--orange);color:var(--navy);padding:7px 12px;border-radius:9px}
.top nav .inst[hidden]{display:none}
.steps-i{padding-left:22px;display:grid;gap:8px;font-size:14.5px;color:var(--ink2);margin-top:4px}
@media (max-width:520px){.top nav a[href$="2024"],.top nav a[href$="2026"]{display:none}}
@media (display-mode: standalone){.top{padding-top:env(safe-area-inset-top)}}
