:root{
  --bg:#f2f5f9; --card:#fff; --tx:#0f1b2d; --tx2:#4a5b73; --tx3:#8090a6; --ln:#dce4ee; --ln2:#eaeff6;
  --nav:#0b1f38; --nav2:rgba(255,255,255,.09); --nav-tx:#c3d2e6; --pri:#0a74d6; --pri2:#085bab; --pri-bg:#e5f1fd;
  --pri-claro:#008cfb; --foco:#9ccbf7; --lin-pri:#b3d7f8;
  --ok:#17875a; --ok-bg:#e1f4ea; --warn:#b86e00; --warn-bg:#fdf1dc; --err:#c2352b; --err-bg:#fbe7e5;
  --orc:#475569; --sol:#7c4dcc; --comp:#3b5bdb; --inc:#0f8a7a; --rec:#c47a00; --ambar:#a16207; --pag:#1f6f43; --eac:#b4235a;
  --r:12px; --sh:0 1px 2px rgba(11,31,56,.06),0 4px 14px rgba(11,31,56,.07);
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font:13.5px/1.45 "Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;color:var(--tx);background:var(--bg)}
a{color:var(--pri);text-decoration:none}
a:hover{text-decoration:underline}
h1{font-size:20px;margin:0}
h2{font-size:15px;margin:0 0 10px}
h3{font-size:13.5px;margin:0 0 8px;color:var(--tx2);text-transform:uppercase;letter-spacing:.04em}
.num,td.n,th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.muted{color:var(--tx3)} .small{font-size:12px} .nowrap{white-space:nowrap}
.pos{color:var(--err)} .neg{color:var(--ok)}

/* layout */
.app{display:flex;min-height:100vh}
.side{width:220px;background:linear-gradient(180deg,#081a30 0%,#0b1f38 55%,#0f2c52 100%);color:var(--nav-tx);flex-shrink:0;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.logo{padding:12px 14px;font-weight:700;color:#fff;font-size:15px;letter-spacing:.01em;border-bottom:1px solid rgba(255,255,255,.12);display:flex;align-items:center;gap:10px}
.logo-img{width:40px;height:40px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 2px 8px rgba(0,0,0,.35))}
.logo-txt{display:flex;flex-direction:column;letter-spacing:.18em;font-size:16px;line-height:1.1}
.logo-txt small{letter-spacing:.02em;font-size:9.5px;font-weight:400;max-width:130px}
.logo small{display:block;font-weight:400;color:var(--nav-tx);font-size:11px;opacity:.75;white-space:normal;line-height:1.3;margin-top:2px}
.side nav{padding:8px 0;flex:1;overflow:auto}
.side nav a{display:flex;align-items:center;gap:10px;padding:8px 14px;margin:1px 10px;border-radius:9px;color:var(--nav-tx);font-size:13.5px}
.side nav a:hover{background:var(--nav2);text-decoration:none;color:#fff}
.side nav a.on{background:rgba(255,255,255,.16);color:#fff;box-shadow:inset 3px 0 0 #008cfb}
.side nav a .badge{margin-left:auto}
.side nav .sep{height:1px;background:rgba(255,255,255,.14);margin:8px 14px}
.side svg{width:17px;height:17px;flex-shrink:0;opacity:.85}
.side .rodape{padding:12px 18px;font-size:12px;border-top:1px solid rgba(255,255,255,.12)}
.side .rodape a{color:var(--nav-tx)}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.top{display:flex;align-items:center;gap:12px;padding:10px 22px;background:var(--card);border-bottom:1px solid var(--ln);position:sticky;top:0;z-index:20}
.top .obra-sel{font-weight:600;font-size:14px;border:1px solid var(--ln);border-radius:10px;color:var(--pri);padding:6px 10px;background:#fff;max-width:340px}
.top .busca{flex:1;max-width:520px;position:relative}
.top .busca input{width:100%;padding:7px 12px 7px 32px;border:1px solid var(--ln);border-radius:10px;background:var(--bg)}
.top .busca svg{position:absolute;left:9px;top:8px;width:16px;height:16px;color:var(--tx3)}
.top .busca kbd{position:absolute;right:8px;top:6px}
.conteudo{padding:18px 22px 40px;max-width:1680px;width:100%}
.cab{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.cab .acoes{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
kbd{font:11px ui-monospace,monospace;border:1px solid var(--ln);border-bottom-width:2px;border-radius:4px;padding:1px 5px;background:#fff;color:var(--tx2)}

/* componentes */
.card{background:var(--card);border:1px solid var(--ln);border-radius:var(--r);box-shadow:var(--sh);padding:14px 16px}
.card+.card{margin-top:14px}
.grid>.card+.card,.ao-lado>.card+.card{margin-top:0}
.grid{display:grid;gap:14px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))} .g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))} .g6{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:1200px){.g6{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.g2,.g3{grid-template-columns:1fr}.side{display:none}}
.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:9px;border:1px solid var(--ln);background:#fff;color:var(--tx);font:inherit;font-weight:500;cursor:pointer;white-space:nowrap}
.btn:hover{background:var(--ln2);text-decoration:none}
.btn.pri{background:linear-gradient(135deg,#0a74d6,#008cfb);border-color:var(--pri);color:#fff}
.btn.pri:hover{background:linear-gradient(135deg,#085bab,#0a74d6)}
.btn.ok{background:var(--ok);border-color:var(--ok);color:#fff}
.btn.perigo{color:var(--err)}
.btn.sm{padding:4px 9px;font-size:12.5px}
.btn.link{border:0;background:none;color:var(--pri);padding:2px 4px}
.btn:disabled{opacity:.5;cursor:default}
.badge{display:inline-block;padding:1px 8px;border-radius:10px;font-size:11.5px;font-weight:600;background:var(--ln2);color:var(--tx2);white-space:nowrap}
.badge.ok,.b-ALTA,.b-VIGENTE,.b-ATENDIDA,.b-CONCLUIDO,.b-VINCULADA,.b-CONCLUIDA,.b-EFETIVADO,.b-VALIDADO{background:var(--ok-bg);color:var(--ok)}
.badge.warn,.b-MEDIA,.b-PARCIAL,.b-EM_COTACAO,.b-RASCUNHO,.b-ABERTA,.b-EMITIDO,.b-MAPEADO{background:var(--warn-bg);color:var(--warn)}
.badge.err,.b-BAIXA,.b-CANCELADA,.b-CANCELADO,.b-PENDENTE,.b-COM_ERROS,.b-ESTORNADO{background:var(--err-bg);color:var(--err)}
.b-SUBSTITUIDA,.b-ENCERRADO{background:var(--ln2);color:var(--tx3)}
.b-azul{background:var(--pri-bg);color:var(--pri)}
.flash{padding:10px 14px;border-radius:6px;margin-bottom:12px;border:1px solid}
.flash.ok{background:var(--ok-bg);border-color:#b7e3cc;color:#0f5e3e}
.flash.erro{background:var(--err-bg);border-color:#f3c3be;color:#8c2019}
.aviso{background:var(--warn-bg);border:1px solid #f1d5a2;color:#7a4a00;padding:10px 14px;border-radius:6px}
.info{background:var(--pri-bg);border:1px solid var(--lin-pri);color:#0b1f38;padding:10px 14px;border-radius:6px}

/* formulários */
label{display:block;font-size:12px;color:var(--tx2);margin-bottom:3px;font-weight:500}
input,select,textarea{font:inherit;color:inherit;border:1px solid #cdd9e8;border-radius:6px;padding:6px 9px;background:#fff;width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid var(--foco);border-color:var(--pri)}
input[type=checkbox],input[type=radio]{width:auto}
.campos{display:grid;gap:10px 14px;grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
.campos .largo{grid-column:span 2}
.linha-check{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--tx);margin:0}

/* tabelas */
.tab-wrap{overflow:auto;border:1px solid var(--ln);border-radius:var(--r);background:#fff}
table.t{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}
table.t th{position:sticky;top:0;background:#f1f6fb;color:var(--tx2);font-weight:600;font-size:12px;text-align:left;padding:7px 9px;border-bottom:1px solid var(--ln);white-space:nowrap;z-index:1}
table.t td{padding:5px 9px;border-bottom:1px solid var(--ln2);vertical-align:middle}
table.t tr:hover td{background:#f6f9fd}
table.t tfoot td{font-weight:700;background:#f1f6fb;border-top:1px solid var(--ln);position:sticky;bottom:0}
table.t .grupo td{background:#ecf2f9;font-weight:600}
table.t td.acoes{white-space:nowrap;text-align:right}
table.compacta td{padding:3px 8px}
.tree .n1 td{font-weight:700;background:#e7eff9}
.tree .n2 td{font-weight:600}
.tree .lo td{color:var(--tx2);font-size:12.5px;background:#fafcfe}
.tree .lo td:first-child{padding-left:28px}
.tree .caret{display:inline-block;width:16px;cursor:pointer;color:var(--tx3);user-select:none}
.tree tr.oculto,#ped-massa tr.oculto{display:none}
.ind{display:inline-block}
[data-edit]{cursor:text;border-radius:3px}
[data-edit]:hover{box-shadow:inset 0 0 0 1px var(--lin-pri);background:#eff5fc}
[data-edit][contenteditable=true]{background:#fff;box-shadow:inset 0 0 0 2px var(--pri);outline:0}
.salvo{animation:salvo 1.2s}
@keyframes salvo{0%{background:#d6f5e4}100%{background:transparent}}
.grade input{border:1px solid #dde6f1;border-radius:4px;padding:4px 6px;background:#fff}
.grade input:hover{border-color:#d0dcec}
.grade input:focus{background:#fff;border-color:var(--pri)}
.grade td{padding:2px 4px}

/* KPIs / cascata */
.kpi{background:#fff;border:1px solid var(--ln);border-radius:var(--r);padding:12px 14px;box-shadow:var(--sh);position:relative;overflow:hidden}
.kpi .rot{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--tx2);font-weight:600}
.kpi .val{font-size:17px;letter-spacing:-.01em;font-weight:700;margin-top:3px;font-variant-numeric:tabular-nums;white-space:nowrap}
.kpi .sub{font-size:12px;color:var(--tx2);margin-top:2px}
.kpi .barra{height:4px;background:var(--ln2);border-radius:2px;margin-top:8px;overflow:hidden}
.kpi .barra i{display:block;height:100%}
.kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--c,var(--orc))}
.c-orc{--c:var(--orc)} .c-sol{--c:var(--sol)} .c-comp{--c:var(--comp)} .c-inc{--c:var(--inc)} .c-ambar{--c:var(--ambar)} .c-rec{--c:var(--rec)} .c-pag{--c:var(--pag)} .c-eac{--c:var(--eac)}
.seta{display:flex;align-items:center;justify-content:center;color:var(--tx3)}
.pergunta{padding:14px 16px}
.pergunta .q{font-size:12.5px;color:var(--tx2)}
.pergunta .val{font-size:21px;font-weight:700;font-variant-numeric:tabular-nums}
.eacbar{display:flex;height:26px;border-radius:5px;overflow:hidden;margin:8px 0 6px;background:var(--ln2)}
.eacbar div{height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11.5px;font-weight:600;white-space:nowrap;overflow:hidden}
.legenda{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--tx2)}
.legenda i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.sem{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}
.sem.verde{background:var(--ok)} .sem.amarelo{background:#e0a100} .sem.vermelho{background:var(--err)}
.alerta{display:flex;gap:8px;padding:7px 0;border-bottom:1px solid var(--ln2);align-items:flex-start}
.alerta:last-child{border:0}
.dot{width:9px;height:9px;border-radius:50%;margin-top:5px;flex-shrink:0}
.dot.alta{background:var(--err)} .dot.media{background:#e39b00} .dot.baixa{background:var(--tx3)}
.minibar{height:6px;background:var(--ln2);border-radius:3px;overflow:hidden;min-width:60px}
.minibar i{display:block;height:100%;background:var(--comp)}
.abas{display:flex;gap:2px;border-bottom:1px solid var(--ln);margin-bottom:14px}
.abas a{padding:8px 14px;color:var(--tx2);border-bottom:2px solid transparent;margin-bottom:-1px;font-weight:500}
.abas a.on{color:var(--pri);border-color:var(--pri)}
.abas a:hover{text-decoration:none;color:var(--tx)}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{padding:4px 11px;border-radius:14px;border:1px solid var(--ln);background:#fff;color:var(--tx2);font-size:12.5px}
.chip.on{background:var(--pri-bg);border-color:var(--lin-pri);color:var(--pri);font-weight:600}
.chip:hover{text-decoration:none;border-color:var(--lin-pri)}
.seg{display:inline-flex;border:1px solid var(--ln);border-radius:6px;overflow:hidden}
.seg a,.seg button{padding:6px 12px;background:#fff;border:0;color:var(--tx2);font:inherit;cursor:pointer}
.seg a+a,.seg button+button{border-left:1px solid var(--ln)}
.seg .on{background:var(--pri-bg);color:var(--pri);font-weight:600}
.caminho{font-size:12px;color:var(--tx2)}
.dist{font-size:12px;color:var(--tx2);cursor:pointer;border-bottom:1px dashed #b8c7db}
.dist:hover{color:var(--pri)}
.dist.alerta-saldo{color:var(--err)}
.vazio{padding:40px;text-align:center;color:var(--tx2)}
.vazio h2{color:var(--tx)}

/* modal e autocomplete */
.fundo{position:fixed;inset:0;background:rgba(8,26,48,.55);display:flex;align-items:flex-start;justify-content:center;z-index:100;padding-top:8vh}
.modal{background:#fff;border-radius:16px;box-shadow:0 20px 50px rgba(0,0,0,.25);width:min(760px,94vw);max-height:84vh;display:flex;flex-direction:column}
.modal.largo{width:min(1080px,96vw)}
.modal header{padding:14px 18px;border-bottom:1px solid var(--ln);font-weight:600;font-size:15px;display:flex;align-items:center}
.modal header .x{margin-left:auto;cursor:pointer;color:var(--tx3);font-size:20px;line-height:1}
.modal .corpo{padding:14px 18px;overflow:auto}
.modal footer{padding:12px 18px;border-top:1px solid var(--ln);display:flex;gap:8px;justify-content:flex-end;align-items:center}
.ac{position:absolute;background:#fff;border:1px solid var(--ln);border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.14);z-index:200;max-height:340px;overflow:auto;min-width:320px}
.ac div.op{padding:7px 11px;cursor:pointer;border-bottom:1px solid var(--ln2)}
.ac div.op:last-child{border:0}
.ac div.op.sel,.ac div.op:hover{background:var(--pri-bg)}
.ac .t{font-weight:500} .ac .s{font-size:11.5px;color:var(--tx2)}
.ac .grp{padding:5px 11px;font-size:11px;text-transform:uppercase;color:var(--tx3);background:#f1f6fb;font-weight:600}
.toast{position:fixed;right:20px;bottom:20px;background:#0b1f38;color:#fff;padding:10px 16px;border-radius:10px;z-index:300;box-shadow:0 8px 24px rgba(0,0,0,.2);max-width:440px}
.toast.erro{background:var(--err)}
.drop{border:2px dashed #b9cade;border-radius:10px;padding:18px;text-align:center;color:var(--tx2);background:#f6f9fd;cursor:pointer}
.drop.sobre{border-color:var(--pri);background:var(--pri-bg)}
.passos{display:flex;gap:6px;margin-bottom:16px}
.passos span{padding:5px 12px;border-radius:14px;background:var(--ln2);color:var(--tx3);font-size:12.5px;font-weight:600}
.passos span.on{background:var(--pri);color:#fff}
.passos span.feito{background:var(--ok-bg);color:var(--ok)}
.login{max-width:360px;margin:12vh auto}
.lista-simples{list-style:none;margin:0;padding:0}
.lista-simples li{padding:6px 0;border-bottom:1px solid var(--ln2);display:flex;gap:8px}
.lista-simples li:last-child{border:0}
.ao-lado{display:flex;gap:14px;align-items:flex-start}
.ao-lado>*{flex:1;min-width:0}

/* barra de seleção (exclusão em massa) */
.barra-selecao{position:fixed;left:50%;bottom:18px;transform:translate(-50%,140%);display:flex;gap:10px;align-items:center;min-width:520px;max-width:92vw;
  background:#0b1f38;color:#fff;border-radius:12px;padding:10px 14px;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:transform .18s;z-index:60}
.barra-selecao.on{transform:translate(-50%,0)}
.barra-selecao .qtd{font-weight:600}
.barra-selecao .btn.link{color:#7cc0ff}
.barra-selecao .btn.limpar{background:transparent;color:#dbe7f5;border-color:#41648c}
td .sel-x{opacity:.35}
tr:hover td .sel-x{opacity:1}
.dest-sel{font-size:12px;padding:2px 4px;margin-bottom:3px;width:auto}
.barra-selecao .btn.perigo{background:#dc2626;color:#fff;border-color:#dc2626}

/* destinação: custo previsto × custo imprevisto */
.badge.imp,.b-IMPREVISTO{background:#fde8e1;color:#a2361a;font-weight:600}
.badge.prev,.b-VINCULADO{background:var(--ok-bg);color:var(--ok)}
.cel-dest .dest-tipo{display:flex;gap:10px;margin-bottom:4px;font-size:12px;white-space:nowrap}
.cel-dest .dest-tipo label{display:flex;align-items:center;gap:3px;cursor:pointer}
.cel-dest input,.cel-dest select{width:100%}
.cel-dest .d-imp input+input{margin-top:4px}
.aviso-imp{font-size:11px;font-weight:700;color:#a2361a;background:#fde8e1;border-radius:4px;padding:2px 6px;margin-bottom:4px}
tr.linha-imprevisto>td{background:#fffaf8}
.quadro-qtd{display:flex;flex-wrap:wrap;gap:2px 10px;margin-top:3px}
.quadro-qtd b{color:var(--txt,#222);font-weight:600}
.alerta-excede{color:var(--err);font-weight:600;margin-top:2px}
.dist-info.alerta-saldo{color:var(--err)}
.col-imp{color:#a2361a}
.tag-imp{display:inline-block;font-size:10px;font-weight:700;color:#a2361a;background:#fde8e1;border-radius:3px;padding:0 4px;margin-left:4px;vertical-align:middle}

/* nova solicitação: compra prevista (árvore do orçamento) × custo imprevisto */
.tipo-sol{display:flex;gap:12px;padding:12px}
.opcao-tipo{flex:1;display:flex;gap:10px;align-items:flex-start;border:2px solid var(--bd,#d5dfec);border-radius:8px;padding:10px 12px;cursor:pointer}
.opcao-tipo input{margin-top:3px}
.opcao-tipo b{display:block;font-size:15px}
.opcao-tipo span{font-size:12px;color:#5b6576}
.opcao-tipo.on{border-color:var(--pri);background:var(--pri-bg)}
.opcao-tipo.imp.on{border-color:#c2522e;background:#fdf1ec}
.sol-grid{display:grid;grid-template-columns:minmax(320px,40%) 1fr;gap:14px;align-items:start}
.sol-arvore .arv{max-height:560px;overflow:auto;margin-top:6px;border:1px solid var(--bd,#dce4ee);border-radius:6px;padding:4px 0}
.arv-no,.arv-lo{padding:4px 8px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
.arv-no:hover,.arv-lo:hover{background:#ebf3fb}
.arv-no.sel,.arv-lo.sel{background:var(--pri-bg);box-shadow:inset 3px 0 0 var(--pri)}
.arv-aux{padding:4px 8px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;color:#7a4b00}
.arv-aux:hover{background:#fdf6e8}
.arv-no .caret{display:inline-block;width:14px;color:#8a93a3}
.arv-no .ico{margin-right:4px;font-size:12px}
.arv-no.servico{color:#2c3647}
.arv-lo{color:#394456}
.arv-lo.estouro{color:var(--err)}
.sol-painel{min-height:300px}
.vazio-painel{padding:30px 10px;text-align:center;color:#4b5565}
.detalhe-lo{border:1px solid var(--lin-pri);background:#f4f8fd;border-radius:8px;padding:12px 14px}
.grid-ctrl{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px;margin:10px 0}
.ctrl{background:#fff;border:1px solid #dce4ee;border-radius:6px;padding:6px 8px}
.ctrl span{display:block;font-size:11px;color:#6b7383}
.ctrl b{font-size:14px}
.ctrl i{display:block;font-size:11px;color:var(--pri);font-style:normal}
.ctrl.destaque{border-color:var(--pri);background:var(--pri-bg)}
.linha-qtd{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.linha-qtd input{width:180px;font-size:16px}
.linha-qtd .calc{font-size:13px;flex:1;min-width:200px}
.alerta-estouro{margin-top:10px;background:var(--err-bg);border:1px solid #f0b8b0;color:#8a1f11;border-radius:6px;padding:8px 10px}
.alerta-estouro .ctrl{border-color:#f0b8b0}
.detalhe-lo .fin{margin-top:10px;background:#fff}
table.sel-linhas tr[data-lo]{cursor:pointer}
table.sel-linhas tr.sel td{background:var(--pri-bg)}
.etapa-escolhida{margin:10px 0;font-size:14px}
.valor-calc{padding:7px 0;font-weight:600}
@media (max-width:1100px){.sol-grid{grid-template-columns:1fr}.tipo-sol{flex-direction:column}}
/* árvore do orçamento: ETAPA → ITEM → COMPOSIÇÃO → INSUMOS (montagem na própria aba) */
#arvore tr.grupo td{background:var(--ln2);font-size:12.5px}
#arvore tr.g-comp td:first-child,#arvore tr.g-composicao td:first-child,#arvore tr.g-diretos td:first-child{white-space:nowrap}
#arvore .tag-nivel{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--tx3);border:1px solid var(--ln);border-radius:4px;padding:0 4px}
#arvore .acoes-linha{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
#arvore .acoes-linha .btn.sm{padding:1px 8px;font-size:11.5px;line-height:1.6}
#arvore .acoes-linha .btn.pri-l{color:var(--pri);border-color:var(--pri)}
#arvore tr.destaque td{box-shadow:inset 0 0 0 9999px rgba(37,99,235,.08)}
#arvore tr.destaque td:first-child{box-shadow:inset 3px 0 0 var(--pri),inset 0 0 0 9999px rgba(37,99,235,.08)}
#arvore .ramo{color:var(--tx3)}
.barra-montar{display:flex;align-items:center;gap:16px;padding:10px 14px;margin-bottom:12px}
.barra-montar .bm-acoes{display:flex;gap:8px;flex:none}
.barra-montar .btn.grande{font-size:14px;padding:8px 16px}
.busca-res{max-height:210px;overflow:auto;border:1px solid var(--ln);border-radius:6px;margin-top:6px}
.busca-res .res{padding:6px 10px;border-bottom:1px solid var(--ln2);cursor:pointer;font-size:13px}
.busca-res .res:hover{background:var(--ln2)}
.busca-res .res.sel{background:var(--pri-bg);box-shadow:inset 3px 0 0 var(--pri)}
.busca-res .res.vazio{cursor:default}
.arv-comp{border:1px solid var(--ln);border-radius:6px;padding:8px 10px;max-height:320px;overflow:auto;font-size:13px}
.arv-comp .ac-l{display:flex;align-items:baseline;gap:4px;padding:2px 0;white-space:nowrap}
.arv-comp .ac-l .ramo{font-family:ui-monospace,Consolas,monospace;white-space:pre;color:var(--tx3)}
.arv-comp .ac-meta{margin-left:auto;padding-left:16px;color:var(--tx2);font-size:12px}
table.heranca th{width:170px;text-align:left;color:var(--tx2);font-weight:500}
.ctrl-linha{margin-top:8px;padding:6px 10px;background:var(--ln2);border-radius:6px}
#linhas tr.grupo-h td{background:var(--ln2);font-size:12.5px;padding-top:6px}
@media (max-width:900px){.barra-montar{flex-direction:column;align-items:flex-start}}
.arv-comp .ac-t{text-decoration:none;font-size:12px}
.arv-comp-bar{margin-bottom:4px}
.arv-comp .ac-l[hidden]{display:none}
