/* Ferramentas (ferramentas.js) — rotinas em massa. */
.ferr-content { display:flex; flex-direction:column; gap:14px; }

.ferr-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:14px; }
.ferr-card { display:flex; flex-direction:column; align-items:flex-start; gap:8px; min-height:170px; padding:18px; border:1px solid var(--border); border-radius:12px; background:var(--surface); color:var(--text2); font:inherit; text-align:left; cursor:pointer; transition:border-color .15s, box-shadow .15s; }
.ferr-card:hover { border-color:color-mix(in srgb, #1E4A8A 40%, var(--border)); box-shadow:0 6px 18px rgba(30,74,138,.10); }
.ferr-card-icon { width:40px; height:40px; display:grid; place-items:center; border-radius:10px; background:#1E4A8A; color:#fff; font-size:20px; }
.ferr-card strong { color:var(--text); font-size:15px; font-weight:600; }
.ferr-card > span:not(.ferr-card-icon) { font-size:12.5px; font-weight:300; line-height:1.45; }
.ferr-card em { margin-top:auto; display:inline-flex; align-items:center; gap:5px; color:#1E4A8A; font-size:12px; font-style:normal; font-weight:500; }

.ferr-trilha { display:flex; align-items:center; gap:8px; color:var(--text3); font-size:13px; }
.ferr-trilha button { display:inline-flex; align-items:center; gap:5px; padding:6px 10px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text2); font:inherit; cursor:pointer; }
.ferr-trilha button:hover:not([disabled]) { border-color:#1E4A8A; color:#1E4A8A; }
.ferr-trilha strong { color:var(--text); font-weight:600; }

.ferr-painel { border:1px solid var(--border); border-radius:12px; background:var(--surface); overflow:hidden; }
.ferr-painel-head { display:flex; flex-direction:column; gap:2px; padding:14px 18px; border-bottom:1px solid var(--border); }
.ferr-painel-head strong { color:var(--text); font-size:14px; font-weight:600; }
.ferr-painel-head span { color:var(--text3); font-size:12px; font-weight:300; }

.ferr-filtros { display:grid; grid-template-columns:150px repeat(3, minmax(0, 1fr)) auto; align-items:end; gap:12px; padding:16px 18px 10px; }
.ferr-filtros label { display:grid; gap:5px; min-width:0; color:var(--text3); font-size:11px; }
.ferr-filtros input, .ferr-filtros select { box-sizing:border-box; width:100%; height:40px; margin:0; padding:0 10px; border:1px solid var(--border); border-radius:9px; background:var(--surface); color:var(--text); font:inherit; font-size:13px; }
.ferr-regras { display:flex; gap:7px; margin:0; padding:0 18px 14px; color:var(--text3); font-size:11.5px; font-weight:300; line-height:1.5; }
.ferr-regras i { margin-top:2px; }

.ferr-botao-primario { display:inline-flex; align-items:center; justify-content:center; gap:6px; height:38px; padding:0 16px; border:0; border-radius:9px; background:#1E4A8A; color:#fff; font:inherit; font-size:13px; font-weight:500; white-space:nowrap; cursor:pointer; }
.ferr-botao-primario:hover:not([disabled]) { background:#173B6E; }
.ferr-botao-primario[disabled] { opacity:.5; cursor:default; }

.ferr-tabela-wrap { max-height:52vh; overflow:auto; }
.ferr-tabela { width:100%; border-collapse:collapse; font-size:12.5px; }
.ferr-tabela th { position:sticky; top:0; z-index:1; padding:9px 12px; background:var(--surface2); color:var(--text3); font-size:10.5px; font-weight:500; letter-spacing:.04em; text-align:left; text-transform:uppercase; }
.ferr-tabela td { padding:9px 12px; border-top:1px solid var(--border); color:var(--text2); vertical-align:middle; }
.ferr-tabela td strong { display:block; color:var(--text); font-weight:500; }
.ferr-tabela td small { display:block; color:var(--text3); font-size:11px; font-weight:300; }
.ferr-tabela .num { text-align:right; white-space:nowrap; }
.ferr-tabela th:first-child, .ferr-tabela td:first-child { width:34px; }
.ferr-tabela tr.ferr-desmarcada td { opacity:.45; }
.ferr-tabela .ferr-alerta { color:var(--amber); }

.ferr-puladas { border-top:1px solid var(--border); }
.ferr-puladas summary { padding:11px 18px; color:var(--text2); font-size:12.5px; cursor:pointer; }
.ferr-puladas ul, .ferr-resultado-lista { margin:0; padding:0 18px 12px; list-style:none; }
.ferr-puladas li, .ferr-resultado-lista li { display:flex; flex-wrap:wrap; gap:4px 8px; padding:7px 0; border-top:1px solid var(--border); color:var(--text2); font-size:12.5px; }
.ferr-puladas li span, .ferr-resultado-lista li span { margin-left:auto; color:var(--text3); font-weight:300; }

.ferr-rodape { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 18px; border-top:1px solid var(--border); background:var(--surface2); color:var(--text2); font-size:13px; }
.ferr-vazio { display:flex; flex-direction:column; align-items:center; gap:6px; padding:28px; color:var(--text3); }
.ferr-vazio i { font-size:26px; }
.ferr-vazio strong { color:var(--text2); font-weight:500; }

.ferr-resumo { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:12px; padding:16px 18px; }
.ferr-resumo > div { display:flex; flex-direction:column; gap:2px; padding:12px 14px; border:1px solid var(--border); border-radius:10px; }
.ferr-resumo strong { color:var(--text); font-size:24px; font-weight:600; }
.ferr-resumo span { color:var(--text3); font-size:12px; }
.ferr-resumo .ok strong { color:var(--green); }
.ferr-resumo .erro strong { color:var(--red); }
.ferr-painel h4 { margin:6px 18px 4px; color:var(--text); font-size:13px; font-weight:600; }
.ferr-painel h4.erro { color:var(--red); }

@media (max-width: 900px) {
  .ferr-filtros { grid-template-columns:1fr 1fr; }
  .ferr-filtros .ferr-botao-primario { grid-column:1 / -1; }
}

/* ── Formulários de cotação (formularios.js) ─────────────────────────── */
.fm-girando { width:26px; height:26px; border:3px solid var(--border); border-top-color:#1E4A8A; border-radius:50%; animation:fm-girar .7s linear infinite; }
@keyframes fm-girar { to { transform:rotate(360deg); } }
.fm-cabecalho { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.fm-cabecalho h2 { margin:0 0 4px; color:var(--text); font-size:18px; font-weight:600; display:flex; align-items:center; gap:8px; }
.fm-cabecalho p { margin:0; color:var(--text3); font-size:12.5px; font-weight:300; max-width:620px; line-height:1.5; }
.fm-cab-acoes { display:flex; gap:8px; flex-wrap:wrap; }
.fm-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:14px; }
.fm-card { display:flex; flex-direction:column; gap:14px; padding:16px; border:1px solid var(--border); border-radius:14px; background:var(--surface); }
.fm-card.inativo { opacity:.6; }
.fm-card-topo { display:flex; align-items:center; gap:12px; }
.fm-card-icone { flex:none; width:42px; height:42px; display:grid; place-items:center; border-radius:12px; background:#1E4A8A; color:#fff; font-size:21px; }
.fm-card-titulo { flex:1; min-width:0; display:flex; flex-direction:column; }
.fm-card-titulo strong { color:var(--text); font-size:14.5px; font-weight:600; }
.fm-card-titulo span { color:var(--text3); font-size:11.5px; }
.fm-card-numeros { display:grid; grid-template-columns:repeat(3, 1fr); gap:8px; }
.fm-card-numeros button { display:flex; flex-direction:column; align-items:flex-start; gap:1px; padding:9px 11px; border:1px solid var(--border); border-radius:10px; background:var(--surface2); cursor:pointer; font:inherit; text-align:left; }
.fm-card-numeros button:hover { border-color:#1E4A8A; }
.fm-card-numeros strong { color:var(--text); font-size:18px; font-weight:600; line-height:1.1; }
.fm-card-numeros span { color:var(--text3); font-size:11px; }
.fm-card-acoes { display:flex; gap:8px; flex-wrap:wrap; }
.fm-card-acoes .fm-botao { flex:1; justify-content:center; }

.fm-botao { display:inline-flex; align-items:center; gap:6px; height:36px; padding:0 12px; border:1px solid var(--border); border-radius:9px; background:var(--surface); color:var(--text2); font:inherit; font-size:12.5px; font-weight:500; text-decoration:none; white-space:nowrap; cursor:pointer; }
.fm-botao i { font-size:16px; }
.fm-botao:hover { border-color:#1E4A8A; color:#1E4A8A; }
.fm-botao.primario { border-color:#1E4A8A; background:#1E4A8A; color:#fff; }
.fm-botao.primario:hover { background:#173B6E; color:#fff; }
.fm-botao.perigo { color:var(--red); }
.fm-botao.perigo:hover { border-color:var(--red); background:color-mix(in srgb, var(--red) 8%, var(--surface)); color:var(--red); }
.fm-icone-btn { width:32px; height:32px; display:inline-grid; place-items:center; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text3); font-size:16px; cursor:pointer; }
.fm-icone-btn:hover:not([disabled]) { border-color:#1E4A8A; color:#1E4A8A; }
.fm-icone-btn.perigo:hover:not([disabled]) { border-color:var(--red); color:var(--red); }
.fm-icone-btn[disabled] { opacity:.35; cursor:default; }

.fm-entrada { box-sizing:border-box; width:100%; min-height:38px; padding:8px 10px; border:1px solid var(--border); border-radius:9px; background:var(--surface); color:var(--text); font:inherit; font-size:13px; }
.fm-entrada:focus { outline:none; border-color:#1E4A8A; box-shadow:0 0 0 3px color-mix(in srgb, #1E4A8A 14%, transparent); }
textarea.fm-entrada { resize:vertical; line-height:1.45; }
.fm-editor-geral { padding:16px 18px; }
.fm-geral-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; }
.fm-geral-grid label, .fm-campo-extra label { display:grid; gap:5px; color:var(--text3); font-size:11.5px; }
.fm-geral-grid label small, .fm-campo-extra label small { color:var(--text3); font-weight:300; }
.fm-geral-grid .largo { grid-column:1 / -1; }
.fm-icone-linha { display:flex; gap:8px; align-items:center; }
.fm-previa-icone { flex:none; width:32px; height:32px; display:grid; place-items:center; border-radius:9px; background:color-mix(in srgb, #1E4A8A 12%, var(--surface)); color:#1E4A8A; font-size:17px; }
.fm-previa-icone.grande { width:38px; height:38px; background:#1E4A8A; color:#fff; font-size:20px; }
.fm-ativo { display:flex !important; align-items:center; gap:8px; align-self:end; min-height:38px; color:var(--text2) !important; font-size:12.5px !important; }
.fm-link { display:flex; align-items:center; gap:6px; margin:14px 0 0; font-size:12.5px; }
.fm-link a { color:#1E4A8A; word-break:break-all; }

.fm-etapa { padding:14px; border:1px solid var(--border); border-radius:14px; background:var(--surface); }
.fm-etapa-topo { display:flex; align-items:center; gap:8px; margin-bottom:12px; }
.fm-etapa-num { flex:none; width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:#1E4A8A; color:#fff; font-size:12px; font-weight:600; }
.fm-etapa-titulo { flex:1; font-weight:600; }
.fm-icone-select { width:150px; flex:none; }
.fm-campo-mover { display:flex; gap:4px; flex:none; }
.fm-campo { padding:10px; margin-bottom:8px; border:1px solid var(--border); border-radius:11px; background:var(--surface2); }
.fm-campo-linha { display:flex; align-items:center; gap:8px; }
.fm-campo-tipo { flex:none; width:32px; height:32px; display:grid; place-items:center; border-radius:8px; background:var(--surface); color:#1E4A8A; font-size:16px; border:1px solid var(--border); }
.fm-campo-rotulo { flex:1; min-width:0; }
.fm-campo-select { width:170px; flex:none; }
.fm-obrig { display:flex; align-items:center; gap:5px; flex:none; color:var(--text3); font-size:11.5px; cursor:pointer; }
.fm-campo-extra { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:8px; margin-top:8px; padding-left:40px; }
.fm-adicionar { display:flex; align-items:center; justify-content:center; gap:6px; width:100%; height:38px; border:1.5px dashed var(--border); border-radius:10px; background:transparent; color:#1E4A8A; font:inherit; font-size:12.5px; font-weight:500; cursor:pointer; }
.fm-adicionar:hover { border-color:#1E4A8A; background:color-mix(in srgb, #1E4A8A 6%, transparent); }
.fm-adicionar.etapa { height:44px; }
.fm-editor-rodape { position:sticky; bottom:0; z-index:2; display:flex; align-items:center; gap:8px; padding:12px 0; background:linear-gradient(to top, var(--bg) 70%, transparent); }
.fm-editor-rodape > span { flex:1; }

.fm-abas { display:flex; gap:6px; overflow-x:auto; padding-bottom:2px; }
.fm-aba { display:inline-flex; align-items:center; gap:6px; height:34px; padding:0 12px; border:1px solid var(--border); border-radius:99px; background:var(--surface); color:var(--text2); font:inherit; font-size:12.5px; white-space:nowrap; cursor:pointer; }
.fm-aba b { min-width:20px; padding:1px 6px; border-radius:99px; background:var(--surface2); color:var(--text3); font-size:11px; font-weight:600; text-align:center; }
.fm-aba.on { border-color:#1E4A8A; background:#1E4A8A; color:#fff; }
.fm-aba.on b { background:rgba(255,255,255,.2); color:#fff; }
.fm-resposta { display:flex; align-items:center; gap:12px; width:100%; padding:12px 16px; border:0; border-top:1px solid var(--border); background:transparent; font:inherit; text-align:left; cursor:pointer; }
.fm-resposta:first-child { border-top:0; }
.fm-resposta:hover { background:var(--surface2); }
.fm-avatar { flex:none; width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:color-mix(in srgb, #1E4A8A 12%, var(--surface)); color:#1E4A8A; font-weight:600; }
.fm-resposta-info { flex:1; min-width:0; display:flex; flex-direction:column; }
.fm-resposta-info strong { overflow:hidden; color:var(--text); font-size:13.5px; font-weight:500; white-space:nowrap; text-overflow:ellipsis; }
.fm-resposta-info small { overflow:hidden; color:var(--text3); font-size:11.5px; white-space:nowrap; text-overflow:ellipsis; }
.fm-resposta-quando { color:var(--text3); font-size:11.5px; white-space:nowrap; }
.fm-status { display:inline-flex; align-items:center; gap:4px; padding:3px 9px; border-radius:99px; background:var(--surface2); color:var(--text2); font-size:11px; font-weight:500; white-space:nowrap; }
.fm-status.nova { background:color-mix(in srgb, #1E4A8A 12%, var(--surface)); color:#1E4A8A; }
.fm-status.incompleta { background:color-mix(in srgb, var(--amber) 14%, var(--surface)); color:var(--amber); }
.fm-status.em_cotacao { background:color-mix(in srgb, #7C3AED 12%, var(--surface)); color:#7C3AED; }
.fm-status.finalizada { background:color-mix(in srgb, var(--green) 12%, var(--surface)); color:var(--green); }
.fm-seta { color:var(--text3); }

.fm-camada { position:fixed; inset:0; z-index:12000; display:flex; justify-content:flex-end; background:rgba(15,23,42,.42); }
.fm-gaveta { display:flex; flex-direction:column; width:min(560px, 100%); height:100%; background:var(--surface); box-shadow:-10px 0 30px rgba(15,23,42,.18); overflow:hidden; }
.fm-gaveta-topo { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding:18px 20px 12px; border-bottom:1px solid var(--border); }
.fm-gaveta-topo small { color:#1E4A8A; font-size:10.5px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; }
.fm-gaveta-topo h3 { margin:3px 0 2px; color:var(--text); font-size:17px; font-weight:600; }
.fm-gaveta-topo p { margin:0; color:var(--text3); font-size:12px; }
.fm-gaveta-acoes { display:flex; align-items:flex-end; gap:8px; flex-wrap:wrap; padding:12px 20px; border-bottom:1px solid var(--border); }
.fm-status-select { display:grid; gap:4px; color:var(--text3); font-size:11px; }
.fm-status-select .fm-entrada { width:150px; }
.fm-aviso { display:flex; gap:8px; margin:12px 20px 0; padding:10px 12px; border-radius:10px; background:color-mix(in srgb, var(--amber) 12%, var(--surface)); color:var(--text2); font-size:12px; line-height:1.45; }
.fm-aviso i { color:var(--amber); font-size:17px; }
.fm-gaveta-corpo { flex:1; overflow-y:auto; padding:6px 20px 24px; }
.fm-det-etapa h4 { display:flex; align-items:center; gap:7px; margin:16px 0 8px; color:#1E4A8A; font-size:12.5px; font-weight:600; }
.fm-det-etapa dl { margin:0; border:1px solid var(--border); border-radius:10px; overflow:hidden; }
.fm-det-etapa dl > div { display:grid; grid-template-columns:40% 1fr; border-top:1px solid var(--border); }
.fm-det-etapa dl > div:first-child { border-top:0; }
.fm-det-etapa dt { padding:8px 10px; background:var(--surface2); color:var(--text3); font-size:11.5px; line-height:1.4; }
.fm-det-etapa dd { margin:0; padding:8px 10px; color:var(--text); font-size:12.5px; line-height:1.45; white-space:pre-wrap; word-break:break-word; }

@media (max-width: 760px) {
  .fm-geral-grid { grid-template-columns:1fr; }
  .fm-campo-linha { flex-wrap:wrap; }
  .fm-campo-rotulo { flex-basis:calc(100% - 40px); }
  .fm-campo-select { flex:1; width:auto; }
  .fm-campo-extra { padding-left:0; }
  .fm-icone-select { width:110px; }
  .fm-resposta-quando { display:none; }
  .fm-det-etapa dl > div { grid-template-columns:1fr; }
}

/* Lista de formulários: uma linha por formulário. */
.fm-linha { display:flex; align-items:center; gap:14px; padding:12px 16px; border-top:1px solid var(--border); }
.fm-linha:first-child { border-top:0; }
.fm-linha.inativo { opacity:.6; }
.fm-linha .fm-card-icone { width:38px; height:38px; font-size:19px; border-radius:10px; }
.fm-linha .fm-card-titulo { flex:1 1 200px; }
.fm-linha-nums { display:flex; align-items:center; gap:4px; flex:none; }
.fm-linha-nums > i { width:1px; height:18px; background:var(--border); }
.fm-linha-num { padding:6px 10px; border:0; border-radius:8px; background:transparent; color:var(--text3); font:inherit; font-size:12.5px; white-space:nowrap; cursor:pointer; }
.fm-linha-num b { margin-left:3px; color:var(--text); font-weight:600; }
.fm-linha-num:hover { background:var(--surface2); }
.fm-linha-num.destaque { background:color-mix(in srgb, #1E4A8A 10%, var(--surface)); color:#1E4A8A; }
.fm-linha-num.destaque b { color:#1E4A8A; }
.fm-linha-acoes { display:flex; align-items:center; gap:6px; flex:none; }
@media (max-width: 860px) {
  .fm-linha { flex-wrap:wrap; }
  .fm-linha .fm-card-titulo { flex-basis:calc(100% - 60px); }
  .fm-linha-nums { order:3; width:100%; }
  .fm-linha-acoes { order:4; width:100%; }
  .fm-linha-acoes .fm-botao { flex:1; justify-content:center; }
}

/* Formulário → Oportunidade */
.fm-camada { z-index:13500; }
.fm-botao.sucesso { border-color:color-mix(in srgb, var(--green) 40%, var(--border)); background:color-mix(in srgb, var(--green) 10%, var(--surface)); color:var(--green); }
.fm-botao[disabled] { opacity:.6; cursor:default; }
.fm-op-marca { flex:none; width:26px; height:26px; display:grid; place-items:center; border-radius:50%; background:color-mix(in srgb, var(--green) 12%, var(--surface)); color:var(--green); font-size:15px; }
.oportunidade-form-link { width:100%; display:flex; align-items:center; gap:12px; padding:12px 14px; border:1px solid var(--border); border-radius:12px; background:var(--surface); color:var(--text2); font:inherit; text-align:left; cursor:pointer; }
.oportunidade-form-link:hover { border-color:#1E4A8A; }
.oportunidade-form-link > i:first-child { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; background:#1E4A8A; color:#fff; font-size:18px; }
.oportunidade-form-link span { flex:1; display:flex; flex-direction:column; }
.oportunidade-form-link strong { color:var(--text); font-size:13px; font-weight:600; }
.oportunidade-form-link small { color:var(--text3); font-size:11.5px; }

/* Editor: título com ícone + biblioteca de ícones */
.fm-titulo-linha { display:flex; align-items:flex-end; gap:12px; }
.fm-titulo-linha label { flex:1; }
.fm-titulo-entrada { min-height:44px; font-size:15px; font-weight:600; }
.fm-icone-escolher { position:relative; flex:none; width:36px; height:36px; display:grid; place-items:center; border:0; border-radius:10px; background:color-mix(in srgb, #1E4A8A 12%, var(--surface)); color:#1E4A8A; font-size:18px; cursor:pointer; }
.fm-icone-escolher.grande { width:44px; height:44px; border-radius:12px; background:#1E4A8A; color:#fff; font-size:22px; }
.fm-icone-escolher > span { position:absolute; right:-5px; bottom:-5px; width:18px; height:18px; display:grid; place-items:center; border:2px solid var(--surface); border-radius:50%; background:var(--text2); color:#fff; font-size:10px; opacity:0; transition:opacity .15s; }
.fm-icone-escolher:hover > span, .fm-icone-escolher:focus-visible > span { opacity:1; }
.fm-camada-centro { justify-content:center; align-items:center; padding:16px; }
.fm-icones { display:flex; flex-direction:column; width:min(520px, 100%); max-height:min(620px, 90vh); border-radius:16px; background:var(--surface); box-shadow:0 20px 50px rgba(15,23,42,.25); overflow:hidden; }
.fm-icones-topo { display:flex; align-items:center; justify-content:space-between; padding:14px 16px 8px; }
.fm-icones-topo strong { color:var(--text); font-size:15px; font-weight:600; }
.fm-icones-busca { position:relative; padding:0 16px 10px; }
.fm-icones-busca i { position:absolute; left:28px; top:11px; color:var(--text3); font-size:16px; }
.fm-icones-busca .fm-entrada { padding-left:36px; }
.fm-icones-grade { display:grid; grid-template-columns:repeat(auto-fill, minmax(52px, 1fr)); gap:6px; padding:4px 16px 16px; overflow-y:auto; }
.fm-icone-opcao { aspect-ratio:1; display:grid; place-items:center; border:1px solid var(--border); border-radius:10px; background:var(--surface); color:var(--text2); font-size:22px; cursor:pointer; }
.fm-icone-opcao:hover { border-color:#1E4A8A; color:#1E4A8A; }
.fm-icone-opcao.on { border-color:#1E4A8A; background:#1E4A8A; color:#fff; }
.fm-icones-vazio { margin:0; padding:0 16px 18px; color:var(--text3); font-size:12.5px; }

/* Mais contraste (pedido: "página muito lavada"): textos de apoio e rótulos
   mais escuros, bordas mais marcadas nos cartões e campos. */
#ferramentas-root .ferr-trilha, #ferramentas-root .ferr-painel-head span, #ferramentas-root .ferr-regras,
#ferramentas-root .fm-cabecalho p { color:var(--text2); font-weight:400; }
#ferramentas-root .ferr-painel, #ferramentas-root .ferr-card, #ferramentas-root .fm-etapa,
#ferramentas-root .fm-linha, #ferramentas-root .fm-resposta { border-color:var(--border2); }
#ferramentas-root .ferr-trilha button, #ferramentas-root .fm-botao, #ferramentas-root .fm-icone-btn,
#ferramentas-root .fm-aba, #ferramentas-root .fm-campo-tipo { border-color:var(--border2); color:var(--text); }
#ferramentas-root .fm-botao.primario, #ferramentas-root .fm-aba.on { color:#fff; }
#ferramentas-root .fm-botao.perigo { color:var(--red); }
#ferramentas-root .fm-campo { border-color:var(--border2); background:#F3F6FA; }
#ferramentas-root .fm-entrada { border-color:var(--border2); color:var(--text); background:#fff; }
#ferramentas-root .fm-geral-grid label, #ferramentas-root .fm-campo-extra label,
#ferramentas-root .fm-obrig, #ferramentas-root .fm-ativo { color:var(--text2) !important; font-size:12px; font-weight:500; }
#ferramentas-root .fm-geral-grid label small, #ferramentas-root .fm-campo-extra label small { color:var(--text3); font-weight:400; }
#ferramentas-root .fm-card-titulo span, #ferramentas-root .fm-linha-num,
#ferramentas-root .fm-resposta-info small, #ferramentas-root .fm-resposta-quando { color:var(--text2); }
#ferramentas-root .ferr-card > span:not(.ferr-card-icon) { color:var(--text2); }
.fm-gaveta-topo p, .fm-det-etapa dt { color:var(--text2); }
.fm-det-etapa dl, .fm-det-etapa dl > div { border-color:var(--border2); }

/* "Está muito opaco": o Simpp herda fonte peso 300 do body — em Ferramentas
   a letra fica em 400 e os textos no tom mais escuro da paleta. */
#ferramentas-root, .fm-camada { font-weight:400; color:var(--text); }
#ferramentas-root .fm-entrada, .fm-camada .fm-entrada { font-weight:400; color:var(--text); }
#ferramentas-root .fm-titulo-entrada { font-weight:600; }
#ferramentas-root .fm-geral-grid label, #ferramentas-root .fm-campo-extra label,
#ferramentas-root .fm-obrig, #ferramentas-root .fm-ativo { color:var(--text) !important; }
#ferramentas-root .ferr-trilha, #ferramentas-root .ferr-trilha button, #ferramentas-root .fm-cabecalho p,
#ferramentas-root .ferr-regras, #ferramentas-root .ferr-painel-head span,
#ferramentas-root .fm-card-titulo span, #ferramentas-root .fm-linha-num,
#ferramentas-root .fm-resposta-info small, #ferramentas-root .fm-resposta-quando,
#ferramentas-root .ferr-card > span:not(.ferr-card-icon), .fm-gaveta-topo p, .fm-det-etapa dt { color:var(--text2); font-weight:400; }
#ferramentas-root .fm-cabecalho h2, #ferramentas-root .fm-card-titulo strong, #ferramentas-root .ferr-card strong,
#ferramentas-root .ferr-painel-head strong, #ferramentas-root .fm-resposta-info strong { color:var(--text); font-weight:600; }
#ferramentas-root .fm-linha-num b, #ferramentas-root .fm-card-numeros strong { color:var(--text); font-weight:700; }
#ferramentas-root .ferr-painel, #ferramentas-root .fm-etapa, #ferramentas-root .ferr-card { box-shadow:0 1px 3px rgba(13,26,46,.08); }
#ferramentas-root .fm-campo { background:#EEF2F8; }
#ferramentas-root .fm-botao, #ferramentas-root .fm-aba { font-weight:500; }
.fm-det-etapa dd { color:var(--text); font-weight:500; }
#ferramentas-root .fm-etapa-titulo { font-weight:600; }

/* A área .content do Simpp tem altura fixa com rolagem: numa coluna flex os
   blocos encolhiam pra caber (o quadro do título ficava espremido, só com o
   rótulo visível). Nenhum bloco de Ferramentas encolhe — a página rola. */
.ferr-content > * { flex-shrink:0; }
.fm-opcoes-linha { display:flex; flex-wrap:wrap; gap:8px 24px; }
.fm-card-titulo span i { font-size:13px; vertical-align:-2px; color:var(--green); }

/* Campo condicional e escolha de modelo */
.fm-condicao { display:flex; align-items:center; gap:6px; }
.fm-condicao .fm-entrada { flex:1; min-width:0; }
.fm-condicao-igual { flex:none; color:var(--text2); font-size:12px; }
.fm-modelos { display:grid; gap:8px; padding:4px 16px 16px; overflow-y:auto; }
.fm-modelo { display:flex; align-items:center; gap:12px; padding:11px 12px; border:1px solid var(--border2); border-radius:12px; background:var(--surface); font:inherit; text-align:left; cursor:pointer; }
.fm-modelo:hover { border-color:#1E4A8A; background:color-mix(in srgb, #1E4A8A 5%, var(--surface)); }
.fm-modelo > span:last-child { display:flex; flex-direction:column; }
.fm-modelo strong { color:var(--text); font-size:13.5px; font-weight:600; }
.fm-modelo small { color:var(--text2); font-size:12px; }
.fm-modelo-icone { flex:none; width:38px; height:38px; display:grid; place-items:center; border-radius:10px; background:#1E4A8A; color:#fff; font-size:19px; }
.fm-modelo-icone.vazio { background:transparent; border:1.5px dashed var(--border2); color:#1E4A8A; }

/* ── Refino visual da central de Ferramentas ─────────────────────────── */
#ferramentas-root {
  --ferr-azul:#1E4A8A;
  --ferr-azul-escuro:#15365F;
  --ferr-azul-claro:#EAF2FC;
  gap:16px;
  padding-top:18px;
}

#ferramentas-root .ferr-intro {
  display:flex;
  align-items:center;
  gap:14px;
  min-height:82px;
  padding:16px 18px;
  border:1px solid var(--border2);
  border-left:4px solid var(--ferr-azul);
  border-radius:14px;
  background:var(--surface);
  box-shadow:0 4px 14px rgba(13,38,72,.06);
}
#ferramentas-root .ferr-intro-icon,
#ferramentas-root .fm-head-icon {
  width:44px;
  height:44px;
  flex:0 0 44px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:var(--ferr-azul-claro);
  color:var(--ferr-azul);
  font-size:21px;
}
#ferramentas-root .ferr-intro > div { min-width:0; }
#ferramentas-root .ferr-intro small,
#ferramentas-root .fm-cabecalho-copy small,
#ferramentas-root .ferr-page-head small {
  display:block;
  margin-bottom:3px;
  color:var(--ferr-azul);
  font-size:10px;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase;
}
#ferramentas-root .ferr-intro h2,
#ferramentas-root .ferr-page-head h2 {
  margin:0;
  color:var(--text);
  font-size:17px;
  font-weight:650;
  line-height:1.25;
}
#ferramentas-root .ferr-intro p,
#ferramentas-root .ferr-page-head p {
  margin:3px 0 0;
  color:var(--text2);
  font-size:12.5px;
  line-height:1.45;
}
#ferramentas-root .ferr-intro-note {
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border-radius:8px;
  background:#EEF7F1;
  color:#247548;
  font-size:11px;
  font-weight:600;
  white-space:nowrap;
}
#ferramentas-root .ferr-intro-note i { font-size:15px; }

#ferramentas-root .ferr-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
#ferramentas-root .ferr-card {
  position:relative;
  gap:10px;
  min-height:184px;
  padding:18px;
  overflow:hidden;
  border:1px solid var(--border2);
  border-radius:16px;
  background:var(--surface);
  box-shadow:0 4px 14px rgba(13,38,72,.06);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
#ferramentas-root .ferr-card::before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:var(--ferr-azul);
}
#ferramentas-root .ferr-card:hover {
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--ferr-azul) 42%,var(--border2));
  box-shadow:0 10px 24px rgba(30,74,138,.12);
}
#ferramentas-root .ferr-card:focus-visible {
  outline:3px solid color-mix(in srgb,var(--ferr-azul) 20%,transparent);
  outline-offset:2px;
}
#ferramentas-root .ferr-card-top {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
#ferramentas-root .ferr-card-top > small {
  padding:5px 8px;
  border-radius:7px;
  background:var(--surface2);
  color:var(--text2);
  font-size:10px;
  font-weight:650;
  letter-spacing:.04em;
  text-transform:uppercase;
}
#ferramentas-root .ferr-card-icon {
  width:46px;
  height:46px;
  border-radius:13px;
  background:var(--ferr-azul);
  box-shadow:0 6px 14px rgba(30,74,138,.2);
  font-size:22px;
}
#ferramentas-root .ferr-card-formularios .ferr-card-icon {
  background:#245F76;
  box-shadow:0 6px 14px rgba(36,95,118,.2);
}
#ferramentas-root .ferr-card-formularios::before { background:#245F76; }
#ferramentas-root .ferr-card-copy { display:grid; gap:5px; }
#ferramentas-root .ferr-card-copy strong {
  color:var(--text);
  font-size:16px;
  font-weight:650;
  line-height:1.3;
}
#ferramentas-root .ferr-card-copy > span {
  color:var(--text2);
  font-size:12.5px;
  font-weight:400;
  line-height:1.5;
}
#ferramentas-root .ferr-card-tags {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
#ferramentas-root .ferr-card-tags > span {
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 7px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface2);
  color:var(--text2);
  font-size:10.5px;
  line-height:1;
}
#ferramentas-root .ferr-card-tags i { color:var(--ferr-azul); font-size:13px; }
#ferramentas-root .ferr-card em {
  width:100%;
  margin-top:auto;
  justify-content:space-between;
  padding-top:12px;
  border-top:1px solid var(--border);
  color:var(--ferr-azul);
  font-size:12px;
  font-weight:650;
}
#ferramentas-root .ferr-card em i {
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:var(--ferr-azul-claro);
  transition:transform .15s ease;
}
#ferramentas-root .ferr-card:hover em i { transform:translateX(2px); }

#ferramentas-root .ferr-trilha {
  gap:6px;
  min-height:32px;
  font-size:11.5px;
}
#ferramentas-root .ferr-trilha button {
  min-height:32px;
  padding:0 10px;
  border-color:var(--border2);
  font-size:11.5px;
  font-weight:550;
}
#ferramentas-root .ferr-trilha > i { color:var(--text3); font-size:13px; }
#ferramentas-root .ferr-page-head {
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border:1px solid var(--border2);
  border-radius:14px;
  background:var(--surface);
  box-shadow:0 3px 12px rgba(13,38,72,.05);
}
#ferramentas-root .ferr-page-head > span {
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:var(--ferr-azul);
  color:#fff;
  font-size:20px;
}

#ferramentas-root .ferr-painel {
  border-color:var(--border2);
  border-radius:14px;
  box-shadow:0 3px 12px rgba(13,38,72,.055);
}
#ferramentas-root .ferr-painel-head {
  flex-direction:row;
  align-items:center;
  gap:11px;
  min-height:62px;
  padding:12px 16px;
  background:#F8FAFD;
}
#ferramentas-root .ferr-painel-head > div {
  min-width:0;
  display:grid;
  gap:2px;
}
#ferramentas-root .ferr-painel-head-icon {
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:var(--ferr-azul-claro);
  color:var(--ferr-azul);
  font-size:17px;
}
#ferramentas-root .ferr-painel-head strong { font-size:13.5px; font-weight:650; }
#ferramentas-root .ferr-painel-head span:not(.ferr-painel-head-icon) { font-size:11.5px; }
#ferramentas-root .ferr-filtros { gap:10px; padding:14px 16px 10px; }
#ferramentas-root .ferr-filtros label {
  gap:6px;
  color:var(--text2);
  font-size:10.5px;
  font-weight:600;
}
#ferramentas-root .ferr-filtros input,
#ferramentas-root .ferr-filtros select {
  height:38px;
  border-color:var(--border2);
  background:#fff;
  font-size:12.5px;
}
#ferramentas-root .ferr-filtros input:focus,
#ferramentas-root .ferr-filtros select:focus {
  outline:none;
  border-color:var(--ferr-azul);
  box-shadow:0 0 0 3px rgba(30,74,138,.1);
}
#ferramentas-root .ferr-regras {
  align-items:flex-start;
  margin:0 16px 14px;
  padding:9px 11px;
  border-radius:9px;
  background:var(--ferr-azul-claro);
  color:var(--text2);
  font-size:11px;
  line-height:1.45;
}
#ferramentas-root .ferr-regras i { color:var(--ferr-azul); font-size:15px; }
#ferramentas-root .ferr-botao-primario {
  height:36px;
  padding:0 13px;
  border-radius:8px;
  background:var(--ferr-azul);
  font-size:12px;
  font-weight:600;
  box-shadow:0 3px 8px rgba(30,74,138,.16);
}
#ferramentas-root .ferr-botao-primario:hover:not([disabled]) { background:var(--ferr-azul-escuro); }

#ferramentas-root .ferr-tabela th {
  height:36px;
  padding:8px 12px;
  background:#EEF3F9;
  color:#52657E;
  font-weight:650;
}
#ferramentas-root .ferr-tabela td { padding:11px 12px; border-color:var(--border); }
#ferramentas-root .ferr-tabela tbody tr:hover td { background:#F8FAFD; }
#ferramentas-root .ferr-tabela td strong { font-weight:600; }
#ferramentas-root .ferr-tabela td small { margin-top:2px; color:var(--text2); font-weight:400; }
#ferramentas-root input[type="checkbox"] { accent-color:var(--ferr-azul); }
#ferramentas-root .ferr-rodape {
  position:sticky;
  bottom:0;
  z-index:2;
  min-height:58px;
  padding:10px 16px;
  background:#F4F7FB;
  color:var(--text2);
}
#ferramentas-root .ferr-rodape > span strong { color:var(--ferr-azul); }
#ferramentas-root .ferr-puladas summary { font-weight:550; }

#ferramentas-root .fm-cabecalho {
  align-items:center;
  padding:14px 16px;
  border:1px solid var(--border2);
  border-radius:14px;
  background:var(--surface);
  box-shadow:0 3px 12px rgba(13,38,72,.05);
}
#ferramentas-root .fm-cabecalho-copy {
  min-width:0;
  display:flex;
  align-items:center;
  gap:12px;
}
#ferramentas-root .fm-cabecalho-copy > div { min-width:0; }
#ferramentas-root .fm-cabecalho h2 {
  margin:0 0 2px;
  font-size:16px;
  font-weight:650;
}
#ferramentas-root .fm-cabecalho p { font-size:11.5px; line-height:1.4; }
#ferramentas-root .fm-lista {
  display:grid;
  gap:9px;
  overflow:visible;
  border:0;
  background:transparent;
  box-shadow:none;
}
#ferramentas-root .fm-linha {
  gap:12px;
  padding:13px 14px;
  border:1px solid var(--border2);
  border-radius:12px;
  background:var(--surface);
  box-shadow:0 2px 8px rgba(13,38,72,.045);
  transition:border-color .15s,box-shadow .15s;
}
#ferramentas-root .fm-linha:first-child { border-top:1px solid var(--border2); }
#ferramentas-root .fm-linha:hover {
  border-color:color-mix(in srgb,var(--ferr-azul) 38%,var(--border2));
  box-shadow:0 5px 14px rgba(30,74,138,.08);
}
#ferramentas-root .fm-linha .fm-card-icone {
  width:40px;
  height:40px;
  border-radius:11px;
  background:var(--ferr-azul-claro);
  color:var(--ferr-azul);
  font-size:19px;
}
#ferramentas-root .fm-card-titulo strong { font-size:13.5px; font-weight:650; }
#ferramentas-root .fm-card-titulo span { margin-top:2px; font-size:10.5px; }
#ferramentas-root .fm-linha-nums {
  gap:5px;
  padding:4px;
  border-radius:9px;
  background:#F4F7FB;
}
#ferramentas-root .fm-linha-nums > i { display:none; }
#ferramentas-root .fm-linha-num { padding:6px 8px; border-radius:7px; font-size:11px; }
#ferramentas-root .fm-linha-num.destaque { background:#fff; box-shadow:0 1px 4px rgba(13,38,72,.08); }
#ferramentas-root .fm-icone-btn {
  border-radius:8px;
  background:#F7F9FC;
  color:var(--ferr-azul);
}
#ferramentas-root .fm-botao,
.fm-camada .fm-botao { border-radius:8px; font-size:11.5px; }

