:root{--ink:#16263f;--text:#1c2430;--text2:#5b6675;--mist:#edf0f4;--line:#e3e7ec;--paper:#ffffff;--pos:#1f5fbf;--neg:#c9641e;--good:#0b7a3b;--htext:#dbe3ee;--hmuted:#b9c6d9;--hpanel:rgba(255,255,255,.06);--htrack:rgba(255,255,255,.16);--htrack2:rgba(255,255,255,.26);--peerdot:#aab4c2;--stripdot:#b8c2cf;--bar:#9aa6b5;--hist:#c6cfdb;--histbg:#f4f6f9;--minibg:#e7ebf1;--flagbg:#fff3e2;--flagfg:#7a4410;--merow:#fff6dc;--hover:#f7f9fc;--shadow:rgba(22,38,63,.08);--g0:#c9641e;--g1:#e08a3c;--g2:#8a94a3;--g3:#4a86d8;--g4:#1f5fbf;--cb0:#c9641e;--cb1:#f3d2b3;--cb2:#e1e5ea;--cb3:#bcd3f1;--cb4:#1f5fbf;--cf0:#ffffff;--cf1:#4a2a0c;--cf2:#2a3342;--cf3:#0e2f5c;--cf4:#ffffff}
*{box-sizing:border-box} html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--text);font:15px/1.5 "IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-variant-numeric:tabular-nums}
a{color:var(--ink);text-decoration:none} a:hover{text-decoration:underline}
.tabs{position:sticky;top:0;z-index:20;background:var(--ink);display:flex;gap:4px;padding:6px 20px 0}
.tabs button{font:inherit;font-size:14px;font-weight:600;color:var(--hmuted);background:none;border:0;border-bottom:3px solid transparent;padding:8px 14px;cursor:pointer}
.tabs button.on{color:var(--paper);border-bottom-color:var(--paper)}
.view{display:none} .view.on{display:block}
.wrap{max-width:980px;margin:0 auto} .v-tec .wrap{max-width:1180px}
.chip{display:inline-block;border-radius:999px;padding:2px 9px;font-size:12px;white-space:nowrap;line-height:1.5;background:var(--mist);color:var(--text)} .chip .sym{font-size:9px;margin-right:5px;vertical-align:1px}
.chip.b0{background:var(--cb0);color:var(--cf0)} .g0{background:var(--g0)}.chip.b1{background:var(--cb1);color:var(--cf1)} .g1{background:var(--g1)}.chip.b2{background:var(--cb2);color:var(--cf2)} .g2{background:var(--g2)}.chip.b3{background:var(--cb3);color:var(--cf3)} .g3{background:var(--g3)}.chip.b4{background:var(--cb4);color:var(--cf4)} .g4{background:var(--g4)}
.muted{color:var(--text2);font-size:12px} .legend{font-size:12px;color:var(--text2);margin:8px 0 0}
.selo-key{display:flex;gap:14px;align-items:center;max-width:900px;font-size:12px;color:var(--text2);margin-top:30px}
.selo-key svg{flex:0 0 auto} .selo-key-t b{color:var(--ink)} .selo-sw{display:inline-block;margin:4px 10px 0 0;white-space:nowrap}
.selo-sw i{display:inline-block;width:11px;height:11px;border-radius:3px;vertical-align:-2px;margin-right:4px}
footer{margin-top:18px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:var(--text2);max-width:90ch}
/* --- Resumo (vista do presidente) --- */
.v-res header{background:var(--ink);color:var(--paper);padding:36px 20px 30px}
.v-res .kicker{color:var(--hmuted);font-size:14px;margin:0 0 4px}
.v-res h1{font-size:40px;line-height:1.05;margin:0 0 22px;font-weight:700;letter-spacing:-.01em}
.hero{display:grid;grid-template-columns:420px 1fr;gap:28px;align-items:center} .hero-selo svg{display:block;max-width:100%;height:auto}
.score{font-size:84px;line-height:.9;font-weight:700} .score small{font-size:18px;font-weight:400;color:var(--hmuted);margin-left:6px}
.score .chip{font-size:14px;padding:5px 12px;vertical-align:middle;margin-left:10px}
.hero-sent{color:var(--htext);margin:10px 0 0;font-size:15px;max-width:60ch}
.track-box{background:var(--hpanel);border-radius:12px;padding:14px 16px 8px;margin-top:14px}
.track-t{color:var(--htext);font-size:13px;margin:0 0 6px;max-width:70ch} .track-f{color:var(--hmuted);font-size:12px;margin:6px 0 0}
.trk{position:relative;height:70px;margin:14px 0 0}
.trk-segs{position:absolute;left:0;right:0;top:22px;height:16px;display:flex;gap:3px} .trk-segs i{flex:1;border-radius:8px;background:var(--htrack)} .trk-segs i.a{background:var(--htrack2)}
.trk-mark{position:absolute;top:12px;width:4px;height:36px;margin-left:-2px;border-radius:2px;background:var(--paper)}
.trk-ter{position:absolute;top:0;transform:translateX(-50%);font-size:12px;color:var(--hmuted);white-space:nowrap}
.trk-lab{position:absolute;top:50px;transform:translateX(-50%);font-size:15px;font-weight:700;color:var(--paper);white-space:nowrap}
.trk-end{position:absolute;top:50px;font-size:12px;color:var(--hmuted)} .trk-end.l{left:0} .trk-end.r{right:0}
.v-res main{padding:0 20px 44px} .v-res h2{font-size:21px;font-weight:600;margin:34px 0 14px;letter-spacing:-.005em}
.tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:-26px}
.tile{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 12px 10px;box-shadow:0 6px 18px var(--shadow)}
.tile-name{font-size:13px;font-weight:600;min-height:2.6em;line-height:1.3}
.tile-score{font-size:30px;font-weight:700;line-height:1.1;margin:2px 0 4px} .tile-score small{font-size:12px;color:var(--text2);font-weight:400}
.tile-chip{margin:0 0 8px} .tile-chip .chip{font-size:11px;padding:1px 8px}
.mini{position:relative;height:14px;background:var(--minibg);border-radius:7px;margin:0 0 6px} .mini i{position:absolute;top:50%}
.mini .ref{left:50%;width:0;height:14px;top:0;border-left:1px dashed var(--text2)} .mini .med{width:2px;height:14px;top:0;margin-left:-1px;background:var(--ink)}
.mini .dot{width:12px;height:12px;border-radius:50%;margin:-6px 0 0 -6px;box-shadow:0 0 0 2px var(--paper)} .tile-f{font-size:11px;color:var(--text2);margin-top:4px}
.dots i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:2px;background:var(--minibg)} .dots i.on{background:var(--ink)} .dots b{font-size:12px;color:var(--text2);margin-left:6px;font-weight:600}
.peers{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px}
.pi{padding:12px 0 10px;border-top:3px solid var(--line)} .pi.strong{border-top-color:var(--pos)} .pi.weak{border-top-color:var(--neg)}
.pi-t{font-weight:600;font-size:14px} .pi-bars{margin:8px 0 6px} .pi-f{display:flex;justify-content:space-between;align-items:center}
.pb{display:grid;grid-template-columns:120px 1fr 64px;gap:8px;align-items:center;font-size:12px;margin:3px 0} .pb-l{color:var(--text2)} .pb-v{text-align:right;font-weight:600}
.pb-track{display:block;height:9px;background:var(--mist);border-radius:5px;overflow:hidden} .pb-track.sm{height:7px;margin:2px 0}
.pb-fill{display:block;height:100%;background:var(--bar);border-radius:5px} .pb-fill.me{background:var(--ink)}
.peers-note{margin:12px 0 0;max-width:80ch}
.v-res table{border-collapse:collapse;width:100%;font-size:14px} .v-res th{text-align:left;color:var(--text2);font-weight:600;font-size:12px;padding:6px 8px;border-bottom:2px solid var(--line)}
.v-res td{padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:middle} .v-res td.num{white-space:nowrap} .lev-n{max-width:260px}
.v-res tr.grp td{background:var(--mist);font-weight:600;font-size:13px;padding:6px 8px;border:0} td.cmp{min-width:150px} td.cmp .muted{display:block;margin-top:2px}
.trend.good{color:var(--good);font-weight:600} .trend.bad{color:var(--neg);font-weight:600}
.alg{display:grid;grid-template-columns:1fr 1fr;gap:12px 36px;margin-top:6px} .alg-h{font-size:12px;color:var(--text2);margin:0 0 8px}
.rb{display:grid;grid-template-columns:150px 1fr 34px 46px;gap:10px;align-items:center;margin:5px 0;font-size:13px} .rb-n{color:var(--text2)} .rb.me .rb-n,.rb.me .rb-v,.rb.me .rb-r{color:var(--ink);font-weight:700}
.rb-t{position:relative;display:block;height:14px;background:var(--mist);border-radius:7px} .rb-d{position:absolute;top:50%;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;border-radius:50%;background:var(--peerdot)}
.rb.me .rb-d{width:16px;height:16px;margin:-8px 0 0 -8px;box-shadow:0 0 0 2px var(--paper)} .rb-ref,.sr-ref{position:absolute;left:50%;top:-3px;height:20px;border-left:1px dashed var(--text2)}
.rb-v{text-align:right;font-weight:600} .rb-r{text-align:right;color:var(--text2);font-size:12px}
.sr{display:grid;grid-template-columns:120px 1fr 112px;gap:10px;align-items:center;margin:9px 0;font-size:13px} .sr-n{color:var(--text2)} .sr-k{color:var(--text2);font-size:12px;text-align:right}
.sr-t{position:relative;display:block;height:18px;background:var(--mist);border-radius:9px}
.sd{position:absolute;top:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:var(--stripdot)} .sd.me{width:14px;height:14px;margin:-7px 0 0 -7px;box-shadow:0 0 0 2px var(--paper);z-index:1}
/* --- Técnico --- */
.v-tec{font-size:13px;line-height:1.45}
.v-tec header{background:var(--ink);color:var(--paper);padding:22px 20px 18px} .v-tec .kicker{color:var(--hmuted);margin:0 0 2px;font-size:13px}
.hdr-top{display:flex;gap:18px;align-items:center} .hdr-top svg{flex:0 0 auto} .v-tec h1{font-size:26px;margin:0 0 10px;font-weight:700} .v-tec h1 small{font-weight:400;color:var(--hmuted);font-size:16px}
.hdr-row{display:flex;flex-wrap:wrap;gap:18px 28px;align-items:center;font-size:12px;color:var(--htext)} .hdr-row code{color:var(--paper);background:var(--hpanel);padding:1px 6px;border-radius:4px}
.dl a{color:var(--paper);text-decoration:none;border:1px solid var(--htrack2);border-radius:999px;padding:4px 11px;margin-right:6px;font-size:12px}
.v-tec nav{position:sticky;top:44px;background:var(--paper);border-bottom:1px solid var(--line);z-index:5} .v-tec nav .wrap{display:flex;gap:4px;overflow-x:auto;padding:0 20px}
.v-tec nav a{padding:11px 12px;color:var(--text2);text-decoration:none;font-weight:600;white-space:nowrap;border-bottom:3px solid transparent} .v-tec nav a:hover{color:var(--ink);border-color:var(--ink)}
.v-tec main{padding:0 20px 40px} .v-tec h2{font-size:18px;font-weight:600;margin:34px 0 10px} .v-tec h2 small{font-weight:400;color:var(--text2);font-size:13px;margin-left:8px}
.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px} .kpi{border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.kpi .l{color:var(--text2);font-size:12px} .kpi .v{font-size:26px;font-weight:700;line-height:1.15} .kpi .s{font-size:12px;color:var(--text2)}
.v-tec table{border-collapse:collapse;width:100%} .v-tec th{text-align:left;color:var(--text2);font-weight:600;font-size:11.5px;padding:7px 8px;border-bottom:2px solid var(--line);vertical-align:bottom;background:var(--paper)}
.v-tec td{padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:middle} .v-tec td.num,.v-tec th.num{text-align:right;white-space:nowrap} .v-tec td.n{min-width:160px}
.v-tec tr.grp td{background:var(--mist);font-weight:600;padding:5px 8px;border:0} tr.ir{cursor:pointer} tr.ir:hover td{background:var(--hover)}
tr.det{display:none} tr.det.open{display:table-row} tr.det td{background:var(--hover);padding:10px 12px 12px 24px;font-size:12px}
.det-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 18px} .det-grid b{color:var(--text2);font-weight:600;font-size:11px} code{font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:11px}
.iname{font-weight:600} .code{color:var(--bar);font-size:11px;margin-left:4px}
.fchip{display:inline-block;margin:3px 4px 0 0;padding:0 6px;border-radius:4px;background:var(--flagbg);color:var(--flagfg);font-size:10.5px}
.pos{color:var(--good);font-weight:600} .neg{color:var(--neg);font-weight:600} td.dcell{width:190px;min-width:160px}
.dist{position:relative;display:block;height:26px;background:var(--histbg);border-radius:3px} .dist i{position:absolute}
.dist .h{bottom:7px;background:var(--hist);border-radius:1px 1px 0 0;max-height:17px} .dist .p{bottom:1px;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:var(--text)}
.dist .ref{left:50%;top:0;bottom:7px;border-left:1px dashed var(--text2)} .dist .m{top:0;bottom:7px;width:4px;margin-left:-2px;border-radius:2px;box-shadow:0 0 0 1px var(--paper)}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 10px} .filters input,.filters select{font:inherit;padding:6px 9px;border:1px solid var(--line);border-radius:8px} .filters label{font-size:12px;color:var(--text2)}
th.srt{cursor:pointer;text-decoration:underline dotted}
.db{display:inline-block;width:46px;height:7px;background:var(--mist);border-radius:4px;vertical-align:middle;margin-right:8px} .db span{display:block;height:100%;border-radius:4px;background:var(--bar)}
tr.me td{font-weight:700;background:var(--merow)}
.sb{display:grid;grid-template-columns:230px 1fr 90px;gap:10px;align-items:center;margin:4px 0;font-size:12px} .sb-t i{display:block;height:6px;border-radius:3px;background:var(--stripdot);margin:2px 0} .sb-t i.me{background:var(--ink)} .sb-v{text-align:right}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}
.trk2{position:relative;height:64px;margin:14px 0 4px} .trk2 .seg{position:absolute;left:0;right:0;top:24px;height:14px;background:var(--mist);border-radius:7px}
.trk2 .int{position:absolute;top:20px;height:22px;border-radius:11px;background:color-mix(in srgb,var(--pos) 25%,transparent)}
.trk2 .mk{position:absolute;top:14px;width:3px;height:34px;margin-left:-1.5px;background:var(--ink);border-radius:2px}
.trk2 .lab{position:absolute;top:0;transform:translateX(-50%);font-size:12px;color:var(--text2)} .trk2 .lab.b{top:48px;font-weight:700;color:var(--ink)}
.trk2 .end{position:absolute;top:48px;font-size:11px;color:var(--text2)} .trk2 .end.l{left:0} .trk2 .end.r{right:0}
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch}
.keywrap{padding:0 20px 30px} .pn{display:flex;justify-content:space-between;gap:12px;padding:8px 20px;background:var(--ink);font-size:13px}
.pn a{color:var(--hmuted);text-decoration:none;display:inline-flex;align-items:center;gap:6px} .pn a:hover{color:var(--paper)} .pn svg{flex:0 0 auto}
@media (max-width:760px){.hero{grid-template-columns:1fr} .score{font-size:64px} .v-res h1{font-size:32px} .tiles{grid-template-columns:1fr 1fr;margin-top:16px}
 .peers{grid-template-columns:1fr} td.cmp,th.cmp{display:none} .alg{grid-template-columns:1fr} .rb{grid-template-columns:110px 1fr 30px 40px} .sr{grid-template-columns:100px 1fr 90px}
 .kpis{grid-template-columns:1fr 1fr} .two{grid-template-columns:minmax(0,1fr)} .det-grid{grid-template-columns:1fr} td.dcell,th.dcell{display:none}}
