:root{
  --laranja:#E8722B; --laranja-esc:#c85d1c; --laranja-claro:#fff1e7;
  --escuro:#2E2E2E; --escuro-2:#3A3A3A; --escuro-3:#454545;
  --texto:#23262b; --suave:#6b7280; --linha:#e4e6ea; --fundo:#f4f5f7;
  --branco:#fff; --vermelho:#c62828; --vermelho-cl:#fdecea;
  --ambar:#b26a00; --ambar-cl:#fff6e0; --azul:#1565c0; --azul-cl:#e8f1fb;
  --verde:#1e7d32; --verde-cl:#e9f5ec;
  --sombra:0 1px 3px rgba(16,24,40,.07),0 4px 14px rgba(16,24,40,.06);
  --raio:10px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:"Segoe UI",Roboto,-apple-system,Arial,sans-serif;background:var(--fundo);
  color:var(--texto);font-size:14px;line-height:1.45}
button,input,select,textarea{font-family:inherit;font-size:14px}
a{color:var(--laranja-esc)}

/* ---------- estrutura ---------- */
#app{display:flex;min-height:100vh}
#lateral{width:230px;flex:0 0 230px;background:var(--escuro);color:#dcdcdc;
  display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
#lateral .marca{padding:16px 14px 12px;border-bottom:1px solid #4a4a4a;text-align:center}
#lateral .marca img{max-width:120px;max-height:76px;object-fit:contain;
  background:#fff;border-radius:8px;padding:5px}
#lateral .marca .nome{font-weight:700;font-size:13px;color:#fff;margin-top:8px;letter-spacing:.4px}
#lateral .marca .sub{font-size:10px;color:#9a9a9a;text-transform:uppercase;letter-spacing:1px}
#lateral .marca .trocar{margin-top:7px;background:transparent;border:1px solid #565656;
  color:#b9b9b9;border-radius:7px;padding:4px 10px;font-size:11px;cursor:pointer;
  width:100%;transition:.12s}
#lateral .marca .trocar:hover{border-color:var(--laranja);color:#fff;background:#454545}
#menu{flex:1;overflow-y:auto;padding:8px 0}
#menu .grupo{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:#8b8b8b;
  padding:14px 16px 5px}
#menu a{display:flex;align-items:center;gap:10px;padding:9px 16px;color:#dcdcdc;
  text-decoration:none;border-left:3px solid transparent;font-size:13.5px;cursor:pointer}
#menu a:hover{background:var(--escuro-3);color:#fff}
#menu a.ativo{background:var(--escuro-2);border-left-color:var(--laranja);color:#fff;font-weight:600}
#menu a .ic{width:18px;text-align:center;font-size:15px}
#menu a .badge{margin-left:auto;background:var(--vermelho);color:#fff;border-radius:10px;
  padding:1px 7px;font-size:11px;font-weight:700}
#lateral .rodape{padding:10px 14px;border-top:1px solid #4a4a4a;font-size:10.5px;color:#8b8b8b}

#principal{flex:1;min-width:0;display:flex;flex-direction:column}
#topo{background:var(--branco);border-bottom:1px solid var(--linha);padding:10px 20px;
  display:flex;align-items:center;gap:14px;position:sticky;top:0;z-index:20}
#topo h1{font-size:18px;margin:0;font-weight:650}
#topo .esp{flex:1}
#topo .data{font-size:12px;color:var(--suave)}
#conteudo{padding:20px;flex:1}

/* ---------- controlos ---------- */
.btn{background:var(--laranja);color:#fff;border:0;border-radius:8px;padding:8px 14px;
  cursor:pointer;font-weight:600;display:inline-flex;align-items:center;gap:7px;
  transition:.12s;white-space:nowrap}
