:root{--vinho:#711424;--vinho2:#7d162a;--rubi:#9f183c;--rosa:#b92454;--cinza:#4a4a49;--bg:#f4f2f2;--card:#fff;--ink:#2b2b2a;--mute:#75726f;--line:#e3dedd;--soft:#f9f5f5;--ok:#1b7f45;--ok-bg:#e4f5ea;--warn:#9a5b00;--warn-bg:#fff0d6;--bad:#b3261e;--bad-bg:#fde7e5;--side:248px}*{box-sizing:border-box}body,html{margin:0}body{font:14px/1.45 Arial,Helvetica,sans-serif;color:var(--ink)}a{color:var(--rubi);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%}.shell{display:flex;min-height:100vh}.side{width:var(--side);flex:none;background:var(--vinho);color:#fff;display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh;padding:22px 14px 16px;background-image:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,0) 40%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cpath d='M60 6 114 60 60 114 6 60Z' fill='none' stroke='%23ffffff' stroke-opacity='.05' stroke-width='1.2'/%3E%3C/svg%3E")}.side .brand{padding:4px 8px 14px;border-bottom:1px solid rgba(255,255,255,.16)}.side .brand img{width:132px;display:block}.side .app{margin:14px 8px 12px;font-size:11px;letter-spacing:.09em;text-transform:uppercase;opacity:.75}.side nav{display:flex;flex-direction:column;gap:3px;flex:1 1}.side nav a{display:flex;gap:11px;align-items:center;color:#fff;padding:10px 12px;border-radius:8px;font-size:14px;opacity:.88;text-decoration:none}.side nav a svg{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.side nav a:hover{background:rgba(255,255,255,.09);opacity:1}.side nav a.on{background:rgba(255,255,255,.17);opacity:1;font-weight:700;box-shadow:inset 3px 0 0 #fff}.side .foot{border-top:1px solid rgba(255,255,255,.16);padding:12px 8px 0;font-size:12px}.side .foot b{display:block;font-size:13px}.side .foot span{opacity:.75}.side .foot button{margin-top:10px;width:100%;background:transparent;border:1px solid rgba(255,255,255,.45);color:#fff}.side .foot button:hover{background:rgba(255,255,255,.12)}.content{flex:1 1;min-width:0}main{padding:26px 30px 70px;max-width:1700px;margin:0 auto}@media (max-width:900px){.shell{flex-direction:column}.side{position:static;width:auto;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px}.side .brand{border:0;padding:0}.side .brand img{width:84px}.side .app{display:none}.side nav{flex-direction:row;flex-wrap:wrap;flex:1 1}.side nav a{padding:7px 10px}.side .foot{border:0;padding:0;display:flex;align-items:center;gap:10px}.side .foot button{margin:0;width:auto}main{padding:18px 14px 60px}}h1{font-size:24px;margin:0 0 4px;color:var(--vinho)}h2{font-size:16px;margin:26px 0 10px;color:var(--cinza)}h3{font-size:14px;margin:16px 0 6px}.sub{color:var(--mute);margin:0 0 18px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:16px;box-shadow:0 1px 2px rgba(60,20,20,.04)}.card h3:first-child{margin-top:0;color:var(--vinho)}.grid{display:grid;grid-gap:14px;gap:14px;margin-bottom:14px}.g4{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.g2{grid-template-columns:repeat(auto-fit,minmax(380px,1fr))}.kpi{background:var(--card);border-radius:12px;padding:15px 18px;border:1px solid var(--line);border-top:3px solid var(--rubi)}.kpi b{font-size:28px;display:block;color:var(--vinho)}.kpi span{color:var(--mute);font-size:12px}a.kpi{color:inherit;text-decoration:none}a.kpi:hover{border-top-color:var(--vinho);box-shadow:0 2px 8px rgba(60,20,20,.1)}.kpi.sel{background:var(--soft)}table{border-collapse:collapse;width:100%;background:var(--card)}td,th{border-bottom:1px solid var(--line);padding:7px 10px;text-align:left;vertical-align:middle}th{background:#f1eaea;font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--cinza);position:-webkit-sticky;position:sticky;top:0;z-index:1}td.n,th.n{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.scroll{overflow:auto;border:1px solid var(--line);border-radius:12px;max-height:72vh;background:var(--card)}table.tbl{font-size:12.5px}table.tbl td,table.tbl th{white-space:nowrap}table.tbl tbody tr:nth-child(2n) td{background:#fcfafa}table.tbl tbody tr:hover td{background:#f6eeee}table.tbl tr.div td{background:#fff6f0}table.tbl tr.div:hover td{background:#ffeee2}table.tbl td.desc{max-width:380px;overflow:hidden;text-overflow:ellipsis}table.tbl td.ck,table.tbl th.ck{width:34px;padding-left:12px}.res{color:var(--mute);font-size:12px;margin:6px 2px}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:11.5px;font-weight:700;background:#f0e3e6;color:var(--vinho2);white-space:nowrap}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.critico{background:var(--warn-bg);color:var(--warn)}.badge.alerta{background:var(--bad-bg);color:var(--bad)}.badge.reg{background:var(--ok-bg);color:var(--ok)}.badge.neutro{background:#ececec;color:var(--cinza)}.msg{padding:11px 15px;border-radius:10px;margin-bottom:14px;border:1px solid transparent}.msg.err{background:var(--bad-bg);color:var(--bad);border-color:#f3c4c0}.msg.ok{background:var(--ok-bg);color:var(--ok);border-color:#bfe4cb}.msg.warn{background:var(--warn-bg);color:var(--warn);border-color:#f0d9a4}label{display:block;font-weight:700;margin:10px 0 4px;font-size:12.5px;color:var(--cinza)}input,select,textarea{font:inherit;padding:8px 10px;border:1px solid #cdc6c5;border-radius:8px;background:#fff;width:100%;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid rgba(159,24,60,.28);border-color:var(--rubi)}input[type=checkbox]{width:16px;height:16px;accent-color:var(--rubi);cursor:pointer;vertical-align:middle}textarea{min-height:150px;font-family:Consolas,Courier New,monospace;font-size:12px}.btn,button{font:inherit;font-weight:700;background:var(--rubi);color:#fff;border:1px solid var(--rubi);padding:8px 18px;border-radius:8px;cursor:pointer;display:inline-block;text-decoration:none}.btn:hover,button:hover{background:var(--vinho2);border-color:var(--vinho2);text-decoration:none}.btn.sec,button.sec{background:#fff;color:var(--rubi)}.btn.sec:hover,button.sec:hover{background:var(--soft)}button.good{background:var(--ok);border-color:var(--ok)}button.bad{background:var(--bad);border-color:var(--bad)}.btn.off,button:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row>*{width:auto}.row .grow{flex:1 1;min-width:220px}.bar{height:9px;background:#eadfe1;border-radius:6px;overflow:hidden;min-width:80px;margin-top:6px}.bar i{display:block;height:100%;background:var(--rubi)}.mute{color:var(--mute)}.small{font-size:12px}ul.clean{margin:6px 0;padding-left:20px}form.inline{display:inline}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:18px 0 16px;flex-wrap:wrap}.tabs a{padding:9px 16px;border-radius:8px 8px 0 0;color:var(--mute);text-decoration:none}.tabs a.on{border:1px solid var(--line);border-bottom-color:var(--card);color:var(--vinho);font-weight:700;margin-bottom:-1px}.filtros,.tabs a.on{background:var(--card)}.filtros{display:flex;gap:10px;align-items:end;flex-wrap:wrap;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:12px}.filtros>div{min-width:140px}.filtros label{margin:0 0 3px;font-size:11px;text-transform:uppercase;letter-spacing:.03em}.lote{background:var(--soft);border:1px solid #e8d4d8;border-radius:12px;padding:14px 16px;margin-bottom:12px;display:grid;grid-template-columns:minmax(200px,260px) 1fr auto;grid-gap:12px;gap:12px;align-items:end}.lote textarea{min-height:58px;font-family:Arial,sans-serif;font-size:13px}.lote .full{grid-column:1/-1}@media (max-width:760px){.lote{grid-template-columns:1fr}}.passos{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.passos span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:12px;color:var(--mute)}.passos span.on{background:var(--rubi);border-color:var(--rubi);color:#fff;font-weight:700}.passos span.feito{border-color:var(--ok);color:var(--ok)}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login .brand{background:var(--vinho);color:#fff;padding:56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;background-image:radial-gradient(circle at 85% 12%,rgba(185,36,84,.55),transparent 42%),linear-gradient(160deg,#711424,#4d0c18)}.login .brand:after,.login .brand:before{content:"";position:absolute;border:2px solid rgba(255,255,255,.08);transform:rotate(45deg)}.login .brand:before{width:380px;height:380px;right:-120px;bottom:-120px}.login .brand:after{width:220px;height:220px;right:60px;bottom:80px}.login .brand img{width:170px;position:relative;z-index:1}.login .brand h2{color:#fff;font-size:30px;line-height:1.2;margin:0 0 10px;position:relative;z-index:1}.login .brand p{opacity:.82;max-width:420px;position:relative;z-index:1}.login .form{display:flex;align-items:center;justify-content:center;padding:40px}.login .form form{width:100%;max-width:360px}.login .form img{width:120px;margin-bottom:22px}@media (max-width:860px){.login{grid-template-columns:1fr}.login .brand{padding:28px;min-height:200px}.login .brand h2{font-size:22px}}body{background:var(--bg)}.side{transition:width .18s ease}.side .brand{display:flex;justify-content:center;align-items:center;padding:6px 0 14px;min-height:64px}.side .brand img.logo-full{width:138px;margin:0 auto}.side-toggle{align-self:center;margin:10px 0 0;padding:5px 9px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:8px;line-height:0}.side-toggle:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.4)}.side-toggle svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round}.side .app{text-align:center;margin:12px 8px 14px}.side .foot{padding:12px 4px 0}.side .foot .user{display:flex;align-items:center;gap:10px;color:#fff;padding:6px;border-radius:10px;text-decoration:none}.side .foot .user:hover{background:rgba(255,255,255,.1);text-decoration:none}.side .foot .who{min-width:0}.side .foot .who b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.side .foot .who span{font-size:11.5px;opacity:.75}.side .foot button{display:flex;align-items:center;justify-content:center;gap:8px}.side .foot .ico-sair{display:none;width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.avatar{border-radius:50%;object-fit:cover;flex:none;border:2px solid rgba(255,255,255,.5);background:#fff}.avatar.ini{display:inline-flex;align-items:center;justify-content:center;background:var(--rosa);color:#fff;font-weight:700}main .avatar{border-color:var(--line)}html.side-min{--side:74px}html.side-min .side{padding-left:10px;padding-right:10px}html.side-min .side .app,html.side-min .side .brand img.logo-full,html.side-min .side .lbl,html.side-min .side .who{display:none}html.side-min .side .logo-min{display:block}html.side-min .side nav a{justify-content:center;padding:11px 0}html.side-min .side nav a.on{box-shadow:none}html.side-min .side .foot .user{justify-content:center;padding:6px 0}html.side-min .side .foot .ico-sair{display:block}html.side-min .side .foot button{padding:8px 0}@media (max-width:900px){html.side-min .side .lbl{display:inline}html.side-min .side .logo-min{display:none}html.side-min .side .brand img.logo-full{display:block}.side-toggle{display:none}}.login .form{background:#fff}.login .form form{background:#fff;padding:30px 30px 24px;border-radius:16px;box-shadow:0 12px 40px rgba(60,20,20,.14);border:1px solid var(--line);text-align:left}.login .form form img{display:block;margin:0 auto 18px;width:140px}.login .form form .sub,.login .form form h1{text-align:center}.obra-head{background:var(--card);border-radius:14px;padding:18px 20px 16px;margin-bottom:14px;border:1px solid var(--line);border-left:6px solid var(--st,var(--rubi));box-shadow:0 1px 3px rgba(60,20,20,.05)}.obra-head .top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}.obra-head h1{margin:0;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:22px}.obra-head .desc{margin:4px 0 0;color:var(--cinza);max-width:860px}.obra-head .meta{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.obra-head .meta div{font-size:12px;color:var(--mute)}.obra-head .meta b{display:block;font-size:13px;color:var(--ink)}.crumb{font-size:12px;margin-bottom:8px;color:var(--mute)}.dist{display:inline-block;border:1px solid;border-radius:999px;padding:1px 10px;font-size:11.5px;font-weight:700;white-space:nowrap}.st-analise{--st:#3b6ea5;--st-bg:#eaf1fa}.st-mov{--st:#b7791f;--st-bg:#fdf3df}.st-dev{--st:#c2410c;--st-bg:#fdeadd}.st-enc{--st:#6d28d9;--st-bg:#f1eafd}.st-reg{--st:#1b7f45;--st-bg:#e4f5ea}.badge.st{background:var(--st-bg);color:var(--st);border:1px solid var(--st)}.obras-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));grid-gap:14px;gap:14px;margin-top:12px}.ocard{background:linear-gradient(180deg,var(--st-bg),#fff 46%);border:1px solid var(--line);border-top:5px solid var(--st);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 3px rgba(60,20,20,.06)}.ocard .l1{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.ocard .nota{font-size:19px;font-weight:700;color:var(--vinho);line-height:1.1}.ocard .pep{font-size:12px;color:var(--mute);margin-top:2px}.ocard .desc{font-size:12.5px;color:var(--cinza);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.9em}.ocard .l2{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.ocard .pcts{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.ocard .pct{border-radius:10px;text-align:center;padding:7px 4px}.ocard .pct b{display:block;font-size:19px;line-height:1.1}.ocard .pct span{font-size:11px;font-weight:700;letter-spacing:.04em}.ocard .dias{font-size:12px;color:var(--mute);justify-content:space-between}.ocard .acoes,.ocard .dias{display:flex;align-items:center;gap:8px}.ocard .acoes{margin-top:auto}.ocard .acoes .btn{flex:1 1;text-align:center}.lixo{padding:7px 9px;line-height:0;background:#fff;color:var(--bad);border:1px solid #e8b8b4}.lixo:hover{background:var(--bad-bg);border-color:var(--bad)}.lixo svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.legenda{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--mute);margin:4px 0 0}.legenda i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}table.ader td,table.ader th{text-align:center}table.ader td.pc{font-weight:700}.empil{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 18px}.empil .lin{display:grid;grid-template-columns:minmax(150px,280px) 1fr 110px;grid-gap:12px;gap:12px;align-items:center;padding:2px 0;font-size:12px}.empil .lin+.lin{border-top:1px dashed #eee6e6}.empil .nome{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empil .nome em{font-style:normal;color:var(--mute);font-size:11px;margin-right:6px}.empil .trilho{display:flex;height:14px;border-radius:6px;overflow:hidden;background:#eee}.empil .trilho i{display:block;height:100%;min-width:0}.empil .a{background:#2e9d62}.empil .n{background:#b3261e}.empil .num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.empil .num small{display:inline;margin-left:6px;font-weight:400;color:var(--mute);font-size:10.5px}@media (max-width:700px){.empil .lin{grid-template-columns:1fr;gap:3px}.empil .num{text-align:left}}.res-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:12px;gap:12px;margin-bottom:12px}.res-cards .kpi b,.res-cards .kpi.reserva b{font-size:24px}.kpi.com{border-top-color:#2e9d62}.kpi.uc{border-top-color:#3b6ea5}.lote{grid-template-columns:1fr;gap:14px;padding:16px 18px}.lote .campos{display:grid;grid-template-columns:minmax(230px,300px) 1fr;grid-gap:14px 18px;gap:14px 18px;align-items:start}.lote .campos textarea{min-height:84px;resize:vertical}.lote .campos label{margin-top:0}.lote .rodape{display:flex;gap:14px;align-items:center;flex-wrap:wrap;border-top:1px solid #ead9dc;padding-top:12px}.lote .opc{font-weight:400;color:var(--mute);font-size:11.5px;text-transform:none;letter-spacing:0}@media (max-width:760px){.lote .campos{grid-template-columns:1fr}}.atualiza textarea{min-height:170px;font-size:11.5px}.side .logo-min{display:none;width:44px;height:44px;background:url(/simbolo-branco.png) no-repeat 50%/contain}html.side-min .side .brand{min-height:56px;padding:6px 0 10px}html.side-min .side-toggle{width:100%;padding:7px 0;display:flex;justify-content:center;align-items:center;margin:4px 0 0}html.side-min .side-toggle svg{width:20px;height:20px}html.side-min .side nav{margin-top:10px}.kpi span{letter-spacing:.04em;font-size:11px;font-weight:700}.kpi span,.res-cards .kpi span{text-transform:uppercase}table.cons td,table.cons th{text-align:center}table.cons td.desc,table.cons th.desc{text-align:left}table.cons td.fam{font-weight:700}table.cons td.cls-com{background:#fff1cf!important;color:#7a4d00;font-weight:700}table.cons td.cls-uc{background:#dbe9ff!important;color:#1d4f91;font-weight:700}table.cons th.cls{background:#8a1f3a;color:#fff}table.cons th.dev,table.cons th.req{color:#fff}table.cons th.dev{background:#b3261e}table.cons th.req{background:#1b7f45}table.cons td.dev{background:#fde1de!important;color:#8f1d17;font-weight:700}table.cons td.req{background:#ddf3e4!important;color:#14693a;font-weight:700}table.cons td.ck,table.cons th.ck{text-align:center}.vert{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px 10px}.vert .rolagem{overflow-x:auto;padding-bottom:6px}.vert .cols{display:flex;align-items:flex-end;gap:7px;min-width:min-content;padding:0 6px;border-bottom:2px solid var(--cinza)}.vcol{width:34px;flex:none;display:flex;flex-direction:column;align-items:center}.vcol .vpc{writing-mode:vertical-rl;transform:rotate(180deg);font-size:10.5px;font-weight:700;height:40px;margin-bottom:4px;white-space:nowrap}.vcol .vbar{width:24px;height:210px;display:flex;flex-direction:column-reverse;background:#eee;border-radius:4px 4px 0 0;overflow:hidden}.vcol .vbar .a{background:#2e9d62}.vcol .vbar .n{background:#b3261e}.vrot{display:flex;gap:7px;padding:6px 6px 0;min-width:min-content}.vrot div{width:34px;flex:none;writing-mode:vertical-rl;transform:rotate(180deg);height:138px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}.vrot div em{font-style:normal;color:var(--mute);margin-bottom:4px}.atualizar,.voltar{display:inline-flex;align-items:center;gap:6px}.atualizar svg,.voltar svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.atualizar.gira svg{animation:gira .8s linear infinite}@keyframes gira{to{transform:rotate(1turn)}}.barra-topo{align-items:center;gap:10px;margin-bottom:10px}.barra-topo,.titulo-linha{display:flex;justify-content:space-between;flex-wrap:wrap}.titulo-linha{align-items:flex-start;gap:12px}.evid-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:14px;gap:14px;margin-top:12px}.evid-item{background:var(--card);border:1px solid var(--line);border-radius:12px;flex-direction:column}.evid-item,.evid-item .foto{overflow:hidden;display:flex}.evid-item .foto{background:#f1eded;align-items:center;justify-content:center;min-height:190px;max-height:340px}.evid-item .foto img{width:100%;height:auto;max-height:340px;object-fit:contain;display:block}.evid-item iframe{width:100%;height:340px;border:0;background:#fff}.evid-item .info{padding:9px 12px 11px;font-size:12px}.evid-item .info b{display:block;font-size:13px;word-break:break-all}.evid-mini{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 10px}.evid-mini a{display:block;border:1px solid var(--line);border-radius:8px;overflow:hidden;width:110px;background:#fff;text-decoration:none}.evid-mini img{width:110px;height:74px;object-fit:cover;display:block}.evid-mini span{display:block;padding:3px 6px;font-size:10.5px;color:var(--cinza);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.encerrada{border-left:6px solid #1b7f45;background:linear-gradient(180deg,#e4f5ea,#fff 60%)}.encerrada .selo{display:inline-block;background:#1b7f45;color:#fff;padding:3px 12px;border-radius:999px;font-weight:700;font-size:12px}.encerrada .fatos{display:flex;gap:8px 28px;flex-wrap:wrap;margin:12px 0 4px}.encerrada .fatos div{font-size:12px;color:var(--mute)}.encerrada .fatos b{display:block;font-size:14px;color:var(--ink)}.linha-tempo{margin:8px 0 0;padding:0;list-style:none;border-left:2px solid #cde8d6}.linha-tempo li{position:relative;padding:2px 0 8px 16px;font-size:12.5px}.linha-tempo li:before{content:"";position:absolute;left:-6px;top:7px;width:10px;height:10px;border-radius:50%;background:#1b7f45}.linha-tempo li small{color:var(--mute)}form.cad{background:#fff;padding:26px 28px 22px;border-radius:16px;box-shadow:0 12px 40px rgba(60,20,20,.14);border:1px solid var(--line)}form.cad img{display:block;margin:0 auto 14px;width:130px}.scroll+.card,.scroll+.evid-grade{margin-top:14px}.kpi.clicavel{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.kpi.clicavel:hover{box-shadow:0 2px 8px rgba(60,20,20,.12)}.kpi.clicavel.sel{background:var(--st-bg);box-shadow:inset 0 0 0 2px var(--st)}.enc-colunas{display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,1.4fr);grid-gap:14px;gap:14px}.enc-colunas .card{margin-bottom:14px}@media (max-width:900px){.enc-colunas{grid-template-columns:1fr}}.cartao-tabela{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:16px}table.compacta{table-layout:fixed;width:100%;font-size:11.5px}table.compacta td,table.compacta th{white-space:normal!important;word-break:break-word;padding:6px 5px;line-height:1.25}table.compacta th{position:static;font-size:10px}table.compacta td.desc{max-width:none;overflow:visible;text-overflow:clip}.vfull{width:100%;overflow:hidden}.vfull .cols{display:flex;align-items:flex-end;gap:4px;width:100%;padding:0 2px;border-bottom:2px solid var(--cinza)}.vfull .vcol{flex:1 1;min-width:0;width:auto}.vfull .vcol .vbar{width:100%;max-width:38px;height:240px}.vfull .vrot{display:flex;gap:4px;width:100%;padding:6px 2px 0;min-width:0}.vfull .vrot div{flex:1 1;min-width:0;width:auto;height:150px;font-size:11px}.enc-colunas{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start}.enc-colunas .card{margin:0}.cartao-tabela{overflow:hidden}.cartao-tabela.dez{overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}table.compacta th{position:-webkit-sticky;position:sticky;top:0;z-index:2}.login .form form,form.cad{text-align:left}.login .form form .sub,.login .form form h1,form.cad h1{text-align:center}.dias-legenda{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.dias-legenda .rot{font-size:11px;font-weight:700;letter-spacing:.05em;color:var(--cinza);margin-right:4px}.dias-legenda .badge{font-size:12px;padding:4px 12px}.ocard .nota-pep{line-height:1.2;word-break:break-word}.ocard .nota-pep .nota{font-size:21px;font-weight:800;color:var(--vinho)}.ocard .nota-pep .sep{font-size:18px;color:var(--mute)}.ocard .nota-pep .pepd{font-size:15px;font-weight:700;color:var(--cinza)}.ocard .resp{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:7px 10px}.ocard .resp .ini{flex:none;width:36px;height:36px;border-radius:50%;background:var(--rubi);color:#fff;font-weight:800;display:inline-flex;align-items:center;justify-content:center;font-size:13px}.ocard .resp>div{flex:1 1;min-width:0}.ocard .resp small{display:block;font-size:10px;letter-spacing:.06em;font-weight:700;color:var(--mute)}.ocard .resp b{display:block;font-size:14.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sino{margin-left:auto}.sino,.sino-btn{position:relative}.sino-btn{padding:7px 10px;line-height:0}.sino-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.sino-n{position:absolute;top:-7px;right:-7px;background:var(--bad);color:#fff;border-radius:999px;font-size:10.5px;min-width:19px;height:19px;line-height:19px;text-align:center;padding:0 4px;border:2px solid #fff}.sino-painel{position:absolute;right:0;top:46px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 40px rgba(40,10,15,.22);z-index:50;overflow:hidden}.sino-topo{padding:12px 14px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;background:var(--soft)}.sino-lista{max-height:62vh;overflow-y:auto}.sino-item{display:flex;gap:10px;padding:10px 14px;border-bottom:1px solid #f0e9e9;color:var(--ink);text-decoration:none}.sino-item:hover{background:var(--soft);text-decoration:none}.sino-item .ponto{flex:none;width:10px;height:10px;border-radius:50%;background:var(--st,var(--rubi));margin-top:6px}.sino-item .txt{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:13px}.sino-item .mov{font-size:12.5px;color:var(--cinza)}.sino-item .mov em{font-style:normal;font-weight:700;color:var(--st,var(--vinho))}.sino-item .mov i{font-style:normal;color:var(--mute)}.fluxo-wrap{overflow-x:auto;max-width:820px;margin:0 auto}svg.fluxo{width:100%;min-width:600px;height:auto;font-family:Arial,sans-serif}svg.fluxo text{text-anchor:middle;fill:#2b2b2a;font-size:13px}svg.fluxo .f-t{font-weight:700}svg.fluxo .f-t.sm{font-size:12px}svg.fluxo .f-s{fill:#75726f}svg.fluxo .f-q,svg.fluxo .f-s,svg.fluxo .f-s2{font-size:11.5px}svg.fluxo .f-q{fill:#75726f}svg.fluxo .f-box rect{fill:#fff;stroke:#4a4a49;stroke-width:1.3}svg.fluxo .f-dec{fill:#f9f5f5;stroke:#711424;stroke-width:1.6}svg.fluxo .f-fim rect{fill:#e4f5ea;stroke:#1b7f45;stroke-width:2}svg.fluxo .f-enc rect{fill:#f1eafd;stroke:#6d28d9;stroke-width:1.8}.ajuda-status{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:12px;gap:12px;margin-bottom:14px}.ajuda-card{background:linear-gradient(180deg,var(--st-bg),#fff 60%);border:1px solid var(--line);border-top:4px solid var(--st);border-radius:12px;padding:12px 14px}.ajuda-card p{margin:8px 0 0;font-size:13px}svg.fluxo text.l{text-anchor:start}svg.fluxo text.r{text-anchor:end}.cartao-tabela.dez{overflow:auto}table.compacta{table-layout:auto;width:max-content;min-width:100%;font-size:12px}table.compacta td,table.compacta th{white-space:nowrap!important;word-break:normal;padding:7px 12px}table.compacta td.desc{text-align:left}table.compacta td small{margin-left:6px}.side nav .sino{margin:0;position:static}.side nav .sino-btn{width:100%;display:flex;gap:11px;align-items:center;justify-content:flex-start;background:transparent;border:0;color:#fff;padding:10px 12px;border-radius:8px;font-size:14px;font-weight:400;opacity:.88;position:relative}.side nav .sino-btn:hover{background:rgba(255,255,255,.09);opacity:1}.side nav .sino-btn svg{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.side nav .sino-n{position:static;border:0;margin-left:auto;background:#fff;color:var(--vinho);font-weight:800}html.side-min .side nav .sino-btn{justify-content:center;padding:11px 0}html.side-min .side nav .sino-btn .lbl{display:none}html.side-min .side nav .sino-n{position:absolute;top:4px;right:6px;margin:0;background:var(--bad);color:#fff;min-width:17px;height:17px;line-height:17px;font-size:10px}.sino-painel{position:fixed;left:calc(var(--side) + 10px);top:70px;right:auto;width:min(420px,92vw);text-align:left}.sino-painel,.sino-painel .sino-topo b{color:var(--ink)}.side nav .sino-painel a.sino-item{color:var(--ink);opacity:1;padding:10px 14px;border-radius:0;display:flex;gap:10px;align-items:flex-start;font-size:13px;box-shadow:none;background:transparent;justify-content:flex-start}.side nav .sino-painel a.sino-item:hover{background:var(--soft)}.sino-painel .mute{color:var(--mute)}.fluxo-wrap{max-width:940px}svg.fluxo .p-enc polygon,svg.fluxo .p-enc rect{fill:#f9e8ec;stroke:#9f183c;stroke-width:1.8}svg.fluxo .p-alm rect{fill:#fdf3df;stroke:#b7791f;stroke-width:1.8}svg.fluxo .p-op rect{fill:#e6effa;stroke:#2f6db5;stroke-width:1.8}svg.fluxo .p-enc.fim rect{fill:#f3d3db;stroke:#711424;stroke-width:3}svg.fluxo .lg-enc{fill:#f9e8ec;stroke:#9f183c}svg.fluxo .lg-alm{fill:#fdf3df;stroke:#b7791f}svg.fluxo .lg-op{fill:#e6effa;stroke:#2f6db5}svg.fluxo .leg rect{stroke-width:1.5}.side .foot .who b{white-space:normal;overflow:visible;line-height:1.2}.side .foot .who .fn{display:block;font-size:11.5px;opacity:.9;line-height:1.25;margin-top:2px}.side .foot .who .pf{display:block;font-size:10.5px;opacity:.7;text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.login .form>div,.login .form>form{margin:0 auto}form.cad{width:100%}.login .brand:after,.login .brand:before{content:none}.login .brand .marca-grande{position:absolute;height:118%;right:-14%;bottom:-26%;width:auto;z-index:0}.login .brand .marca-media{position:absolute;height:46%;right:36%;top:-12%;width:auto;z-index:0}.login .brand{background-image:linear-gradient(160deg,#711424,#4d0c18)}.login .form form,form.cad{box-shadow:none;border:0;background:transparent}.login .form form.cad{max-width:100%}.obra-nova{margin-top:14px;border:1px solid var(--line);border-left:6px solid var(--rubi);border-radius:12px;padding:14px 16px;background:linear-gradient(180deg,#fbf7f7,#fff 70%)}.obra-nova .topo{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.obra-nova .nota{font-size:22px;color:var(--vinho)}.obra-nova .desc{margin:6px 0 0;color:var(--cinza)}.obra-nova .meta{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.obra-nova .meta div{font-size:12px;color:var(--mute)}.obra-nova .meta b{display:block;font-size:13.5px;color:var(--ink)}.modal-fundo{position:fixed;inset:0;background:rgba(30,10,15,.55);display:flex;align-items:center;justify-content:center;z-index:80;padding:18px}.modal{background:#fff;border-radius:16px;padding:22px 24px;width:min(760px,100%);max-height:92vh;overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.35)}.conf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.conf-grid>div{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:9px 12px}.conf-grid .larga{grid-column:1/-1}.conf-grid small{display:block;font-size:10px;letter-spacing:.06em;font-weight:700;color:var(--mute)}.conf-grid b{font-size:14px;word-break:break-word}@media (max-width:640px){.conf-grid{grid-template-columns:1fr 1fr}}table.tbl.centro td,table.tbl.centro td.desc,table.tbl.centro th{text-align:center}.fbtns{display:flex;gap:6px}.fbtn{padding:8px 14px;background:#fff;border:1px solid var(--line);color:var(--cinza);border-radius:8px;font-weight:700;cursor:pointer}.fbtn.dev{color:#b3261e;border-color:#e3a9a5}.fbtn.req{color:#008716;border-color:#9fd0a8}.fbtn.dev.sel{background:#b3261e;color:#fff}.fbtn.req.sel{background:#008716;color:#fff}.kpi .valor{display:block;margin-top:4px;font-weight:700;color:var(--cinza);font-size:12.5px}.kpi .vtotal{font-size:20px}.fbtns.dists{flex-wrap:wrap}.fbtn.dist{color:var(--dc);border-color:color-mix(in srgb,var(--dc) 45%,#fff);padding:6px 12px;font-size:12.5px;text-transform:uppercase}.fbtn.dist.sel{background:var(--dc);color:#fff}.valor-obra{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:6px 0}.valor-obra small{color:#75726f;font-weight:700;letter-spacing:.03em;font-size:10.5px}.valor-obra b{color:var(--cinza)}.side{z-index:100}.sino-painel{z-index:1000}.sino-item .txt .tit{display:block;line-height:1.35;overflow-wrap:anywhere}.sino-item .txt .tit .mute{font-weight:400}.side nav a .nav-n{margin-left:auto;background:#fff;color:var(--vinho);border-radius:999px;font-size:11px;font-weight:800;min-width:20px;height:20px;line-height:20px;text-align:center;padding:0 6px}html.side-min .side nav a{position:relative}html.side-min .side nav a .nav-n{position:absolute;top:2px;right:6px;margin:0;background:var(--bad);color:#fff;min-width:17px;height:17px;line-height:17px;font-size:10px;padding:0 4px}.emerg-prog{margin:10px 0 6px}.emerg-prog small{color:var(--mute);font-size:11.5px}.emerg-prog .barra{height:8px;border-radius:999px;background:#e9e1e1;overflow:hidden;margin-bottom:4px}.emerg-prog .barra i{display:block;height:100%;background:var(--st,var(--rubi));border-radius:999px}.emerg-n{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin:6px 0 8px}.emerg-n div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 10px;text-align:center}.emerg-n b{display:block;font-size:22px;color:var(--ink)}.emerg-n span{font-size:11px;color:var(--mute);text-transform:uppercase;letter-spacing:.03em}.emerg-lista td,.emerg-lista th{white-space:nowrap}.emerg-lista td.desc{white-space:normal;max-width:280px;overflow:hidden;text-overflow:ellipsis}.emerg-lista .pepd a{font-weight:700;color:var(--vinho);text-decoration:none}.emerg-lista .badge.st{font-size:10.5px}.emerg-lista .emerg-prog{margin:0;display:flex;align-items:center;gap:8px;min-width:120px}.emerg-lista .emerg-prog .barra{flex:1 1;margin:0}.emerg-lista{font-size:12.5px}.emerg-lista td,.emerg-lista th{padding:7px 8px}.emerg-lista td.desc,.emerg-lista th.desc{white-space:nowrap;width:190px;max-width:190px;min-width:190px;overflow:hidden;text-overflow:ellipsis;text-align:left}.emerg-lista .emerg-prog{min-width:90px}.emerg-lista .btn{white-space:nowrap}.emerg-lista td.desc,.emerg-lista th.desc{width:170px;max-width:170px;min-width:170px}.emerg-lista .badge{padding:2px 8px}.emerg-lista .emerg-prog{min-width:70px}.emerg-lista td.desc,.emerg-lista th.desc{width:150px;max-width:150px;min-width:150px}.dica{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:6px;border-radius:50%;border:1.5px solid var(--mute);color:var(--mute);font:700 11px/1 Georgia,serif;font-style:italic;vertical-align:middle;cursor:help}.dica:focus,.dica:hover{color:var(--rubi);border-color:var(--rubi)}.telas-sel{position:relative}.telas-sel summary{cursor:pointer;padding:6px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;white-space:nowrap;background:#fff}.telas-lista{position:absolute;z-index:20;right:0;top:36px;min-width:230px;display:flex;flex-direction:column;gap:6px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.14)}.telas-lista label{font-size:13px}.online-faixa,.telas-lista label{display:flex;gap:8px;align-items:center}.online-faixa{flex-wrap:wrap;margin:0 0 10px}.online-faixa .rot{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--mute);display:inline-flex;align-items:center;gap:6px}.online-faixa .pt{width:8px;height:8px;border-radius:50%;background:#2e9e57;display:inline-block}.chip-on{gap:6px;padding:2px 10px 2px 3px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12.5px}.chip-on,.chip-on b{display:inline-flex;align-items:center}.chip-on b{width:22px;height:22px;border-radius:50%;background:var(--rubi);color:#fff;font-size:10px;justify-content:center}.atualizar .atualizar-hora{font-size:12px;font-weight:600;line-height:1;color:var(--mute);margin-left:4px;padding-left:9px;border-left:1px solid var(--line);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.modal.novidades{width:min(680px,100%)}.modal.novidades h3{font-size:15px;margin:16px 0 4px;color:var(--rubi)}.modal.novidades ul{margin:0;padding-left:20px;line-height:1.55;font-size:14px}.modal.novidades li{margin-bottom:4px}