:root{--navy: #1f3864;--mid: #2e5a88;--pale: #d6e1f0;--amarelo: #fff2cc;--texto: #1a1a1a;--suave: #595959;--fundo: #f4f6f9;--linha: #e3e8ef;--verde: #1e7d32;--vermelho: #c00000;--laranja: #b35c00;font-family:Arial,Helvetica,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--fundo);color:var(--texto)}a{color:var(--mid)}h1{color:var(--navy);font-size:22px;margin:0 0 4px}h2{color:var(--mid);font-size:15px;margin:28px 0 8px;text-transform:uppercase;letter-spacing:.4px}.sub{color:var(--suave);font-size:12px;margin:0}.nota{margin-top:8px;font-style:italic}code{font-family:ui-monospace,Menlo,monospace;font-size:12px}header{background:var(--navy);color:#fff}.header-int{max-width:1180px;margin:0 auto;padding:0 20px;height:52px;display:flex;align-items:center;gap:20px}.marca{color:#fff;font-weight:700;text-decoration:none;font-size:15px}header select{background:var(--mid);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:5px;padding:5px 8px;font-size:13px;max-width:280px}header nav{display:flex;gap:4px;margin-left:8px}header nav a{color:#ffffffbf;text-decoration:none;padding:6px 10px;border-radius:5px;font-size:13px}header nav a:hover{background:#ffffff1a;color:#fff}header nav a.active{background:#ffffff2e;color:#fff}.usuario{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:12px;color:#ffffffd9}.papel{background:#ffffff26;padding:2px 7px;border-radius:10px;font-size:11px}main{max-width:1180px;margin:0 auto;padding:28px 20px 64px}main.estreito{max-width:900px}.topo{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.centro{min-height:100vh;display:grid;place-items:center;padding:20px}.card{background:#fff;border:1px solid var(--linha);border-radius:8px;padding:18px;margin-bottom:16px}.card.vazio{color:var(--suave);text-align:center;padding:32px;font-style:italic}.card.destaque{border-color:var(--pale);background:linear-gradient(#fff,#fbfcfe)}.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.card.obra{text-decoration:none;color:inherit;display:block}.card.obra:hover{border-color:var(--mid)}.obra-topo{display:flex;justify-content:space-between;align-items:center;gap:8px}.card.obra dl{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin:14px 0 0}.card.obra dt{font-size:11px;color:var(--suave);text-transform:uppercase}.card.obra dd{margin:0;font-size:13px}.kpis{display:flex;gap:48px;flex-wrap:wrap}.rotulo{display:block;font-size:11px;color:var(--suave);text-transform:uppercase;letter-spacing:.5px}.grande{display:block;font-size:28px;color:var(--navy);margin:4px 0 2px}.login{width:340px}.login label{display:block;margin:14px 0 0;font-size:12px;color:var(--suave)}.login input{width:100%;margin-top:4px}.login button{width:100%;margin-top:18px}input,select,button{font-family:inherit;font-size:13px}input[type=text],input[type=email],input[type=password],.login input,.busca,.upload input[type=text],.upload label input{padding:8px 10px;border:1px solid var(--linha);border-radius:5px;background:#fff}.busca{width:100%;max-width:420px;margin-bottom:12px}button{background:var(--mid);color:#fff;border:0;border-radius:5px;padding:8px 14px;cursor:pointer}button:hover:not(:disabled){background:var(--navy)}button:disabled{background:#b9c3d1;cursor:not-allowed}button.link{background:none;color:inherit;text-decoration:underline;padding:0}.upload{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.upload label{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--suave)}.validacao{margin-top:16px;padding:14px;border-radius:6px;border:1px solid}.validacao.boa{border-color:#bfe3c6;background:#f2fbf4}.validacao.ruim{border-color:#f0c2c2;background:#fdf4f4}.problemas{margin:10px 0 0;padding-left:18px;font-size:12px}.problemas .erro{color:var(--vermelho)}.problemas .aviso{color:var(--laranja)}.erro{color:var(--vermelho)}.aviso{color:var(--laranja);font-size:12px}table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--linha);border-radius:8px;overflow:hidden}th{background:var(--navy);color:#fff;text-align:left;padding:9px 10px;font-size:12px;font-weight:700}td{padding:7px 10px;border-top:1px solid var(--linha);vertical-align:top}.num{text-align:right;white-space:nowrap}.forte{font-weight:700}tr.total td{background:var(--pale);font-weight:700;border-top:2px solid var(--mid)}tr.memo td{background:#fffaf0;color:var(--laranja);font-size:12px}tr.conf td{font-size:12px}tr.conf.ok td{background:#f2fbf4;color:var(--verde)}tr.conf.falha td{background:#fdf4f4;color:var(--vermelho);font-weight:700}tr.ativa td{background:#f7fbff}.acoes{display:flex;gap:10px;align-items:center;white-space:nowrap}.acoes button{padding:4px 10px;font-size:12px}table.eap tr.grupo.n0 td{background:var(--mid);color:#fff;font-weight:700}table.eap tr.grupo.n0 code{color:#fff}table.eap tr.grupo.n1 td{background:var(--pale);color:var(--navy);font-weight:700}table.eap tr.folha td{font-size:13px}.expandir{width:20px;height:20px;padding:0;margin-right:6px;background:#0000001f;color:inherit;font-weight:700;line-height:1;border-radius:4px}.expandir.vazio{display:inline-block;background:none;cursor:default}.tag{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;background:var(--linha);color:var(--suave);margin-left:6px}.tag.verde,.tag.congelada,.tag.classificado{background:#e3f4e6;color:var(--verde)}.tag.rascunho,.tag.importado{background:var(--amarelo);color:#7a5c00}.tag.supersedida,.tag.cancelado{background:var(--linha);color:var(--suave)}.tag.laranja{background:#fff0e0;color:var(--laranja)}.tag.vermelha{background:#fdecec;color:var(--vermelho)}.tag.conferido{background:var(--pale);color:var(--navy)}.verde{color:var(--verde)}.bloco{display:block}.ok-msg{color:var(--verde);background:#f2fbf4;border:1px solid #bfe3c6;border-radius:6px;padding:10px 12px;font-size:13px}.topo-card{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.topo-card h2{margin-top:0}.filtros{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.filtros .busca{margin-bottom:0}td.falta{color:var(--vermelho)}tr.riscada td{color:var(--suave);text-decoration:line-through}table.mini{margin-top:12px;border-radius:6px}table.mini th{background:var(--pale);color:var(--navy);font-size:11px;padding:6px 8px}table.mini td{padding:5px 8px;font-size:12px}table.mini input{width:100%;padding:5px 7px;border:1px solid var(--linha);border-radius:4px}table.mini input.valor{max-width:110px;text-align:right}input.invalido,table.mini input.invalido{border-color:var(--vermelho);background:#fdf4f4}.dica-numero{color:var(--vermelho);font-size:11px;display:block}.card.item.aberto{border-left:3px solid var(--vermelho)}.card.item.fecha{border-left:3px solid var(--verde)}.manual .grade-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-top:12px}.grade-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--suave)}.grade-form input,.grade-form select{padding:7px 9px;border:1px solid var(--linha);border-radius:5px;background:#fff}.sugestao{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:10px 12px;border:1px dashed var(--linha);border-radius:6px;background:#fbfcfe}.sugestao.forte{border-style:solid;border-color:#bfe3c6;background:#f2fbf4}.sugestao .rotulo{font-size:10px}.sugestao .acoes button{white-space:nowrap}.editor{margin-top:14px;border-top:1px solid var(--linha);padding-top:14px}.busca-eap{position:relative}.achados{list-style:none;margin:0;padding:0;max-height:260px;overflow-y:auto;border:1px solid var(--linha);border-radius:6px;background:#fff}.achados li{border-bottom:1px solid var(--linha)}.achados li:last-child{border-bottom:0}.achados li.sub{padding:10px;font-style:italic}.achados button{display:block;width:100%;text-align:left;padding:8px 10px;text-decoration:none;color:inherit;font-size:12px}.achados button:hover:not(:disabled){background:#f7fbff}.achados button:disabled{background:#f6f7f9;color:var(--suave);cursor:default}.abas{display:flex;gap:4px;margin-bottom:16px;flex-wrap:wrap}button.aba{background:#fff;color:var(--mid);border:1px solid var(--linha)}button.aba:hover:not(:disabled){background:var(--pale);color:var(--navy)}button.aba.ativa{background:var(--mid);color:#fff;border-color:var(--mid)}.grafico{margin:0}.grafico svg{width:100%;height:auto;display:block}.grafico .malha{stroke:var(--linha);stroke-width:1}.grafico .eixo{font-size:10px;fill:var(--suave)}.grafico .linha{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.grafico .linha.ev{stroke:var(--verde)}.grafico .linha.ac{stroke:var(--vermelho)}.grafico .linha.pv{stroke:var(--suave);stroke-dasharray:5 4;stroke-width:1.5}.grafico .ponto.ev{fill:var(--verde)}.grafico .ponto.ac{fill:var(--vermelho)}.legenda{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;color:var(--suave);margin-top:6px}.legenda .chave{display:inline-block;width:14px;height:3px;border-radius:2px;margin-left:10px}.legenda .chave:first-child{margin-left:0}.legenda .chave.ev{background:var(--verde)}.legenda .chave.ac{background:var(--vermelho)}.legenda .chave.pv{background:var(--suave)}.barra{display:flex;align-items:center;gap:8px}.barra-trilho{display:block;width:80px;height:8px;border-radius:4px;background:var(--linha);overflow:hidden;flex:none}.barra-int{display:block;height:100%;background:var(--mid)}.barra-int.estouro{background:var(--vermelho)}.barra-txt{font-size:11px;color:var(--suave);white-space:nowrap}table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}table thead,table tbody{display:table;width:100%}@media(max-width:1100px){.header-int{height:auto;flex-wrap:wrap;padding:8px 14px;gap:10px 14px}header nav{order:3;width:100%;margin-left:0;overflow-x:auto;padding-bottom:2px}header nav a{white-space:nowrap}.usuario{margin-left:auto}header select{max-width:45vw}main{padding:20px 14px 56px}}@media(max-width:720px){:root{font-size:15px}.header-int{padding:8px 12px}.marca{font-size:14px}header select{max-width:100%;flex:1 1 100%;order:2}.usuario{font-size:11px;gap:6px}main{padding:16px 12px 48px}h1{font-size:19px}.kpis{flex-direction:column;gap:16px}.grande{font-size:24px}.card{padding:14px}.grade{grid-template-columns:1fr}.upload,.filtros,.abas{flex-direction:column;align-items:stretch}.upload button,.filtros button,.abas button,.upload label,.filtros label{width:100%}.busca{max-width:100%}button{padding:10px 14px}.acoes{flex-wrap:wrap;gap:8px}.acoes button,.acoes a{padding:8px 10px}.topo,.topo-card{flex-direction:column;align-items:flex-start;gap:8px}.manual .grade-form{grid-template-columns:1fr}.expandir{width:28px;height:28px}table.mini input.valor{max-width:100%}.grafico svg{min-width:480px}}
