/* css/precificacao.css — 3Dendê Tecnologia */

:root{
  --azul:#1F3864; --azul-claro:#D9E2F3; --amarelo:#FFF2CC; --dourado:#FFD966;
  --verde:#E2EFDA; --vermelho:#FCE4D6; --texto:#2b2b2b; --cinza:#6b7280;
  --borda:#dde3ec; --fundo:#f4f6fa;
}

*{box-sizing:border-box}
body{
  margin:0; background:var(--fundo); color:var(--texto);
  font-family:Arial,Helvetica,sans-serif; font-size:14px;
}

.topo{background:var(--azul); color:#fff; padding:18px 26px}
.topo h1{margin:0; font-size:20px; font-weight:700}
.topo .sub{display:block; margin-top:4px; font-size:12.5px; color:#c9d6ec}

.abas{display:flex; gap:2px; background:#fff; border-bottom:1px solid var(--borda); padding:0 20px}
.aba{
  border:0; background:transparent; padding:13px 20px; cursor:pointer;
  font-size:13.5px; color:var(--cinza); border-bottom:3px solid transparent;
  font-family:inherit;
}
.aba:hover{color:var(--azul)}
.aba.ativa{color:var(--azul); font-weight:700; border-bottom-color:var(--azul)}

.painel{display:none; padding:22px}
.painel.ativo{display:block}

.grade{display:grid; grid-template-columns:minmax(340px,1.05fr) minmax(320px,.95fr); gap:20px; align-items:start}
@media(max-width:900px){.grade{grid-template-columns:1fr}}

.cartao{background:#fff; border:1px solid var(--borda); border-radius:10px; padding:20px; box-shadow:0 1px 3px rgba(31,56,100,.06)}
.cartao h2{margin:0 0 14px; font-size:15px; color:var(--azul); border-bottom:2px solid var(--azul-claro); padding-bottom:7px}
.cartao h2 small{font-weight:400; color:var(--cinza)}
.cartao h3{font-size:13px; color:var(--azul); margin:16px 0 6px}

label{display:block; margin-bottom:12px; font-size:12.5px; color:#444}
label small{display:block; margin-top:3px; color:var(--cinza); font-size:11px; font-weight:400}
input,select,textarea{
  width:100%; margin-top:4px; padding:8px 10px; border:1px solid var(--borda);
  border-radius:6px; font-size:13.5px; font-family:inherit; color:#0000FF; background:#fff;
}
select{color:var(--texto)}
textarea{color:var(--texto); resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--azul-claro); border-color:var(--azul)}
label.destaque input{background:var(--amarelo)}

.dupla{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.grid4{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:6px}
@media(max-width:800px){.grid4{grid-template-columns:repeat(2,1fr)} .dupla{grid-template-columns:1fr}}

fieldset{border:0; padding:0; margin:0}
legend{font-size:12.5px; font-weight:700; color:#fff; background:var(--azul);
  padding:5px 12px; border-radius:5px; margin:16px 0 10px; width:100%}

.tabela{width:100%; border-collapse:collapse; font-size:13px}
.tabela td{padding:7px 6px; border-bottom:1px solid #eef1f6}
.tabela td:last-child{text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap}
.tabela tr.sub td{font-weight:600; background:#fafbfe}
.tabela tr.total td{font-weight:700; background:var(--azul-claro); border-top:2px solid var(--azul)}

.tabela.grid th{background:var(--azul); color:#fff; padding:9px 8px; font-size:12px; text-align:center; font-weight:600}
.tabela.grid td{text-align:center; border:1px solid #eef1f6}
.tabela.grid td:last-child{text-align:center}
.tabela.estreita{max-width:460px}
.tabela.estreita input{margin:0; padding:5px 7px; text-align:center}
.tabela .vazio{color:var(--cinza); padding:22px; font-style:italic}
tr.critica td{background:var(--vermelho)}
tr.boa td{background:var(--verde)}
tr.meta td{outline:2px solid var(--azul); font-weight:700}

.preco-final{
  margin-top:18px; background:var(--dourado); border-radius:8px;
  padding:16px 18px; display:flex; justify-content:space-between; align-items:center;
}
.preco-final span{font-weight:700; color:var(--azul); font-size:14px}
.preco-final strong{font-size:26px; color:var(--azul); font-variant-numeric:tabular-nums}

.acoes{display:flex; gap:12px; align-items:center; margin-top:16px; flex-wrap:wrap}
.acoes select{width:auto}
.btn{border:0; border-radius:6px; padding:10px 22px; cursor:pointer; font-size:13.5px; font-family:inherit}
.btn.primario{background:var(--azul); color:#fff; font-weight:600}
.btn.primario:hover{background:#16294a}
.btn:disabled{opacity:.55; cursor:not-allowed}

.aviso{font-size:12.5px; margin:10px 0 0; min-height:16px}
.aviso.ok{color:#227a3d}
.aviso.erro{color:#b3261e}
.aviso.piso{background:var(--amarelo); padding:8px 10px; border-radius:6px; color:#7a5a00}
.oculto{display:none}

.nota{background:var(--amarelo); border-left:4px solid var(--dourado);
  padding:11px 14px; border-radius:0 6px 6px 0; font-size:12.5px; line-height:1.55; margin:0 0 16px}

.derivados{margin-top:20px; background:#fafbfe; border:1px solid var(--borda); border-radius:8px; padding:14px 18px}
.derivados ul{margin:0; padding-left:18px; font-size:12.5px; line-height:1.9}

.tag{display:inline-block; padding:2px 9px; border-radius:11px; font-size:11px; text-transform:capitalize}
.tag.rascunho{background:#eceff4; color:#555}
.tag.enviado{background:var(--azul-claro); color:var(--azul)}
.tag.aprovado{background:var(--verde); color:#227a3d}
.tag.recusado{background:var(--vermelho); color:#b3261e}

.btn-excluir{
  border:1px solid #f0c8c2; background:#fff; color:#b3261e;
  width:24px; height:24px; line-height:1; border-radius:5px;
  cursor:pointer; font-size:16px; font-family:inherit;
}
.btn-excluir:hover{background:var(--vermelho); border-color:#b3261e}
.btn-excluir:disabled{opacity:.4; cursor:not-allowed}

.tabela tr.desconto td{color:#b3261e}
.aviso.alerta{background:var(--vermelho); color:#8a2b1f; padding:9px 11px; border-radius:6px; margin-top:10px}
.tag.desc{background:var(--amarelo); color:#7a5a00}

/* ---------- visualizador de STL ---------- */
.stl-zona{
  position:relative; width:100%; height:340px; border:2px dashed var(--borda);
  border-radius:10px; background:var(--fundo); overflow:hidden; cursor:pointer;
  transition:border-color .15s, background .15s;
}
.stl-zona.arrastando{border-color:var(--azul); background:var(--azul-claro)}
.stl-zona canvas{display:block; width:100%; height:100%}
.stl-vazio{
  position:absolute; inset:0; display:flex; flex-direction:column; gap:5px;
  align-items:center; justify-content:center; pointer-events:none; color:var(--cinza);
}
.stl-vazio strong{font-size:14px; color:var(--azul)}
.stl-vazio span{font-size:12px}
.stl-zona.carregado .stl-vazio{display:none}
.stl-avisos{
  background:var(--vermelho); border-left:4px solid #e08a7a; border-radius:0 6px 6px 0;
  padding:10px 13px; margin:12px 0; font-size:12.5px; line-height:1.5; color:#8a2b1f;
}
.stl-avisos div + div{margin-top:6px}

/* ---------- calibração ---------- */
.calibra{
  margin-top:16px; padding-top:14px; border-top:1px dashed var(--borda);
}
.calibra h3{margin:0 0 6px; font-size:13px; color:var(--azul)}

.stl-acoes{display:flex; align-items:center; gap:12px; margin-top:12px; flex-wrap:wrap}
.nota-inline{font-size:12px; color:var(--cinza)}

/* ---------- edição / duplicação de orçamento ---------- */
.banner-edicao{
  background:var(--amarelo); border:1px solid var(--dourado); border-radius:6px;
  padding:9px 12px; margin-bottom:14px; font-size:13px; color:#7a5a00;
  display:flex; justify-content:space-between; align-items:center;
}
.banner-edicao button{
  background:transparent; border:1px solid #7a5a00; color:#7a5a00;
  border-radius:5px; padding:3px 10px; font-size:11.5px; cursor:pointer;
}
.btn.secundario{background:#fff; border:1px solid var(--borda); color:var(--azul)}
.btn.secundario:hover{background:var(--azul-claro)}
.btn-acao-linha{
  border:1px solid var(--borda); background:#fff; width:24px; height:24px;
  line-height:1; border-radius:5px; cursor:pointer; font-size:13px; margin-left:3px;
}
.btn-acao-linha:hover{background:var(--azul-claro)}

/* ---------- origem do orçamento (interno x web) ---------- */
.tag.origem-web{background:#DCEEFB; color:#0B5EA8}
.tag.origem-interno{background:#eceff4; color:#555}
.tag.solicitado{background:#FDE7C7; color:#8a5200}
