/* Painel da Capilaridade: o visual do capilaridade_5.html (sem mudança), servido pelo app do módulo. */
:root,html[data-theme=light]{
 color-scheme:light;
 --bg:#f3f5f4;--card:#fff;--ink:#1c2423;--mut:#6a7876;--weak:#9aa5a3;--line:#e4e8e7;--acc:#1e6a88;--accs:#dbe9ef;--bad:#c4553f;--good:#2f7a64;--gray:#e8ebea;
 --sh:0 1px 2px rgba(20,32,30,.06),0 10px 28px -14px rgba(20,32,30,.18);
 --wt:#735c1b;
 --sbad:#e0301a;--swarn:#e8a100;--sgood:#12a36b;--sacc:#0a78b5;--sgray:#6b7977}
html[data-theme=dark]{
 color-scheme:dark;
 --bg:#1c2625;--card:#26322f;--ink:#eef3f1;--mut:#aab7b4;--weak:#80908c;--line:#3a4945;--acc:#6bbcdc;--accs:#264656;--bad:#ee8c76;--good:#68c9a9;--gray:#303d3a;
 --sh:0 1px 2px rgba(0,0,0,.4),0 10px 28px -14px rgba(0,0,0,.6);
 --wt:#e8d08a;
 --sbad:#ff5a43;--swarn:#ffc01f;--sgood:#2ee0a0;--sacc:#3db4ee;--sgray:#9aa8a5}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:13px/1.4 "Segoe UI",system-ui,Arial,sans-serif;font-variant-numeric:tabular-nums}
header{display:flex;align-items:center;gap:16px;padding:10px 24px;background:var(--card);box-shadow:var(--sh);position:sticky;top:0;z-index:5;flex-wrap:wrap}
h1{display:flex;align-items:center;gap:10px;font-size:15px;margin:0;font-weight:600;letter-spacing:-.01em}
h2{font-size:14px;margin:0;font-weight:600;letter-spacing:-.01em}
.tabs{display:flex;gap:4px;background:var(--bg);padding:3px;border-radius:999px}
.tab{border:0;background:none;color:var(--mut);padding:7px 18px;border-radius:999px;font:inherit;font-size:13px;cursor:pointer;text-decoration:none}
.tab.on{background:var(--card);color:var(--ink);font-weight:600;box-shadow:var(--sh)}
.tab:hover:not(.on){color:var(--ink)}
.tab .bdg{display:inline-block;margin-left:7px;padding:1px 7px;border-radius:999px;background:var(--gray);color:var(--mut);font-size:11px;font-weight:700}
.tab.on .bdg{background:var(--accs);color:var(--acc)}
.tab .bdg.al{background:color-mix(in srgb,var(--sbad) 16%,var(--card));color:var(--bad)}
.sp{flex:1}.meta{color:var(--mut);font-size:12px}.meta.old{color:var(--wt)}
button,a.bt{background:var(--acc);color:var(--card);border:0;border-radius:999px;padding:7px 14px;cursor:pointer;font:inherit;font-weight:600;transition:background .15s,color .15s,box-shadow .15s;text-decoration:none;display:inline-block}
html[data-theme=dark] button:not(.sec):not(.tab):not(.nv){color:#0f1514}
button.sec,a.bt.sec{background:var(--gray);color:var(--ink);font-weight:500}
button.sec:hover,a.bt.sec:hover{background:var(--accs);color:var(--acc)}
button:disabled{opacity:.45;cursor:not-allowed}
button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.ib{width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:var(--gray)!important;color:var(--ink)!important;border-radius:50%}
.ib:hover{background:var(--accs)!important;color:var(--acc)!important}
.ib.spin svg{animation:rx .9s linear infinite}@keyframes rx{to{transform:rotate(360deg)}}
main{padding:20px 24px;max-width:1700px;margin:0 auto}
.card{background:var(--card);border-radius:16px;box-shadow:var(--sh);padding:16px 18px;margin-bottom:16px}
.filters{display:flex;flex-wrap:wrap;gap:14px 16px;align-items:flex-end}
.f{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--mut)}
.f select,.f input{font:inherit;font-size:13px;color:var(--ink);background:var(--bg);border:1px solid transparent;border-radius:999px;height:34px;padding:0 12px;min-width:104px}
.f select{appearance:none;-webkit-appearance:none;padding-right:26px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239aa5a3' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;cursor:pointer}
.f select:hover,.f input:hover{border-color:var(--line)}
.f select.on{background-color:var(--accs);color:var(--acc);font-weight:600}
.f input[type=search]{min-width:272px}
.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-bottom:16px}
.kpi{background:var(--card);border-radius:16px;box-shadow:var(--sh);padding:14px 18px;border:2px solid transparent}
.kpi .l{color:var(--mut);font-size:12px;font-weight:500}
.kpi .v{font-size:32px;font-weight:600;letter-spacing:-.02em;line-height:1.1;margin-top:4px}
.kpi .d{font-size:12px;color:var(--mut);margin-top:6px}
.kpi.click{cursor:pointer}.kpi.on{border-color:var(--ink)}
.kpi.pv,.kpi.pd,.kpi.pp,.kpi.pa{padding-left:22px}
.kpi.pv{box-shadow:var(--sh),inset 6px 0 0 var(--sbad)}
.kpi.pd{box-shadow:var(--sh),inset 6px 0 0 var(--swarn)}
.kpi.pp{box-shadow:var(--sh),inset 6px 0 0 var(--sgood)}
.kpi.pa{box-shadow:var(--sh),inset 6px 0 0 var(--sacc)}
table{border-collapse:collapse;width:100%}
th,td{padding:9px 10px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
th{font-size:12px;color:var(--mut);font-weight:600;position:sticky;top:0;background:var(--card);z-index:1}
td.n,th.n{text-align:right}
.scroll{max-height:620px;overflow:auto;border-radius:10px;border:1px solid var(--line)}
.scroll.sm{max-height:360px}
.scroll::-webkit-scrollbar{width:10px;height:10px}.scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px;border:2px solid var(--card)}
tr.cr{cursor:pointer}tr.cr:hover td{background:var(--accs)}
td[data-foco]{cursor:pointer}
td[data-foco]:hover{background:var(--accs)!important;color:var(--acc);text-decoration:underline}
.val div[data-foco]{cursor:pointer;border:2px solid transparent}
.val div[data-foco]:hover{border-color:var(--line)}
.val div.sel{border-color:var(--ink)}
.scroll.lg{max-height:56vh}
#mdv{grid-template-columns:repeat(5,1fr)}
html[data-theme=dark] .pill.av{color:#ffd966}
html[data-theme=dark] .pill.ru{color:#ff9f8c}
.gd{color:var(--good)}.bd{color:var(--bad)}.at{color:var(--wt)}.mu{color:var(--mut)}
td.b{font-weight:600}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;vertical-align:middle}
.dot.ok{background:var(--sgood)}.dot.av{background:var(--swarn)}.dot.ru{background:var(--sbad)}
.pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;background:var(--gray);color:var(--mut)}
.pill.ok{background:color-mix(in srgb,var(--sgood) 16%,var(--card));color:var(--good)}
.pill.ru{background:color-mix(in srgb,var(--sbad) 14%,var(--card));color:var(--bad)}
.pill.av{background:color-mix(in srgb,var(--swarn) 18%,var(--card));color:var(--wt)}
.pill.ac{background:var(--accs);color:var(--acc)}
.pill.ca{background:var(--gray);color:var(--mut)}
.kpi.pc{padding-left:22px;box-shadow:var(--sh),inset 6px 0 0 var(--weak)}
.note{color:var(--mut);font-size:12px;line-height:1.5;margin-top:8px}
.hd{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:10px;flex-wrap:wrap}
.sub{font-size:12px;color:var(--mut);margin:1px 0 0}
.hidden{display:none!important}
.info{display:inline-flex;width:15px;height:15px;border-radius:50%;border:1px solid var(--weak);color:var(--mut);font-size:10px;font-weight:700;align-items:center;justify-content:center;margin-left:5px;cursor:help;vertical-align:middle;font-style:normal;line-height:1}
.info:hover,.info:focus{background:var(--acc);border-color:var(--acc);color:var(--card);outline:none}
#tip{position:fixed;z-index:80;display:none;max-width:300px;background:var(--ink);color:var(--card);padding:8px 11px;border-radius:10px;font-size:12px;line-height:1.45;box-shadow:0 8px 24px -8px rgba(0,0,0,.45);pointer-events:none;font-weight:400;white-space:normal}
.mdl{position:fixed;inset:0;z-index:60;background:rgba(10,18,17,.5);display:flex;align-items:center;justify-content:center;padding:20px}
.mdb{background:var(--card);border-radius:16px;box-shadow:0 20px 60px -20px rgba(0,0,0,.5);width:min(1440px,100%);max-height:92vh;display:flex;flex-direction:column;padding:16px 18px;gap:10px;overflow:auto;clip-path:inset(0 round 16px);scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.mdb.sm{width:min(540px,100%)}.mdb.sm.wd{width:min(860px,100%)}
.tl{overflow-x:auto;padding:2px 2px 6px}
.tl-in{position:relative;display:grid;grid-template-rows:auto 26px auto;column-gap:0;min-width:min-content;padding:0 60px}
.tl-ln{grid-row:2;grid-column:1/-1;margin:0 -60px;align-self:center;height:3px;border-radius:2px;background:var(--line)}
.tl-n{grid-row:2;justify-self:center;align-self:center;width:14px;height:14px;border-radius:50%;background:var(--card);border:3px solid var(--weak);position:relative;z-index:1}
.tl-n.cr{border-color:var(--acc)}.tl-n.av{border-color:var(--bad)}.tl-n.ac{border-color:var(--swarn)}.tl-n.ok{border-color:var(--good)}.tl-n.up{border-color:var(--weak)}
.tl-n.last{width:18px;height:18px;box-shadow:0 0 0 4px color-mix(in srgb,var(--acc) 14%,transparent)}
.tl-c{position:relative;display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--mut);padding:8px 10px;border-radius:10px;background:var(--bg);white-space:normal;line-height:1.35;justify-self:center;width:216px}
.tl-c.up{align-self:end;margin-bottom:8px}.tl-c.dn{align-self:start;margin-top:8px}
.tl-c:after{content:"";position:absolute;left:50%;width:2px;height:8px;background:var(--line);margin-left:-1px}
.tl-c.up:after{bottom:-8px}.tl-c.dn:after{top:-8px}
.tl-c b{color:var(--ink);font-size:12px;font-weight:600}
.tl-t{font-weight:600;font-size:13px;color:var(--ink)}.tl-t.av{color:var(--bad)}.tl-t.ac{color:var(--wt)}.tl-t.ok{color:var(--good)}.tl-t.cr{color:var(--acc)}
.tl-l{color:var(--ink);opacity:.85}.tl-o{font-size:11px;color:var(--weak)}
.tl-h{font-size:12px;color:var(--mut);margin:10px 0 4px}.tl-h b{color:var(--ink)}
.mdh{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.frm{display:flex;flex-direction:column;gap:12px}
.frm label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--mut)}
.frm select,.frm input,.frm textarea{font:inherit;font-size:13px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:9px 12px;width:100%}
.frm select{height:38px;border-radius:999px;appearance:none;-webkit-appearance:none;padding-right:40px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239aa5a3' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.frm input{height:38px;border-radius:999px}
.frm textarea{resize:vertical;min-height:72px}
.val{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.val div{background:var(--bg);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--mut)}
.val b{font-size:20px;font-weight:600;color:var(--ink);letter-spacing:-.02em}
.val div.ok b{color:var(--good)}.val div.ru b{color:var(--bad)}.val div.av b{color:var(--wt)}
.msg{border-radius:12px;padding:10px 12px;font-size:12px;line-height:1.5;margin-bottom:10px}
.msg.av{background:color-mix(in srgb,var(--swarn) 12%,var(--card));color:var(--wt);box-shadow:inset 3px 0 0 var(--swarn)}
.msg.ru{background:color-mix(in srgb,var(--sbad) 10%,var(--card));color:var(--bad);box-shadow:inset 3px 0 0 var(--sbad)}
.msg.ac{background:var(--accs);color:var(--acc);box-shadow:inset 3px 0 0 var(--sacc)}
a.wa{color:var(--acc);text-decoration:none;font-weight:600}a.wa:hover{text-decoration:underline}
.ck{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--mut);height:34px;cursor:pointer}
.ck input{width:15px;height:15px;accent-color:var(--acc);cursor:pointer}
.nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.nv{flex:1;min-width:230px;text-align:left;background:var(--card);border:2px solid transparent;border-radius:16px;box-shadow:var(--sh);padding:13px 16px;cursor:pointer;color:var(--ink);font:inherit;font-weight:500;display:flex;flex-direction:column;gap:3px;transition:border-color .15s}
.nv:hover{border-color:var(--line)}
.nv.on{border-color:var(--ink)}
.nv .t{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px}
.nv .c{margin-left:auto;font-size:12px;font-weight:700;padding:1px 9px;border-radius:999px;background:var(--gray);color:var(--mut)}
.nv.on .c{background:var(--accs);color:var(--acc)}
.nv .c.al{background:color-mix(in srgb,var(--sbad) 16%,var(--card));color:var(--bad)}
.nv .s{font-size:12px;color:var(--mut);font-weight:400;line-height:1.4}
.nv i{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none}
.nv i.r{background:var(--sbad)}.nv i.a{background:var(--swarn)}.nv i.c{background:var(--sacc);margin:0;padding:0}
td.sm{white-space:normal;max-width:360px;font-size:12px;line-height:1.45}
.dd{position:relative;display:inline-block}
.ddm{display:none;position:absolute;right:0;top:100%;margin-top:4px;z-index:40;background:var(--card);border-radius:12px;box-shadow:var(--sh),0 0 0 1px var(--line);padding:4px;min-width:190px;flex-direction:column;gap:2px}
.dd.open .ddm{display:flex}
html[data-theme] .dd .ddm button:not(.sec):not(.tab){background:transparent;color:var(--ink);font-weight:500;text-align:left;border-radius:8px;padding:7px 12px;white-space:nowrap}
html[data-theme] .dd .ddm button:not(.sec):not(.tab):hover{background:var(--accs);color:var(--acc)}
.ddm .sep{height:1px;background:var(--line);margin:3px 6px}
#err{max-width:640px;margin:60px auto;text-align:center;color:var(--bad)}
@media(max-width:820px){main{padding:14px}header{padding:10px 14px}.meta{display:none}.kpi .v{font-size:26px}.val,#mdv{grid-template-columns:repeat(2,1fr)}}
.kpi.pc,.kpi.pn{padding-left:22px}
.kpi.pn{box-shadow:var(--sh),inset 6px 0 0 var(--weak)}
.kpi .v small{font-size:14px;font-weight:500;color:var(--mut);margin-left:3px}
.dk-bar{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin:0 2px 6px}
.dk-bar h2{font-size:16px}
.dk-bar .f select,.dk-bar .f input{background-color:var(--card);box-shadow:var(--sh)}
.dk-sec{font-size:13px;font-weight:600;color:var(--mut);margin:18px 2px 10px;text-transform:uppercase;letter-spacing:.04em}
.dk-sec .sub{text-transform:none;letter-spacing:0;font-weight:400;display:inline}
.dk-k6{grid-template-columns:repeat(6,minmax(0,1fr))}
.dk-k5{grid-template-columns:repeat(5,minmax(0,1fr))}
.dk-k6 .kpi,.dk-k5 .kpi{padding:12px 14px 12px 20px}.dk-k6 .kpi .v,.dk-k5 .kpi .v{font-size:26px}
.dk-k6 .kpi .d,.dk-k5 .kpi .d{margin-top:2px;line-height:1.35}
.dk-g2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:16px}
.dk-g3{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;margin-bottom:16px}
.dk-cal2{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.dk-cal2 .wd{font-size:11px;color:var(--weak);text-align:center;padding-bottom:2px}
.dk-cal2 .cx{min-height:58px;border-radius:8px;background:var(--bg);padding:5px 7px;display:flex;flex-direction:column;gap:1px;min-width:0}
.dk-cal2 .cx b{font-size:12px;font-weight:600;color:var(--mut);margin-bottom:2px}
.dk-cal2 .cx.fds b{color:var(--weak)}
.dk-cal2 .cx.fora{background:transparent}.dk-cal2 .cx.fora b{color:color-mix(in srgb,var(--weak) 50%,transparent)}
.dk-cal2 .cx em{font-style:normal;font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dk-cal2 .cx em.k1{color:var(--acc)}.dk-cal2 .cx em.k2{color:var(--good)}.dk-cal2 .cx em.k3{color:var(--mut);font-weight:500}
.dk-cal2 .cx.v{cursor:pointer;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.dk-cal2 .cx.v b{color:var(--ink)}
.dk-cal2 .cx.v:hover{box-shadow:inset 0 0 0 2px var(--acc)}
.dk-cal2 .cx.hj{box-shadow:inset 0 0 0 2px var(--ink)}
.dk-g2 .card,.dk-g3 .card{margin-bottom:0}
@media(max-width:1100px){.dk-g2,.dk-g3{grid-template-columns:1fr}.dk-k6,.dk-k5{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}
.dk-lg{display:flex;gap:14px;font-size:12px;color:var(--mut);align-items:center;flex-wrap:wrap}
.dk-lg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.dk-ch{height:220px}
.dk-ch svg{display:block;width:100%;height:100%;overflow:visible}
.dk-ch .gl{stroke:var(--line);stroke-width:1}.dk-ch .g0{stroke:var(--weak);stroke-width:1}
.dk-ch text{font-size:11px;fill:var(--weak)}
.dk-ch text.hj{fill:var(--ink);font-weight:600}
.dk-ch .hit{fill:transparent;cursor:pointer}.dk-ch .hit:hover{fill:color-mix(in srgb,var(--ink) 6%,transparent)}
.cri{fill:var(--acc);background:var(--acc)}.enc{fill:var(--sgood);background:var(--sgood)}.can{fill:var(--weak);background:var(--weak)}
.pen{fill:var(--swarn);background:var(--swarn)}.and{fill:var(--acc);background:var(--acc)}
.cont{fill:var(--sgray);background:var(--sgray)}.nov{fill:var(--acc);background:var(--acc)}.sai{fill:var(--sgood);background:var(--sgood)}
.fx{display:grid;grid-template-columns:110px minmax(0,1fr) 44px 42px;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}
.fx:last-child{border-bottom:0}
.fx i{display:block;height:10px;border-radius:5px;background:var(--bg);overflow:hidden}
.fx i b{display:block;height:100%;border-radius:5px}
.fx b.ok{background:var(--sgood)}.fx b.av{background:var(--swarn)}.fx b.ru{background:var(--sbad)}
.fx em{font-style:normal;font-weight:600;text-align:right}.fx small{color:var(--mut);text-align:right}
.dk-t td,.dk-t th{padding:8px 10px}
.mp-ctl{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.mp-lg{display:flex;gap:14px;font-size:12px;color:var(--mut);padding-bottom:9px}
.mp-lg i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px;border:1px solid var(--card)}
.mp-lg i.ok{background:var(--good)}.mp-lg i.av{background:var(--swarn)}.mp-lg .pin{margin-right:6px;vertical-align:-2px}
html[data-theme=dark] #mp.rst .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.9) contrast(.85)}
.mp-g{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;height:620px}
@media(max-width:1100px){.mp-g{grid-template-columns:1fr;height:auto}#mp{height:460px}.mp-sc{max-height:460px}}
#mp{border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--bg);min-height:300px;z-index:0}
.mp-side{display:flex;flex-direction:column;min-width:0;min-height:0}
.mp-h{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px}
.mp-h h3{font-size:13px;margin:0;font-weight:600}
.mp-h>span{display:flex;gap:6px;flex:none}
.mp-sc{flex:1;max-height:none;min-height:0}
#mp-tab td{vertical-align:top}
#mp-tab{table-layout:fixed}
#mp-tab th:nth-child(1){width:42%}#mp-tab th:nth-child(2){width:34%}#mp-tab th:nth-child(3){width:104px}#mp-tab th:nth-child(4){width:64px}
#mp-tab td{white-space:normal}
#mp-tab .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
#mp-tab .cd{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#cview button{height:34px}
html[data-theme] #cview button.on{background:var(--acc);color:var(--card)}html[data-theme=dark] #cview button.on{color:#0f1514}
#cq{min-width:220px!important}
#mp-tab .s2{display:block;font-size:11px;color:var(--mut);font-weight:400;margin-top:2px}
#mp-tab .st1{display:inline-flex;align-items:center;gap:7px;color:var(--ink);white-space:nowrap}
#mp-tab .mpx{margin-left:8px;width:18px;height:18px;padding:0;border-radius:5px;border:1px solid var(--line);background:var(--card);color:var(--mut);font-size:13px;line-height:15px;cursor:pointer;vertical-align:1px}
html[data-theme] #mp-tab .mpx{background:var(--card);color:var(--mut)}
#mp-tab .mpx:hover{border-color:var(--acc);color:var(--acc)}
#mp-tab tr.ab td{border-bottom:0}
#mp-tab tr.dt td{padding-top:0;background:transparent}
.dt-b{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--mut);padding:2px 0 4px}
.dt-i{display:inline-flex;align-items:center;gap:6px;color:var(--ink)}
.dt-i i{width:7px;height:7px;border-radius:50%}.dt-i i.ok{background:var(--good)}.dt-i i.ru{background:var(--bad)}
#mp-tab .st1 i{width:8px;height:8px;border-radius:50%;flex:none}
#mp-tab .st1 i.ok{background:var(--good)}#mp-tab .st1 i.ru{background:var(--bad)}
#mp-tab td.km{font-weight:600;text-align:right}
#mp-tab tr.ze td.km{color:var(--good)}
.leaflet-container{font:inherit;background:var(--bg)}
#mp.leaflet-grab,#mp .leaflet-grab{cursor:default}
#mp.leaflet-dragging,#mp.leaflet-dragging .leaflet-grab{cursor:grabbing}
#mp .leaflet-interactive{cursor:pointer}
.leaflet-tooltip{font-size:12px;border-radius:8px;border:0;box-shadow:var(--sh);background:var(--card);color:var(--ink)}
.leaflet-tooltip:before{display:none}
html[data-theme=dark] .leaflet-control-zoom a{background:var(--card);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] .leaflet-control-attribution{background:rgba(38,50,47,.8);color:var(--mut)}
html[data-theme=dark] .leaflet-control-attribution a{color:var(--acc)}
#cview{display:flex;gap:4px}
#cview button{height:34px;padding:0 14px}
#t-tab th,#t-tab td{padding-left:7px;padding-right:7px}
/* ordenação */
table.srt>thead>tr>th,table.srt>tbody>tr.srth>th{cursor:pointer;user-select:none}
table.srt>thead>tr>th:hover,table.srt>tbody>tr.srth>th:hover{color:var(--ink)}
table.srt th .so{display:inline-block;margin-left:4px;font-size:9px;color:var(--acc);vertical-align:1px}
.pill{display:inline-block!important;padding:2px 8px!important;border-radius:6px!important;font-size:11.5px!important;font-weight:500!important;line-height:1.35;white-space:nowrap;background:var(--bg)!important;color:var(--mut)!important}
.pill.ok,.pill.pp{background:color-mix(in srgb,var(--good) 12%,var(--card))!important;color:var(--good)!important}
.pill.ru,.pill.pv{background:color-mix(in srgb,var(--bad) 10%,var(--card))!important;color:var(--bad)!important}
.pill.av,.pill.pd{background:color-mix(in srgb,var(--swarn) 16%,var(--card))!important;color:var(--wt)!important}
.pill.ac{background:color-mix(in srgb,var(--acc) 12%,var(--card))!important;color:var(--acc)!important}
.pill.ca{background:var(--gray, var(--nb))!important;color:var(--mut)!important}
.tx{color:var(--ink)}.tx.mu{color:var(--mut)}.tx.bd{color:var(--bad)}.tx.at{color:var(--wt)}
/* ===== tema Vivensis ===== */
:root,html[data-theme=light]{
 --bg:#f4f4f5;--card:#fff;--ink:#18181b;--mut:#5f6470;--weak:#a1a1aa;--line:#e4e4e7;--lstrong:#c4c4cc;--surf:#f8f8f9;
 --acc:#0D4CA0;--accs:#e6eef8;--onacc:#fff;--good:#0A6E50;--bad:#B72A2A;--wt:#8F5200;--gray:#f1f1f3;
 --sgood:#0A6E50;--sbad:#B72A2A;--swarn:#E9A71A;--sacc:#0D4CA0;--sgray:#a1a1aa;
 --sh:0 1px 2px rgba(6,25,64,.05);
 --nb:#f1f1f3;--nt:#52525b;--gb:#e3f1eb;--gt:#0A6E50;--bb:#f8e6e6;--bt:#B72A2A;--wb:#fbf0dc}
html[data-theme=dark]{
 --bg:#0f0f11;--card:#18181b;--ink:#ececee;--mut:#a1a1aa;--weak:#71717a;--line:#2a2a2f;--lstrong:#52525b;--surf:#1f1f23;
 --acc:#7BB4DE;--accs:#1b2a3a;--onacc:#061940;--good:#4DBB81;--bad:#FF7A7A;--wt:#F2B01E;--gray:#26262b;
 --sgood:#4DBB81;--sbad:#FF7A7A;--swarn:#F2B01E;--sacc:#7BB4DE;--sgray:#71717a;
 --sh:0 1px 2px rgba(0,0,0,.3);
 --nb:#26262b;--nt:#c4c4cc;--gb:#14321f;--gt:#8de0ae;--bb:#3a1517;--bt:#ffb3b6;--wb:#3a2c10}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important}
header{box-shadow:none!important;border-bottom:1px solid var(--line)}
h1{display:flex!important;align-items:center;gap:12px}
h1 .lg{display:inline-flex;align-items:center;gap:12px}
h1 .lg img{display:block;height:26px}
.tabs{background:var(--surf)!important;border:1px solid var(--line);border-radius:10px!important;padding:3px!important}
.tab{border-radius:8px!important}
.tab.on{background:var(--card)!important;color:var(--ink)!important;box-shadow:0 1px 2px rgba(6,25,64,.12)!important}
html[data-theme=dark] .tab.on{background:var(--gray)!important}
.card,.kpi{border-radius:10px!important;box-shadow:var(--sh)!important;border:1px solid var(--line)!important;background:var(--card)}
.kpi.on{border-color:var(--ink)!important;box-shadow:none!important}
.kpi.pv,.kpi.pd,.kpi.pp,.kpi.pa,.kpi.pc,.kpi.pn,.kpi.pi{padding-left:18px!important;background:var(--card)!important;color:var(--ink)!important}
.kpi .l{color:var(--mut)!important;font-weight:500!important;font-size:13px!important}
.kpi .v{font-weight:600!important;color:var(--ink)!important;letter-spacing:-.02em}
.kpi.pv>.l::before,.kpi.pd>.l::before,.kpi.pp>.l::before,.kpi.pa>.l::before,.kpi.pc>.l::before,.kpi.pn>.l::before,.kpi.pi>.l::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px;vertical-align:1px}
.kpi.pv>.l::before{background:var(--sbad)}.kpi.pd>.l::before{background:var(--swarn)}.kpi.pp>.l::before{background:var(--sgood)}
.kpi.pa>.l::before,.kpi.pi>.l::before{background:var(--sacc)}.kpi.pc>.l::before,.kpi.pn>.l::before{background:var(--weak)}
button,a.bt{border-radius:10px!important}
button.sec,a.bt.sec{background:var(--card)!important;border:1px solid var(--lstrong)!important;color:var(--ink)!important}
button.sec:hover,a.bt.sec:hover{background:var(--surf)!important}
.ib{border-radius:10px!important;border:1px solid var(--line)!important;background:var(--card)!important;color:var(--ink)!important}
.f select,.f input{border-radius:6px!important;background-color:var(--card)!important;border:1px solid var(--lstrong)!important;color:var(--ink)!important}
.f select.on,.f input.on{background-color:var(--accs)!important;border-color:var(--acc)!important;color:var(--acc)!important}
.frm select,.frm textarea,.frm input{border-radius:6px!important;background-color:var(--card)!important;border:1px solid var(--lstrong)!important;color:var(--ink)!important}
.scroll{border-color:var(--line)!important;border-radius:10px!important}
table:not(.tree):not(.mx):not(.dk-hm)>thead>tr>th,table:not(.tree):not(.mx):not(.dk-hm)>tbody>tr.srth>th{background:var(--surf)!important;color:var(--mut)!important;font-weight:500!important}
td{border-bottom-color:var(--line)!important}
#cview button.on,.seg button.on{background:var(--card)!important;color:var(--ink)!important;box-shadow:0 1px 2px rgba(20,20,30,.12)!important}
.pill,.tab .bdg{border-radius:6px!important;border:1px solid var(--line)!important;background:var(--surf)!important;color:var(--mut)!important;font-weight:500!important;font-size:12px!important;padding:1px 8px!important;line-height:18px!important;box-shadow:none!important}
.pill.ok,.pill.pp{background:color-mix(in srgb,var(--sgood) 12%,var(--card))!important;border-color:color-mix(in srgb,var(--sgood) 35%,var(--card))!important;color:var(--good)!important}
.pill.ru,.pill.pv,.tab .bdg.al{background:color-mix(in srgb,var(--sbad) 9%,var(--card))!important;border-color:color-mix(in srgb,var(--sbad) 30%,var(--card))!important;color:var(--bad)!important}
.pill.av,.pill.pd{background:color-mix(in srgb,var(--swarn) 16%,var(--card))!important;border-color:color-mix(in srgb,var(--swarn) 55%,var(--card))!important;color:var(--wt)!important}
.pill.ac{background:var(--accs)!important;border-color:color-mix(in srgb,var(--acc) 28%,var(--card))!important;color:var(--acc)!important}
.pill.ca{background:var(--surf)!important;border-color:var(--line)!important;color:var(--mut)!important}
.dk-sec{text-transform:none!important;letter-spacing:0!important;font-size:15px!important;color:var(--ink)!important}
.dk-sec .sub{color:var(--mut)}
select:focus,select:focus-visible,input:focus,input:focus-visible,button:focus:not(:focus-visible){outline:none!important;box-shadow:none!important}
h1{font-size:18px!important;font-weight:500!important}
h2{font-size:16px!important;font-weight:500!important;color:var(--ink)}
.sub{font-size:12px!important;color:var(--weak)!important;margin-top:3px!important}
.sub:empty{display:none}
.hd{margin-bottom:14px!important;align-items:center!important}
.card{padding:18px 20px!important}
.kpi{padding:16px 18px!important}
.seg{display:inline-flex!important;gap:2px!important;background:var(--surf)!important;border:1px solid var(--line)!important;border-radius:8px!important;padding:2px!important;height:32px;box-sizing:border-box;align-items:center}
.seg button,.seg button.sec{background:transparent!important;border:0!important;color:var(--mut)!important;border-radius:6px!important;height:26px!important;padding:0 12px!important;font-weight:500!important;box-shadow:none!important;min-width:0}
.msg.av,.msg.ru,.msg.ac{box-shadow:none!important;border-radius:8px!important;border:1px solid color-mix(in srgb,currentColor 22%,transparent)!important}
.sx-n{color:var(--acc);font-weight:500}.sx-c{color:var(--mut)}
.f label.ck{display:inline-flex!important;align-items:center;gap:8px;height:34px;color:var(--mut);white-space:nowrap}
.f input[type=checkbox]{width:16px!important;height:16px!important;min-width:0!important;padding:0!important;margin:0!important;flex:none;accent-color:var(--acc)}
:root,html[data-theme=light]{--chn2:#cdd0d8}html[data-theme=dark]{--chn2:#3a3a42}
.fx b.ok{background:color-mix(in srgb,var(--sgood) 32%,var(--card))!important}.fx b.av{background:color-mix(in srgb,var(--swarn) 38%,var(--card))!important}.fx b.ru{background:color-mix(in srgb,var(--sbad) 28%,var(--card))!important}
svg rect.cont{fill:var(--chn2)!important}svg rect.nov,svg rect.cri,svg rect.and{fill:color-mix(in srgb,var(--acc) 30%,var(--card))!important}svg rect.sai,svg rect.enc{fill:color-mix(in srgb,var(--sgood) 32%,var(--card))!important}
.dk-lg i.cont{background:var(--chn2)!important}.dk-lg i.nov,.dk-lg i.cri,.dk-lg i.and{background:color-mix(in srgb,var(--acc) 30%,var(--card))!important}.dk-lg i.sai,.dk-lg i.enc{background:color-mix(in srgb,var(--sgood) 32%,var(--card))!important}
html[data-theme=dark] svg rect.nov{fill:color-mix(in srgb,var(--acc) 55%,var(--card))!important}html[data-theme=dark] .dk-lg i.nov{background:color-mix(in srgb,var(--acc) 55%,var(--card))!important}
button.mpx{width:15px!important;height:15px!important;padding:0!important;border-radius:4px!important;border:1px solid var(--weak)!important;background:var(--card)!important;color:var(--mut)!important;font-size:13px!important;line-height:12px!important;display:inline-grid;place-items:center;vertical-align:middle!important;box-shadow:none!important}
button.mpx:hover{border-color:var(--acc)!important;color:var(--acc)!important}
header .tab{height:32px!important;display:inline-flex!important;align-items:center;padding:0 18px!important;line-height:1!important}
.tab .bdg{line-height:16px!important;padding:0 6px!important;font-size:11.5px!important;margin-left:7px}
.hd .mp-h{display:flex;align-items:center;gap:12px;margin:6px 0 0!important;flex-wrap:wrap}
.hd .mp-h h3{font-size:13px!important;font-weight:500!important;color:var(--ink)}
.mp-side>.mp-sc{flex:1;height:100%}
#cmapc>.hd{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;align-items:end}
#cmapc>.hd>.mp-ctl{justify-self:stretch;justify-content:flex-start!important;display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}
#cmapc>.hd>.mp-ctl .mp-lg{margin-left:auto;padding-bottom:9px}
@media(max-width:1100px){#cmapc>.hd{grid-template-columns:1fr}}
.ev-top{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.ev-top .mu{font-size:12px;color:var(--weak)}
.seg button b{font-weight:600;margin-left:6px;color:var(--weak)}.seg button.on b{color:var(--ink)}
.ev-k{grid-template-columns:repeat(4,minmax(0,1fr))!important}
@media(max-width:800px){.ev-k{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.ev-dn{color:var(--good)!important;font-weight:600}.ev-up{color:var(--bad)!important;font-weight:600}
.dk-ch.ev-ch{height:260px}
.dk-ch text.ev-v{fill:var(--ink);font-weight:600}
.dk-ch text.ev-s{fill:var(--good);font-weight:600}
.dk-ch text.ev-sl{fill:var(--weak);font-size:10.5px}
.dk-lg i.ev-si{background:none!important;box-shadow:none!important;width:auto;height:auto;font-style:normal;color:var(--good);font-weight:700;margin-right:4px}
.dk-lg i.ev-si::before{content:'−'}
.ev-lk{cursor:pointer;border-bottom:1px dotted var(--weak)}.ev-lk:hover{color:var(--acc);border-color:var(--acc)}
.sx-s{color:var(--good);font-weight:500}
.ev-g2 .card{margin-bottom:0;min-width:0}
.dk-g2.ev-g2{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr)}
#d-evd td,#d-evd th{padding-left:8px;padding-right:8px;white-space:nowrap}
@media(max-width:1100px){.dk-g2.ev-g2{grid-template-columns:1fr}}
#d-evc td,#d-evc th{white-space:nowrap}
.dk-fc{padding:16px 20px!important;margin-bottom:16px}
.f-per{position:relative}
.drp-b{font:inherit;font-size:13px;height:34px;min-width:230px;display:inline-flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px;border:1px solid var(--lstrong);border-radius:6px!important;background:var(--card)!important;color:var(--ink)!important;cursor:pointer;box-shadow:none!important}
.drp-b svg{color:var(--mut);flex:none}
.drp-b:hover,.drp-b.ab{border-color:var(--acc)}
.drp-b.on{background:var(--accs)!important;border-color:var(--acc);color:var(--acc)!important}.drp-b.on svg{color:var(--acc)}
.drp{position:absolute;top:calc(100% + 6px);left:0;z-index:40;display:flex;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px -12px rgba(0,0,0,.28);color:var(--ink);font-size:13px}
.drp.hidden{display:none}
.drp-p{display:flex;flex-direction:column;gap:2px;padding:10px;border-right:1px solid var(--line);min-width:140px}
.drp-p button{font:inherit;text-align:left;border:0;background:none;color:var(--ink)!important;padding:7px 10px;border-radius:6px!important;cursor:pointer;box-shadow:none!important}
.drp-p button:hover{background:var(--surf)}.drp-p button.on{background:var(--accs);color:var(--acc)!important;font-weight:500}
.drp-c{position:relative;padding:12px 14px 10px}
.drp-nav{position:absolute;left:10px;right:10px;top:9px;display:flex;justify-content:space-between;pointer-events:none}
.drp-nav button{pointer-events:auto;width:28px;height:28px;border:0;background:none;color:var(--mut)!important;font-size:18px;line-height:1;border-radius:6px!important;cursor:pointer;box-shadow:none!important}
.drp-nav button:hover{background:var(--surf);color:var(--ink)}
.drp-ms{display:flex;gap:22px}
.drp-t{text-align:center;font-weight:500;height:28px;line-height:28px;margin-bottom:4px;color:var(--ink)!important}
.drp-g{display:grid;grid-template-columns:repeat(7,32px);row-gap:2px}
.drp-w{height:24px;line-height:24px;text-align:center;font-size:11px;color:var(--weak)}
.drp-d{font:inherit;font-size:12.5px;height:30px;border:0;background:none;color:var(--ink)!important;cursor:pointer;padding:0;border-radius:0!important;box-shadow:none!important;font-variant-numeric:tabular-nums}
button.drp-d:hover{background:var(--surf);border-radius:6px!important}
.drp-d.fut{color:var(--weak)!important;opacity:.45;cursor:default;display:grid;place-items:center}
.drp-d.hj{font-weight:700}
.drp-d.in{background:var(--accs)!important;color:var(--acc)!important}
.drp-d.ini,.drp-d.fim{background:var(--acc)!important;color:var(--onacc)!important;border-radius:6px!important;font-weight:600}
.drp-d.ini:not(.fim){border-top-right-radius:0!important;border-bottom-right-radius:0!important}
.drp-d.fim:not(.ini){border-top-left-radius:0!important;border-bottom-left-radius:0!important}
.drp-f{margin-top:8px;padding-top:8px;border-top:1px solid var(--line);font-size:12px;color:var(--mut)}
@media(max-width:720px){.drp{flex-direction:column;left:0;right:auto}.drp-p{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--line)}.drp-ms .drp-m+.drp-m{display:none}}
/* ===== navegação do módulo (acima das abas do painel) ===== */
.modnav{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.modnav a{color:var(--mut);text-decoration:none;padding:6px 12px;border-radius:8px;font-size:13px}
.modnav a:hover{color:var(--ink);background:var(--surf)}
.modnav a.on{color:var(--ink);background:var(--surf);font-weight:600}
.modnav .bdg{display:inline-block;margin-left:5px;padding:0 6px;border-radius:6px;font-size:11px;background:color-mix(in srgb,var(--sbad) 12%,var(--card));color:var(--bad)}
.quem{color:var(--mut);font-size:12px}
