:root{--azul:#1f4e79;--azul-claro:#e8f0f8;--texto:#1d2733;--suave:#5b6878;--borda:#d5dce4;--fundo:#f4f6f9;--cartao:#fff;--verde:#1e7a3c;--amarelo:#a16207;--vermelho:#b42318;color:var(--texto);background:var(--fundo);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px}*{box-sizing:border-box}body{background:var(--fundo);margin:0}h1{color:var(--azul);margin:0 0 1rem;font-size:1.4rem}h2{margin:0 0 .75rem;font-size:1.25rem}h3{margin:1.25rem 0 .5rem;font-size:1.05rem}button,input,select{font:inherit;border-radius:8px;min-height:44px}input,select{border:1px solid var(--borda);color:var(--texto);background:#fff;padding:0 .75rem}button{background:var(--azul);color:#fff;cursor:pointer;border:0;padding:0 1rem;font-weight:600}button.sec{color:var(--azul);border:1px solid var(--borda);background:#fff}button:disabled{opacity:.5;cursor:default}.topo{background:var(--azul);color:#fff;align-items:center;gap:.75rem;padding:.5rem 1rem;display:flex}.topo .marca{margin-right:auto;font-size:1.1rem}.topo .quem{opacity:.9;font-size:.9rem}.topo button.sec{min-height:36px}.menu{border-bottom:1px solid var(--borda);background:#fff;gap:.25rem;padding:.5rem 1rem;display:flex;overflow-x:auto}.menu a{color:var(--suave);white-space:nowrap;border-radius:8px;padding:.6rem .9rem;font-weight:600;text-decoration:none}.menu a.active{background:var(--azul-claro);color:var(--azul)}.conteudo{max-width:1400px;margin:0 auto;padding:1rem}.centro{place-items:center;min-height:100vh;padding:1rem;display:grid}.cartao{background:var(--cartao);border:1px solid var(--borda);border-radius:12px;width:100%;max-width:420px;padding:1.5rem}.login label{gap:.3rem;margin-bottom:1rem;font-weight:600;display:grid}.login button{width:100%}.barra{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.barra h2,.barra h3{margin:0}.barra input[type=search]{flex:220px}.linha-form{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.linha-form input{flex:180px}.indicadores{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;display:grid}.indicador{border:1px solid var(--borda);background:#fff;border-radius:12px;padding:.75rem 1rem;display:grid}.indicador span{color:var(--suave);font-size:.9rem}.indicador strong{color:var(--azul);font-size:1.8rem}.tabela-rolagem{border:1px solid var(--borda);background:#fff;border-radius:12px;overflow-x:auto}table{border-collapse:collapse;background:#fff;width:100%;font-size:.95rem}th,td{border-bottom:1px solid var(--borda);text-align:left;vertical-align:middle;padding:.55rem .75rem}th{background:var(--azul-claro);color:var(--azul);font-size:.85rem;position:sticky;top:0}td.num,th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}tbody tr:last-child td{border-bottom:0}.espera{white-space:nowrap;font-weight:700}.tabela-rolagem+.barra,.vazio+.barra{margin-top:1.25rem}.verde{color:var(--verde)}.amarelo{color:var(--amarelo)}.vermelho,.negativo,.erro{color:var(--vermelho)}.etiqueta{color:#854d0e;background:#fef3c7;border-radius:6px;margin-left:.5rem;padding:.1rem .4rem;font-size:.75rem}.dica{color:var(--suave);font-size:.85rem}.vazio{color:var(--suave);border:1px dashed var(--borda);background:#fff;border-radius:12px;padding:1rem}.ajuda{border:1px solid var(--borda);background:#fff;border-radius:12px;margin-bottom:1rem;padding:.75rem 1rem}.ajuda summary{cursor:pointer;color:var(--azul);font-weight:600}@media (width<=600px){.topo .quem{display:none}th,td{padding:.5rem}}.grade-cartoes{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem;margin-top:1rem;display:grid}.cartao-largo{border:1px solid var(--borda);background:#fff;border-radius:12px;align-content:start;gap:.5rem;padding:1rem;display:grid}.cartao-largo h3,.cartao-largo .dica{margin:0}.botao-arquivo{background:var(--azul);color:#fff;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:0 1rem;font-weight:600;display:inline-flex}.botao-arquivo input{display:none}.botao-arquivo.desabilitado{opacity:.5;pointer-events:none}.progresso{background:var(--azul-claro);border-radius:8px;height:28px;position:relative;overflow:hidden}.progresso span{background:#b9d1ea;transition:width .2s;position:absolute;inset:0 auto 0 0}.progresso small{padding:0 .5rem;line-height:28px;position:relative}.sucesso{color:var(--verde);margin:0}.check{align-items:center;gap:.4rem;display:inline-flex}.check input{width:20px;height:20px;min-height:auto}.busca{position:relative}.busca input{width:100%}.sugestoes{border:1px solid var(--borda);z-index:5;background:#fff;border-radius:8px;max-height:320px;margin:.25rem 0 0;padding:0;list-style:none;position:absolute;left:0;right:0;overflow-y:auto;box-shadow:0 6px 16px #00000014}.sugestoes button{text-align:left;width:100%;color:var(--texto);border-bottom:1px solid var(--borda);background:#fff;border-radius:0;justify-content:space-between;gap:.75rem;min-height:48px;padding:.5rem .75rem;font-weight:400;display:flex}.sugestoes button:hover,.sugestoes button:focus{background:var(--azul-claro)}.sugestoes small{white-space:nowrap}.form-grade{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end;gap:.5rem;display:grid}.form-grade label{color:var(--suave);gap:.25rem;font-size:.9rem;font-weight:600;display:grid}.form-grade label input,.form-grade label select{width:100%}.escolhido{background:var(--azul-claro);border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem .75rem;display:flex}.abas{flex-wrap:wrap;gap:.25rem;margin:.5rem 0 1rem;display:flex}.abas button{color:var(--suave);border:1px solid var(--borda);background:#fff}.abas button.ativa{background:var(--azul);color:#fff;border-color:var(--azul)}.lista-simples{border:1px solid var(--borda);background:#fff;border-radius:12px;margin:0;padding:.5rem 1rem .5rem 2rem}.lista-simples li{padding:.3rem 0}.campo{color:var(--suave);gap:.25rem;font-size:.9rem;font-weight:600;display:grid}.campo input{width:100%}.medidas{grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}.total-medicao{background:var(--azul-claro);border-radius:8px;padding:.6rem .75rem;font-size:1.1rem}.total-medicao strong{color:var(--azul);font-size:1.4rem}.lista-efetivo{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.25rem .75rem;display:grid}.lista-efetivo label{border-bottom:1px solid var(--borda);justify-content:space-between;align-items:center;gap:.5rem;padding:.2rem 0;display:flex}.lista-efetivo label.com-valor span{color:var(--azul);font-weight:700}.lista-efetivo input{text-align:right;width:80px}.opcoes{border:1px solid var(--borda);border-radius:8px;gap:.25rem;padding:.5rem .75rem;display:grid}.opcoes legend{padding:0 .25rem;font-weight:600}.botao-arquivo{text-align:center;padding:.5rem 1rem}.lista-pedidos{gap:.5rem;display:grid}.pedido{border:1px solid var(--borda);background:#fff;border-radius:12px;overflow:hidden}.pedido.aberto{border-color:var(--azul)}.pedido-cabeca{text-align:left;width:100%;color:var(--texto);background:#fff;border-radius:0;grid-template-columns:auto 1fr;gap:.2rem .75rem;padding:.75rem 1rem;font-weight:400;display:grid}.pedido-cabeca .espera{grid-row:span 2;align-self:center;min-width:4.5rem;font-size:1.1rem}.pedido-itens{color:var(--suave);font-size:.9rem}.etapa{background:var(--azul-claro);color:var(--azul);white-space:nowrap;border-radius:999px;margin-left:.5rem;padding:.1rem .5rem;font-size:.8rem;font-weight:600}.etapa-solicitado,.etapa-transferencia,.etapa-enviado_engenheiro{color:#854d0e;background:#fef3c7}.etapa-recebido,.etapa-atendido_estoque{color:#166534;background:#dcfce7}.etapa-cancelado{color:var(--suave);background:#f1f5f9}.pedido-corpo{gap:.5rem;padding:0 1rem 1rem;display:grid}.pedido-corpo p{margin:0}.pedido-corpo table{border:1px solid var(--borda);border-radius:8px}.saldo-obra{margin-right:.5rem;font-size:.9rem;font-weight:600;display:inline-block}.acoes{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.recebimento{background:var(--azul-claro);border-radius:8px;padding:.75rem}.recebimento label{align-items:center;gap:.5rem;width:100%;display:flex}button.perigo{color:var(--vermelho)}.linha-tempo{gap:.3rem;margin:0;padding-left:1.25rem;display:grid}h4{margin:.5rem 0 0}