.btn:hover{background:var(--laranja-esc)}
.btn.sec{background:#fff;color:var(--escuro-2);border:1px solid var(--linha)}
.btn.sec:hover{background:#f0f1f3}
.btn.escuro{background:var(--escuro-2)}
.btn.escuro:hover{background:#000}
.btn.perigo{background:var(--vermelho)}
.btn.mini{padding:4px 9px;font-size:12px;border-radius:6px}
.btn:disabled{opacity:.5;cursor:not-allowed}
select,input[type=text],input[type=date],input[type=time],input[type=number],
input[type=email],textarea{border:1px solid #d3d6db;border-radius:7px;padding:7px 9px;
  background:#fff;width:100%;color:var(--texto)}
select:focus,input:focus,textarea:focus{outline:2px solid var(--laranja);outline-offset:-1px;border-color:var(--laranja)}
textarea{min-height:64px;resize:vertical}
label.campo{display:block;margin-bottom:11px}
label.campo>span{display:block;font-size:12px;color:var(--suave);margin-bottom:3px;font-weight:600}
.obrig::after{content:" *";color:var(--vermelho)}

.seletor-empresa{display:flex;gap:6px;background:#f0f1f3;padding:3px;border-radius:9px}
.seletor-empresa button{border:0;background:transparent;padding:6px 13px;border-radius:7px;
  cursor:pointer;font-weight:600;color:var(--suave);display:flex;align-items:center;gap:7px}
.seletor-empresa button img{height:20px;width:auto;max-width:34px;object-fit:contain}
.seletor-empresa button.ativo{background:#fff;color:var(--texto);box-shadow:var(--sombra)}

/* ---------- cartoes ---------- */
.cartoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:13px;margin-bottom:20px}
.cartao{background:#fff;border-radius:var(--raio);padding:14px 16px;box-shadow:var(--sombra);
  border-left:4px solid var(--laranja)}
.cartao .v{font-size:27px;font-weight:700;line-height:1.1}
.cartao .t{font-size:11.5px;color:var(--suave);text-transform:uppercase;letter-spacing:.6px;margin-top:2px}
.cartao.vermelho{border-left-color:var(--vermelho)}.cartao.vermelho .v{color:var(--vermelho)}
.cartao.ambar{border-left-color:#e0a300}.cartao.ambar .v{color:var(--ambar)}
.cartao.azul{border-left-color:var(--azul)}.cartao.azul .v{color:var(--azul)}
.cartao.verde{border-left-color:var(--verde)}.cartao.verde .v{color:var(--verde)}

.painel{background:#fff;border-radius:var(--raio);box-shadow:var(--sombra);margin-bottom:18px;overflow:hidden}
.painel>h2{font-size:14px;margin:0;padding:12px 16px;border-bottom:1px solid var(--linha);
  display:flex;align-items:center;gap:9px;font-weight:650}
.painel>h2 .esp{flex:1}
.painel .corpo{padding:14px 16px}

/* ---------- tabelas ---------- */
.tabela-env{overflow-x:auto}
table.dados{width:100%;border-collapse:collapse;font-size:13px}
table.dados th{background:#fafbfc;text-align:left;padding:9px 10px;border-bottom:2px solid var(--linha);
  font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--suave);
  white-space:nowrap;position:sticky;top:0;z-index:2}
table.dados td{padding:8px 10px;border-bottom:1px solid #f0f1f3;vertical-align:middle}
table.dados tr:hover td{background:#fcfcfd}
table.dados td.acoes{text-align:right;white-space:nowrap}
table.dados .vazio{text-align:center;color:var(--suave);padding:34px}
.etiqueta{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11.5px;font-weight:650}
.et-vermelho{background:var(--vermelho-cl);color:var(--vermelho)}
.et-ambar{background:var(--ambar-cl);color:var(--ambar)}
.et-azul{background:var(--azul-cl);color:var(--azul)}
.et-verde{background:var(--verde-cl);color:var(--verde)}
.et-cinza{background:#eef0f2;color:#555}

.barra-ferramentas{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.barra-ferramentas .pesquisa{flex:1;min-width:190px;max-width:340px}

/* ---------- ponto ---------- */
table.ponto{width:100%;border-collapse:collapse;font-size:13px}
table.ponto th{background:var(--escuro-2);color:#fff;padding:8px 6px;font-size:11px;
  text-transform:uppercase;letter-spacing:.4px;position:sticky;top:0;z-index:3}
table.ponto td{padding:5px 6px;border-bottom:1px solid var(--linha)}
table.ponto input,table.ponto select{padding:5px 6px;border-radius:6px}
table.ponto input[type=time]{width:112px}
table.ponto tr.ausente{background:#fbfbfc;color:#8a8a8a}
table.ponto tr.ausente input[type=time]{visibility:hidden}
table.ponto .nome{font-weight:600;white-space:nowrap}
table.ponto .horas{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}
.ponto-cab{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.chip{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:650;background:#eef0f2;color:#444}
.chip.feriado{background:var(--vermelho-cl);color:var(--vermelho)}
.chip.descanso{background:var(--azul-cl);color:var(--azul)}
.chip.util{background:var(--verde-cl);color:var(--verde)}
.rodape-fixo{position:sticky;bottom:0;background:#fff;border-top:2px solid var(--laranja);
  padding:11px 16px;display:flex;gap:11px;align-items:center;box-shadow:0 -3px 12px rgba(0,0,0,.06)}
.rodape-fixo .esp{flex:1}

/* ---------- alertas ---------- */
.lista-alertas{display:flex;flex-direction:column}
.alerta{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid #f0f1f3}
.alerta:last-child{border-bottom:0}
.alerta .dias{min-width:88px;text-align:center;font-weight:700;font-size:12px;
  border-radius:7px;padding:5px 4px}
.alerta .dias.caducado{background:var(--vermelho-cl);color:var(--vermelho)}
.alerta .dias.alerta{background:var(--ambar-cl);color:var(--ambar)}
.alerta .dias.proximo{background:var(--azul-cl);color:var(--azul)}
.alerta .dias.futuro{background:#f0f1f3;color:#666}
.alerta .txt{flex:1;min-width:0}
.alerta .txt b{display:block;font-size:13.5px}
.alerta .txt small{color:var(--suave)}
.alerta .val{font-size:12.5px;color:var(--suave);white-space:nowrap;font-variant-numeric:tabular-nums}

/* ---------- ficha individual ---------- */
.ficha-topo{background:#fff;border-radius:var(--raio);box-shadow:var(--sombra);
  padding:16px 18px;margin-bottom:14px;display:flex;gap:16px;align-items:flex-start;
  border-left:5px solid var(--laranja)}
.ficha-icone{font-size:38px;line-height:1;background:var(--laranja-claro);
  border-radius:12px;padding:11px 13px}
.ficha-id{flex:1;min-width:0}
.ficha-id h2{margin:0;font-size:21px;font-weight:700}
.ficha-id .sub{color:var(--suave);font-size:13px;margin-top:1px}
.ficha-campos{display:flex;flex-wrap:wrap;gap:5px 22px;margin-top:11px;font-size:12.5px;
  padding-top:10px;border-top:1px solid var(--linha)}
.ficha-campos b{color:var(--suave);font-weight:600}
.ficha-acoes{text-align:right;white-space:nowrap}

.separadores{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:0;
  border-bottom:2px solid var(--linha);padding:0 2px}
.separadores button{border:0;background:transparent;padding:9px 15px;cursor:pointer;
  font-weight:600;color:var(--suave);font-size:13.5px;border-bottom:3px solid transparent;
  margin-bottom:-2px;border-radius:7px 7px 0 0}
.separadores button:hover{background:#eceef0;color:var(--texto)}
.separadores button.ativo{color:var(--laranja-esc);border-bottom-color:var(--laranja);background:#fff}
.separadores .conta{background:#e9ebee;color:#555;border-radius:9px;padding:0 6px;
  font-size:11px;margin-left:3px}
.separadores button.ativo .conta{background:var(--laranja-claro);color:var(--laranja-esc)}

.ficha-barra{display:flex;align-items:center;gap:9px;padding:11px 16px;
  border-bottom:1px solid var(--linha);font-size:14px}

.checklist{border-bottom:1px solid var(--linha);background:#fbfcfd}
.checklist-cab{display:flex;align-items:center;gap:9px;padding:11px 16px;font-size:13px;flex-wrap:wrap}
.doc-grelha{display:grid;grid-template-columns:repeat(auto-fill,minmax(288px,1fr));
  gap:8px;padding:0 16px 14px}
.doc-item{display:flex;align-items:center;gap:8px;text-align:left;width:100%;
  background:#fff;border:1px solid var(--linha);border-radius:9px;padding:8px 11px;
  font:inherit;transition:.12s}
.doc-item:hover{border-color:var(--laranja);box-shadow:var(--sombra)}
.doc-abrir{flex:1;min-width:0;display:flex;align-items:center;gap:10px;background:none;
  border:0;padding:0;text-align:left;cursor:pointer;font:inherit;color:inherit}
.doc-item .ic{width:22px;height:22px;flex:0 0 22px;border-radius:50%;display:grid;
  place-items:center;font-size:12px;font-weight:700;color:#fff;background:#c3c7cc}
.doc-item.valido .ic,.doc-item.sem_prazo .ic{background:var(--verde)}
.doc-item.proximo .ic{background:var(--azul)}
.doc-item.alerta .ic{background:#e0a300}
.doc-item.caducado .ic{background:var(--vermelho)}
.doc-item .txt{flex:1;min-width:0}
.doc-item .txt b{display:block;font-size:13px;font-weight:600;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis}
.doc-item .txt small{color:var(--suave);font-size:11.5px}
.doc-item.em_falta{background:#fafafa}
.doc-item.em_falta .txt b{color:var(--suave);font-weight:500}
table.dados tr.inativo td{opacity:.55}
a.ligacao-ficha{color:var(--texto);text-decoration:none;font-weight:600;
  border-bottom:1px dotted var(--laranja)}
a.ligacao-ficha:hover{color:var(--laranja-esc)}

/* ---------- ecrã de entrada ---------- */
#entrada{position:fixed;inset:0;z-index:500;overflow-y:auto;
  background:radial-gradient(circle at 50% 0%,#3d3d3d 0%,#262626 55%,#1c1c1c 100%);
  display:flex;align-items:center;justify-content:center;padding:26px 18px;
  animation:entrar .22s ease}
#entrada.a-sair{opacity:0;transition:opacity .2s}
@keyframes entrar{from{opacity:0}to{opacity:1}}
.entrada-caixa{width:100%;max-width:880px;text-align:center}
.entrada-topo h1{color:#fff;font-size:29px;margin:0 0 4px;font-weight:700;letter-spacing:.4px}
.entrada-topo h1::after{content:'';display:block;width:56px;height:3px;background:var(--laranja);
  margin:11px auto 0;border-radius:2px}
.entrada-topo p{color:#c9c9c9;margin:15px 0 2px;font-size:15px}
.entrada-topo small{color:#8d8d8d;font-size:12px}
.entrada-empresas{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));
  gap:20px;margin:28px 0 20px}
.empresa-cartao{background:#fff;border:2px solid transparent;border-radius:15px;
  padding:24px 20px 18px;cursor:pointer;font:inherit;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:11px;
  box-shadow:0 10px 28px rgba(0,0,0,.3);transition:.16s}
.empresa-cartao:hover{transform:translateY(-4px);border-color:var(--laranja);
  box-shadow:0 16px 38px rgba(0,0,0,.42)}
.empresa-cartao .logo{height:104px;display:grid;place-items:center}
.empresa-cartao .logo img{max-height:104px;max-width:220px;object-fit:contain}
.empresa-cartao .nome{font-size:18px;font-weight:700;letter-spacing:.3px}
.empresa-cartao .numeros{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;
  font-size:12.5px;color:var(--suave)}
.empresa-cartao .numeros b{color:var(--texto);font-size:14px}
.empresa-cartao .estado{display:flex;flex-direction:column;gap:5px;align-items:center;
  min-height:24px}
.empresa-cartao .entrar{margin-top:5px;color:var(--laranja-esc);font-weight:700;font-size:13.5px;
  opacity:.55;transition:.16s}
.empresa-cartao:hover .entrar{opacity:1;letter-spacing:.5px}
.entrada-rodape{color:#7d7d7d;font-size:11.5px;margin-top:6px}
@media(max-width:700px){.empresa-cartao .logo{height:78px}
  .empresa-cartao .logo img{max-height:78px}}

/* ---------- ordens de trabalho ---------- */
table.dados td.dif{font-weight:700;color:var(--laranja-esc);
  font-variant-numeric:tabular-nums}
#tabela-linhas-ot input{padding:4px 6px;border-radius:5px;font-size:12.5px}
#tabela-linhas-ot td{padding:3px 4px}
#tabela-linhas-ot input[type=number]{text-align:right;font-variant-numeric:tabular-nums}

/* ---------- mapa de férias ---------- */
table.calendario-ferias{border-collapse:collapse;font-size:10px;width:100%}
table.calendario-ferias th{background:#fafbfc;color:var(--suave);font-size:10px;
  font-weight:700;padding:5px 2px;border-bottom:2px solid var(--linha);
  text-transform:uppercase;letter-spacing:.3px}
table.calendario-ferias th.nome,table.calendario-ferias td.nome{text-align:left;
  padding-left:16px;padding-right:10px;white-space:nowrap;font-size:12.5px;
  position:sticky;left:0;background:#fff;min-width:170px;font-weight:600}
table.calendario-ferias th.nome{background:#fafbfc}
table.calendario-ferias td{border:1px solid #eef0f2;text-align:center;height:24px;
  min-width:16px;color:transparent;font-weight:700}
table.calendario-ferias td.n1{background:#ffe0c7;color:#8a4a12}
table.calendario-ferias td.n3{background:#f5a45f;color:#5a2c00}
table.calendario-ferias td.n5{background:var(--laranja);color:#fff}
table.calendario-ferias tr:hover td.nome{background:var(--laranja-claro)}
table.calendario-ferias tr.total td{background:#f6f7f8;font-size:10px;color:#555;
  border-top:2px solid var(--linha)}
table.calendario-ferias tr.total td.nome{background:#f6f7f8;color:var(--texto)}
.periodo{display:inline-block;background:var(--laranja-claro);color:var(--laranja-esc);
  border-radius:6px;padding:1px 8px;margin:1px 3px 1px 0;font-size:12px;white-space:nowrap}

/* ---------- rede ---------- */
.endereco-rede{display:flex;align-items:center;gap:11px;background:var(--escuro);
  border-radius:10px;padding:13px 16px;margin-bottom:13px;flex-wrap:wrap}
.endereco-rede code{color:#fff;font-size:19px;font-weight:600;letter-spacing:.5px;
  font-family:"Consolas",monospace}
#barra-sinc{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:400;
  background:var(--escuro);color:#fff;border-radius:10px;padding:10px 15px;
  display:flex;align-items:center;gap:11px;font-size:13.5px;
  box-shadow:0 8px 26px rgba(0,0,0,.32);border-left:4px solid var(--laranja)}

/* ---------- anexos ---------- */
.btn.clipe{padding:4px 8px}
.btn.clipe.tem{background:var(--laranja-claro);border-color:var(--laranja);
  color:var(--laranja-esc);font-weight:700}
.zona-anexos{border:2px dashed #cfd4da;border-radius:11px;padding:22px 16px;text-align:center;
  background:#fbfcfd;cursor:pointer;transition:.15s;display:flex;flex-direction:column;
  align-items:center;gap:5px}
.zona-anexos:hover,.zona-anexos.sobre{border-color:var(--laranja);background:var(--laranja-claro)}
.zona-anexos .zona-icone{font-size:32px;line-height:1}
.lista-ficheiros{display:flex;flex-direction:column;gap:7px;margin-top:13px}
.ficheiro{display:flex;align-items:center;gap:11px;border:1px solid var(--linha);
  border-radius:9px;padding:8px 11px;background:#fff}
.ficheiro .ic{font-size:22px}
.ficheiro .txt{flex:1;min-width:0}
.ficheiro .txt b{display:block;font-size:13.5px;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis}
.ficheiro .txt small{color:var(--suave);font-size:11.5px}
.ficheiro a.btn{text-decoration:none}
.sel-cab{display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  padding-bottom:11px;border-bottom:1px solid var(--linha);margin-bottom:5px}
.ficheiro.sel{cursor:pointer;user-select:none}
.ficheiro.sel:hover{border-color:var(--laranja);background:var(--laranja-claro)}
.ficheiro.sel input[type=checkbox]{width:17px;height:17px;accent-color:var(--laranja);
  flex:0 0 17px;cursor:pointer}
.grupo-todos{width:16px;height:16px;accent-color:var(--laranja);cursor:pointer}
#modais fieldset.grupo>legend{padding-bottom:6px}

/* ---------- modal ---------- */
.fundo-modal{position:fixed;inset:0;background:rgba(20,22,26,.55);display:flex;
  align-items:flex-start;justify-content:center;padding:26px 14px;overflow-y:auto;z-index:100}
.modal{background:#fff;border-radius:12px;width:100%;max-width:840px;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.modal header{padding:14px 20px;border-bottom:1px solid var(--linha);display:flex;align-items:center}
.modal header h3{margin:0;font-size:16px}
.modal header .fechar{margin-left:auto;background:none;border:0;font-size:22px;cursor:pointer;color:var(--suave)}
.modal .corpo{padding:18px 20px;max-height:66vh;overflow-y:auto}
.modal footer{padding:12px 20px;border-top:1px solid var(--linha);display:flex;gap:9px;justify-content:flex-end}
.grelha{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:0 15px}
.grelha .largo{grid-column:1/-1}
fieldset.grupo{border:0;padding:0;margin:0 0 6px}
fieldset.grupo>legend{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;
  color:var(--laranja-esc);padding:11px 0 7px;border-bottom:1px solid var(--linha);
  width:100%;margin-bottom:11px}

/* ---------- diversos ---------- */
.aviso{background:var(--ambar-cl);border-left:4px solid #e0a300;padding:10px 13px;
  border-radius:7px;font-size:13px;margin-bottom:12px;color:#7a4b00}
.aviso.erro{background:var(--vermelho-cl);border-left-color:var(--vermelho);color:#8b1a1a}
.aviso.ok{background:var(--verde-cl);border-left-color:var(--verde);color:#155724}
.notificacao{position:fixed;bottom:22px;right:22px;background:var(--escuro);color:#fff;
  padding:12px 18px;border-radius:9px;box-shadow:0 8px 26px rgba(0,0,0,.28);z-index:300;
  font-size:13.5px;max-width:400px}
.notificacao.erro{background:var(--vermelho)}
.notificacao.ok{background:var(--verde)}
.vazio-msg{text-align:center;color:var(--suave);padding:38px 12px}
.vazio-msg .ic{font-size:40px;opacity:.4;display:block;margin-bottom:8px}
.info-legal{font-size:11.5px;color:var(--suave);background:#fafbfc;border:1px solid var(--linha);
  border-radius:8px;padding:10px 13px;margin-top:12px;line-height:1.6}
.linha-botoes{display:flex;gap:9px;flex-wrap:wrap}
.duas-colunas{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:1000px){.duas-colunas{grid-template-columns:1fr}}
@media(max-width:760px){
  #lateral{position:fixed;left:-240px;z-index:60;transition:.2s}
  #lateral.aberto{left:0}
  #conteudo{padding:13px}
  .menu-btn{display:inline-flex!important}
}
.menu-btn{display:none}

/* artigos com preço por corrigir entre o auto e a nota de encomenda */
.correcoes-ot { border-left: 4px solid var(--ambar, #e0a800); }
.correcoes-ot table.dados td.dif { font-weight: 600; color: #b06a00; }
.correcoes-ot .linha-botoes { display: flex; gap: 6px; flex-wrap: wrap; }

/* ---- grelha de linhas do orçamento ---- */
#tabela-orc td { padding: 3px 4px; }
#tabela-orc input { width: 100%; padding: 5px 7px; font-size: 13px; }
#tabela-orc td.mover { color: #c3c3c3; text-align: center; cursor: default; }
#tabela-orc tr.capitulo-orc td { background: #f3f3f3; }
#tabela-art tr.capitulo-orc td { background: #f3f3f3; }

/* tabelas de preços de cliente */
table.dados td.num { text-align: right; white-space: nowrap; }

/* preço de uma linha alterado em relação à tabela do cliente */
#tabela-orc td.celula-preco { position: relative; }
.marca-preco {
  display: block; width: 100%; margin-top: 2px; border: 0; cursor: pointer;
  background: #fff4e6; color: #b06a00; font-size: 10.5px; font-weight: 600;
  border-radius: 4px; padding: 1px 4px; text-align: center;
}
.marca-preco:hover { background: #ffe6cc; }
table.dados tr.editavel { cursor: pointer; }
table.dados tr.editavel:hover td { background: #fff7f0; }

/* ---------- sugestões do campo Código (tabela de preços) ---------- */
.sugestoes-codigo{position:absolute;z-index:400;background:#fff;border:1px solid var(--linha);
  border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.16);max-height:290px;overflow:auto;
  font-size:12.5px;padding:4px}
.sugestoes-codigo .sug{display:flex;align-items:baseline;gap:10px;padding:6px 9px;
  border-radius:7px;cursor:pointer;white-space:nowrap}
.sugestoes-codigo .sug:hover,.sugestoes-codigo .sug.ativa{background:var(--laranja-claro)}
.sugestoes-codigo .cod{font-weight:700;color:var(--laranja-esc);min-width:86px}
.sugestoes-codigo .des{flex:1;overflow:hidden;text-overflow:ellipsis;max-width:520px}
.sugestoes-codigo .un{color:var(--suave);min-width:36px;text-align:center}
.sugestoes-codigo .pre{font-weight:700;min-width:82px;text-align:right}
.sugestoes-codigo .tab{color:#aaa;font-size:11px;min-width:110px;text-align:right;
  overflow:hidden;text-overflow:ellipsis;max-width:180px}
tr.linha-da-tabela td{animation:brilho-tabela 1.2s ease-out}
@keyframes brilho-tabela{from{background:var(--laranja-claro)}to{background:transparent}}

/* ---------- ligação perdida e recados que ficam ---------- */
#barra-ligacao{position:fixed;top:0;left:0;right:0;z-index:600;background:#8a2f14;
  color:#fff;padding:9px 16px;display:flex;align-items:center;gap:14px;
  font-size:13.5px;font-weight:600;box-shadow:0 3px 14px rgba(0,0,0,.28)}
#barra-ligacao small{font-weight:400;opacity:.85}
#barra-ligacao::before{content:'';width:9px;height:9px;border-radius:50%;
  background:#ffb4a0;animation:pisca-ligacao 1.1s ease-in-out infinite}
@keyframes pisca-ligacao{0%,100%{opacity:1}50%{opacity:.15}}
.notificacao.fixa{display:flex;flex-direction:column;align-items:flex-start;gap:10px;
  max-width:420px;line-height:1.45;white-space:normal}

/* ---------- passos do acesso remoto ---------- */
ol.passos-acesso{margin:10px 0 4px;padding-left:22px;line-height:1.75;font-size:13.5px}
ol.passos-acesso li{margin-bottom:5px}
ol.passos-acesso b{color:var(--laranja-esc)}