#ferramentas-root .fm-etapa {
  padding:15px;
  border-left:3px solid var(--ferr-azul);
  box-shadow:0 3px 10px rgba(13,38,72,.05);
}
#ferramentas-root .fm-etapa-num { background:var(--ferr-azul-claro); color:var(--ferr-azul); font-weight:700; }
#ferramentas-root .fm-campo { background:#F5F7FA; }
#ferramentas-root .fm-adicionar { border-color:#9FB4CF; background:#F8FAFD; font-weight:600; }
#ferramentas-root .fm-editor-rodape { background:var(--bg); }
#ferramentas-root .fm-abas {
  gap:5px;
  padding:4px;
  border:1px solid var(--border2);
  border-radius:10px;
  background:#F4F7FB;
}
#ferramentas-root .fm-aba { height:32px; border-color:transparent; background:transparent; font-size:11.5px; }
#ferramentas-root .fm-aba.on { border-color:var(--ferr-azul); background:var(--ferr-azul); }
#ferramentas-root .fm-resposta { padding:12px 14px; }
#ferramentas-root .fm-resposta:hover { background:#F7F9FC; }

@media (max-width:900px) {
  #ferramentas-root .ferr-grid { grid-template-columns:1fr; }
  #ferramentas-root .ferr-card { min-height:184px; }
  #ferramentas-root .ferr-intro-note { display:none; }
}
@media (max-width:620px) {
  #ferramentas-root { padding-top:12px; }
  #ferramentas-root .ferr-intro { align-items:flex-start; padding:14px; }
  #ferramentas-root .ferr-intro h2,
  #ferramentas-root .ferr-page-head h2 { font-size:15px; }
  #ferramentas-root .ferr-card { min-height:auto; padding:16px; }
  #ferramentas-root .ferr-card-tags { display:grid; grid-template-columns:1fr; }
  #ferramentas-root .ferr-page-head { align-items:flex-start; }
  #ferramentas-root .ferr-filtros { grid-template-columns:1fr; }
  #ferramentas-root .ferr-filtros .ferr-botao-primario { grid-column:auto; width:100%; }
  #ferramentas-root .fm-cabecalho { align-items:stretch; }
  #ferramentas-root .fm-cabecalho-copy { align-items:flex-start; }
  #ferramentas-root .fm-cabecalho > .ferr-botao-primario { width:100%; }
}

