/* Menu dinâmico (1.7): cadastro do menu e menu lateral montado por ele */

#nav-menu{display:flex;flex-direction:column;gap:14px;overflow:auto;min-height:0}
.nav a .mn-ext{margin-left:auto;color:var(--ink-4);display:inline-flex}

.mn-grade{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:14px;align-items:start}
.mn-esq .cartao{overflow-x:auto}
.mn-tab td,.mn-tab th{vertical-align:middle}
.mn-tab th,.mn-tab td{padding-left:10px;padding-right:10px}
.mn-tab td.col-acoes{white-space:nowrap}
.mn-ordem{width:54px;white-space:nowrap;text-align:center}

/* arrastar e soltar */
.mn-alca{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:5px;color:var(--ink-4);cursor:grab}
.mn-alca:hover{background:#eef2f7;color:var(--ink-2)}
.mn-alca:active{cursor:grabbing}
.mn-alca.off{cursor:not-allowed;opacity:.35}
.mn-alca.off:hover{background:none}
.mn-tab tr.arrastando td,.mn-tab tbody.arrastando td{opacity:.4;background:#f1f5f9}
.mn-tab tr.solta-antes td{box-shadow:inset 0 3px 0 var(--brand)}
.mn-tab tr.solta-depois td{box-shadow:inset 0 -3px 0 var(--brand)}
.mn-tab tr.solta-dentro td{background:var(--brand-soft)}
.mn-tab tbody.solta-antes tr:first-child td{box-shadow:inset 0 3px 0 var(--brand)}
.mn-tab tbody.solta-depois tr:last-child td{box-shadow:inset 0 -3px 0 var(--brand)}
tr.mn-secao td{background:#f8fafc;border-top:1px solid var(--line)}
tbody.mn-bloco:first-of-type tr.mn-secao td{border-top:0}
.mn-sec-nm{display:inline-flex;align-items:center;gap:6px}
tbody.mn-bloco.inativa tr:not(.mn-secao){opacity:.55}
.mn-av{width:28px;height:28px;border-radius:7px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;flex:none}
.mn-av.g{width:56px;height:56px;border-radius:12px}
.mn-av.ruim{background:var(--erro-soft);color:var(--erro);outline:1px solid var(--erro-line)}
tr.inativa .mn-av{opacity:.55}
.mn-k{font-family:"SFMono-Regular",Consolas,monospace;font-size:11px}
code.mn-k{background:#f3f4f6;border-radius:4px;padding:1px 5px;color:var(--ink-2)}
.fx-cel span.d.mn-k{color:var(--ink-4)}
.mn-dest{display:inline-flex;align-items:center;gap:5px;max-width:190px}
.mn-dest code{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mn-tab code.mn-k{font-size:10.5px}
.mn-dest span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mn-seg{width:max-content}
.mn-seg button[disabled]{opacity:.45;cursor:not-allowed}
input.mn-k[readonly]{color:var(--ink-3)}

/* prévia */
.mn-previa{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:12px;position:sticky;top:12px}
.mn-previa .cab{display:flex;align-items:center;gap:6px;font-size:12.5px;margin-bottom:10px}
.mn-previa .combo{width:100%}
.mn-mini{border:1px solid var(--line-soft);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:10px;background:#fcfcfd}
.mn-mini .grupo{display:flex;flex-direction:column;gap:1px}
.mn-mini h3{margin:0 0 3px;font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
.mn-mini .it{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:5px;font-size:12px;color:var(--ink)}
.mn-some{display:flex;gap:6px;align-items:flex-start;font-size:11px;color:var(--ink-3);margin:10px 0 0;line-height:1.4}
.mn-some one-icon{flex:none;margin-top:1px}
.mn-nav-prev{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;background:var(--brand-soft);color:var(--brand);font-size:12.5px;font-weight:500}
@media (max-width:1100px){.mn-grade{grid-template-columns:1fr}.mn-previa{position:static}}

/* ?menu=oculto: embutido em outro sistema, sem o menu lateral, sem a barra do topo (trilha, ambiente, cliente, notificações)
   e sem o cabeçalho da lista de Contatos. A classe vai no <html> por um script no <head> do index.html, antes do primeiro desenho. */
.nav-oculta .nav,.nav-oculta .trilha,.nav-oculta .cabeca-lista-contatos{display:none}
/* detalhe do contato: voltar para a lista (a lista mantém filtros e página) */
.cabeca .voltar-lista{align-self:center;flex:none}

/* menu recolhido: faixa só com os ícones (mnRecolher) */
.nav .marca .recolher{border:0;background:0;padding:4px;border-radius:6px;cursor:pointer;display:grid;place-items:center;transition:transform .15s}
.nav .marca .recolher:hover{background:#f3f4f6;color:var(--ink-2)}
.nav{transition:width .15s,padding .15s}
body.nav-recolhida .nav{width:60px;padding:12px 8px 20px}
body.nav-recolhida .nav .marca{flex-direction:column;gap:8px;padding-bottom:2px}
body.nav-recolhida .nav .marca b{display:none}
body.nav-recolhida .nav .marca .recolher{margin-left:0;transform:rotate(180deg)}
body.nav-recolhida .nav .grupo h3{font-size:0;height:1px;background:var(--line-soft);margin:4px 6px 6px}
body.nav-recolhida .nav a{justify-content:center;padding:9px 0}
body.nav-recolhida .nav a .rot,body.nav-recolhida .nav a .mn-ext{display:none}
body.nav-recolhida .nav-usuario{justify-content:center;padding:6px 0;border-color:transparent}
body.nav-recolhida .nav-usuario .nm,body.nav-recolhida .nav-usuario .seta{display:none}
body.nav-recolhida .nav-usuario .pf-menu{width:240px;left:0;right:auto}