@media print{.tabs,.v-tec nav{display:none} .view{display:block} header{-webkit-print-color-adjust:exact;print-color-adjust:exact} .tile{box-shadow:none} tr.det{display:table-row} @page{size:A4;margin:12mm}}

.top{background:var(--ink);color:var(--paper);padding:14px 20px}
.top .wrap{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.top b{font-size:18px} .top .ed{color:var(--hmuted);font-size:13px}
.top nav{margin-left:auto;display:flex;gap:16px;font-size:14px} .top nav a{color:var(--hmuted);text-decoration:none}
.top nav a:hover,.top nav a.on{color:var(--paper)}
.site main{padding:18px 20px 40px} .site .wrap{max-width:1180px}
.site h1{font-size:26px;margin:6px 0 4px} .site .lead{color:var(--text2);margin:0 0 14px;max-width:90ch}
.ctl{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:10px 0 12px}
.ctl input,.ctl select{font:inherit;font-size:14px;padding:6px 9px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--text)}
.ctl input[type=search]{min-width:260px} .ctl .cnt{color:var(--text2);font-size:13px}
table.rk{border-collapse:collapse;width:100%;font-size:13px}
table.rk th{position:sticky;top:0;background:var(--mist);text-align:left;font-weight:600;padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap}
table.rk th.s{cursor:pointer} table.rk th.s:hover{color:var(--ink)} table.rk th.on::after{content:" \2195";color:var(--text2)}
table.rk td{padding:4px 8px;border-bottom:1px solid var(--line);white-space:nowrap} table.rk tr:hover td{background:var(--hover)}
table.rk td.n,table.rk th.n{text-align:right} table.rk td.sc{text-align:center} table.rk svg{display:block}
table.rk th.sc{white-space:normal;text-align:center;line-height:1.2;vertical-align:bottom;min-width:58px;max-width:84px}
table.rk .sel{width:34px;padding-right:2px} table.rk .rkc{width:52px}
table.rk td.nuts{max-width:132px;overflow:hidden;text-overflow:ellipsis} table.rk .pop{width:74px}
table.rk tr.me td{background:var(--merow)} table.rk a{font-weight:600}
.warn{background:var(--flagbg);color:var(--flagfg);border-radius:8px;padding:10px 14px;margin:8px 0 14px;font-size:14px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:12px 0 24px}
.card{border:1px solid var(--line);border-radius:10px;padding:14px;box-shadow:0 1px 3px var(--shadow)}
.card h3{margin:8px 0 2px;font-size:18px} .card .muted{margin:0 0 8px}
.card table{width:100%;font-size:13px;border-collapse:collapse} .card td{padding:3px 0;border-bottom:1px solid var(--line)}
.card td.n{text-align:right} .card .tot td{font-weight:700;border-bottom:0;padding-top:8px}
.sl{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 24px;margin:10px 0 16px}
.sl label{font-size:13px;display:flex;flex-direction:column;gap:2px} .sl input{width:100%}
.sl .wv{font-weight:600}
.pos{color:var(--pos)} .neg{color:var(--neg)}
.mapw{margin:8px 0 10px} .map{display:block;width:100%;max-width:980px;height:auto}
.map .fr{fill:none;stroke:var(--line);stroke-width:1} .map .pl{font-size:13px;fill:var(--text2)}
.map a.mk:hover svg polygon{stroke:var(--ink)}
@media (max-width:760px){.cards,.sl{grid-template-columns:1fr} .ctl input[type=search]{min-width:0;width:100%}}