/* ── Editor de formulários: leitura e edição mais guiadas ────────────── */
#ferramentas-root .fm-editor-geral {
  padding:0;
  overflow:hidden;
}
#ferramentas-root .fm-editor-limite {
  width:100%;
  max-width:980px;
  margin-right:auto;
  margin-left:auto;
}
#ferramentas-root .fm-editor-geral-head {
  display:flex;
  align-items:center;
  gap:11px;
  min-height:58px;
  padding:9px 14px;
  border-bottom:1px solid var(--border);
  background:#F8FAFD;
}
#ferramentas-root .fm-editor-geral-head > span {
  width:36px;
  height:36px;
  flex:0 0 36px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:var(--ferr-azul-claro);
  color:var(--ferr-azul);
  font-size:18px;
}
#ferramentas-root .fm-editor-geral-head > div { min-width:0; }
#ferramentas-root .fm-editor-geral-head small {
  display:block;
  margin-bottom:1px;
  color:var(--ferr-azul);
  font-size:9.5px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}
#ferramentas-root .fm-editor-geral-head strong {
  display:block;
  color:var(--text);
  font-size:13.5px;
  font-weight:650;
}
#ferramentas-root .fm-editor-geral-head p {
  margin:2px 0 0;
  color:var(--text2);
  font-size:10.5px;
  line-height:1.35;
}
#ferramentas-root .fm-geral-grid {
  gap:10px;
  padding:12px 14px;
}
#ferramentas-root .fm-geral-grid > label,
#ferramentas-root .fm-titulo-linha > label {
  gap:6px;
  color:var(--text);
  font-size:11px;
  font-weight:600;
}
#ferramentas-root .fm-geral-grid label small { font-size:10px; font-weight:400; }
#ferramentas-root .fm-titulo-linha {
  align-items:flex-end;
  gap:10px;
}
#ferramentas-root .fm-icone-escolher.grande {
  width:42px;
  height:42px;
  border-radius:11px;
  box-shadow:0 4px 10px rgba(30,74,138,.16);
}
#ferramentas-root .fm-titulo-entrada {
  min-height:40px;
  font-size:13.5px;
  font-weight:600;
}
#ferramentas-root .fm-opcoes-linha {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
#ferramentas-root .fm-opcao-card {
  display:grid !important;
  grid-template-columns:30px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:50px;
  padding:7px 9px;
  border:1px solid var(--border2);
  border-radius:10px;
  background:#F8FAFD;
  cursor:pointer;
}
#ferramentas-root .fm-opcao-card:hover { border-color:#9FB4CF; background:#F3F7FC; }
#ferramentas-root .fm-opcao-icone {
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:var(--ferr-azul-claro);
  color:var(--ferr-azul);
  font-size:15px;
}
#ferramentas-root .fm-opcao-copy { display:grid; min-width:0; gap:1px; }
#ferramentas-root .fm-opcao-copy strong { color:var(--text); font-size:11.5px; font-weight:600; }
#ferramentas-root .fm-opcao-copy small { color:var(--text2); font-size:9.5px; font-weight:400; }
#ferramentas-root .fm-opcao-card > input {
  position:absolute;
  opacity:0;
  pointer-events:none;
}
#ferramentas-root .fm-toggle {
  position:relative;
  width:34px;
  height:20px;
  flex:0 0 34px;
  border-radius:99px;
  background:#C8D0DB;
  transition:background .15s;
}
#ferramentas-root .fm-toggle::after {
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 3px rgba(15,23,42,.25);
  transition:transform .15s;
}
#ferramentas-root .fm-opcao-card > input:checked + .fm-toggle { background:#247548; }
#ferramentas-root .fm-opcao-card > input:checked + .fm-toggle::after { transform:translateX(14px); }
#ferramentas-root .fm-opcao-card > input:focus-visible + .fm-toggle { outline:3px solid rgba(30,74,138,.15); outline-offset:2px; }
#ferramentas-root .fm-link {
  margin:0 16px 14px;
  padding:8px 10px;
  border-radius:8px;
  background:var(--ferr-azul-claro);
  font-size:10.5px;
}

#ferramentas-root .fm-etapa {
  padding:0;
  overflow:hidden;
  border-left:3px solid var(--ferr-azul);
  border-radius:13px;
}
#ferramentas-root .fm-etapa-topo {
  gap:9px;
  min-height:50px;
  margin:0;
  padding:7px 10px;
  border-bottom:1px solid var(--border);
  background:#F8FAFD;
}
#ferramentas-root .fm-etapa-num {
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:9px;
}
#ferramentas-root .fm-etapa-topo .fm-icone-escolher {
  width:34px;
  height:34px;
  flex:0 0 34px;
  border:1px solid var(--border);
  background:#fff;
}
#ferramentas-root .fm-etapa-titulo {
  min-height:36px;
  border-color:transparent;
  background:transparent;
  font-size:13px;
  font-weight:650;
}
#ferramentas-root .fm-etapa-titulo:hover,
#ferramentas-root .fm-etapa-titulo:focus { border-color:var(--border2); background:#fff; }
#ferramentas-root .fm-etapa > .fm-campo { margin:8px 10px 0; }
#ferramentas-root .fm-etapa > .fm-adicionar { width:calc(100% - 20px); margin:8px 10px 10px; }
#ferramentas-root .fm-campo {
  padding:8px;
  border-color:var(--border2);
  border-radius:10px;
  background:#F5F7FA;
}
#ferramentas-root .fm-campo-linha {
  display:grid;
  grid-template-columns:34px minmax(240px,1fr) minmax(170px,220px) auto auto;
  align-items:end;
  gap:6px;
}
#ferramentas-root .fm-campo-tipo {
  width:34px;
  height:36px;
  border-color:var(--border2);
  background:#fff;
}
#ferramentas-root .fm-campo-bloco {
  display:grid;
  min-width:0;
  gap:4px;
}
#ferramentas-root .fm-campo-bloco > small {
  color:var(--text2);
  font-size:9.5px;
  font-weight:600;
}
#ferramentas-root .fm-campo-bloco .fm-entrada { min-height:36px; }
#ferramentas-root .fm-campo-select { width:100%; }
#ferramentas-root .fm-obrig {
  min-height:36px;
  padding:0 8px;
  border:1px solid var(--border2);
  border-radius:8px;
  background:#fff;
  color:var(--text) !important;
  font-size:10.5px;
  font-weight:550;
}
#ferramentas-root .fm-obrig input { margin:0; }
#ferramentas-root .fm-campo-mover { align-items:center; }
#ferramentas-root .fm-campo-mover .fm-icone-btn { width:30px; height:30px; }
#ferramentas-root .fm-campo-extra {
  grid-template-columns:repeat(auto-fit,minmax(260px,480px));
  justify-content:start;
  gap:8px;
  margin-top:8px;
  padding:8px 0 0 40px;
  border-top:1px solid var(--border);
}
#ferramentas-root .fm-campo-extra label {
  color:var(--text);
  font-size:10.5px;
  font-weight:550;
}
#ferramentas-root .fm-campo-extra label small { font-size:9.5px; }
#ferramentas-root .fm-adicionar {
  height:32px;
  border-color:#AFC0D5;
  border-radius:8px;
  background:#FAFCFE;
  font-size:11.5px;
}
#ferramentas-root .fm-adicionar.etapa {
  height:36px;
  background:var(--surface);
  box-shadow:0 2px 8px rgba(13,38,72,.04);
}
#ferramentas-root .fm-editor-rodape {
  bottom:10px;
  min-height:46px;
  margin-top:2px;
  padding:6px 8px;
  border:1px solid var(--border2);
  border-radius:12px;
  background:rgba(255,255,255,.96);
  box-shadow:0 8px 24px rgba(13,38,72,.14);
  backdrop-filter:blur(8px);
}
#ferramentas-root .fm-editor-geral .fm-entrada,
#ferramentas-root .fm-etapa .fm-entrada {
  min-height:34px;
  height:34px;
  padding:5px 9px;
  border-radius:8px;
  font-size:12px;
}
#ferramentas-root .fm-etapa textarea.fm-entrada {
  height:auto;
  min-height:62px;
}
@media (max-width:1050px) {
  #ferramentas-root .fm-campo-linha { grid-template-columns:34px minmax(220px,1fr) minmax(150px,190px) auto; }
  #ferramentas-root .fm-campo-linha > .fm-campo-mover { grid-column:2 / -1; justify-content:flex-end; }
}
@media (max-width:760px) {
  #ferramentas-root .fm-opcoes-linha { grid-template-columns:1fr; }
  #ferramentas-root .fm-campo-linha { grid-template-columns:34px minmax(0,1fr); align-items:end; }
  #ferramentas-root .fm-campo-bloco-pergunta { grid-column:2; }
  #ferramentas-root .fm-campo-bloco-tipo { grid-column:1 / -1; }
  #ferramentas-root .fm-obrig { grid-column:1 / -1; justify-content:flex-start; }
  #ferramentas-root .fm-campo-linha > .fm-campo-mover { grid-column:1 / -1; }
  #ferramentas-root .fm-campo-extra { grid-template-columns:1fr; padding-left:0; }
  #ferramentas-root .fm-editor-rodape { bottom:6px; flex-wrap:wrap; }
  #ferramentas-root .fm-editor-rodape > span { display:none; }
  #ferramentas-root .fm-editor-rodape .ferr-botao-primario { margin-left:auto; }
}
