/* ═══════════════════════════════════════════════════════════════════════════
   mude. — menu em cartão (msb) · 30/09/2026
   ---------------------------------------------------------------------------
   Cópia da linguagem do menu do mude. aprova (_nav.php + _assets.php, commit
   62b57cc), para propostas, ad e calendário. Tudo leva o prefixo msb- para não
   brigar com o CSS antigo de cada sistema, que ainda tem regras de .sidebar,
   .nav-item e .main espalhadas.

   Cartão branco solto da borda, cantos redondos, amarelo #FED600 e rosa
   #ED5AB4 só como destaque (degradê vetado pelo Gustavo). Recolhido vira
   trilho de ícones com tooltip; parando o mouse, abre por cima (.peek).
   No celular vira gaveta + barra de baixo com os 5 primeiros itens.

   Camadas: 44 barras do celular · 45 cartão · 46 véu · 47 gaveta · 48 espiar.
   Fica ABAIXO de 50, onde começam os modais dos sistemas.

   Mesmo arquivo nos três sistemas. Mudou aqui, copiar para os outros.
   ═══════════════════════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800;900&display=swap');

:root{
  --msb-w:256px;--msb-min:72px;--msb-gap:12px;
  --msb-off:calc(var(--msb-w) + var(--msb-gap) * 2);
  --msb-bg:#FFFFFF;--msb-bd:#E4E4E7;--msb-bd2:#D1D1D6;
  --msb-ink:#0D0D0C;--msb-mu:#71717A;--msb-mu2:#A1A1AA;
  --msb-fill:rgba(13,13,12,.045);--msb-fill2:rgba(13,13,12,.085);
  --msb-on-bg:#FFF3B0;--msb-on-ink:#0D0D0C;--msb-on-ic:#D63F9C;
  --msb-y:#FED600;--msb-yh:#E8C300;--msb-pink:#ED5AB4;--msb-pink2:#D63F9C;--msb-pink-l:#FDF0F8;
  --msb-er:#DC2626;
  --msb-sombra:0 1px 2px rgba(13,13,12,.05),0 12px 32px -8px rgba(13,13,12,.14);
  --msb-font:'Poppins',-apple-system,BlinkMacSystemFont,sans-serif;
}
html.msb-rec{--msb-off:calc(var(--msb-min) + var(--msb-gap) * 2)}

/* Faixa rosa/amarelo da marca no topo, igual ao aprova e aos relatórios. */
.msb-brandbar{position:fixed;top:0;left:0;right:0;height:5px;z-index:9999;pointer-events:none;
  background:linear-gradient(90deg,var(--msb-pink) 0%,var(--msb-pink) 55%,var(--msb-y) 55%,var(--msb-y) 100%)}

.msb,.msb *,.msb-mbar,.msb-mbar *,.msb-bnav,.msb-bnav *{box-sizing:border-box}
.msb{
  width:var(--msb-w);background:var(--msb-bg);color:var(--msb-ink);font-family:var(--msb-font);
  border:1px solid var(--msb-bd);border-radius:20px;box-shadow:var(--msb-sombra);
  display:flex;flex-direction:column;
  position:fixed;top:var(--msb-gap);left:var(--msb-gap);bottom:var(--msb-gap);z-index:45;
  transition:width .2s cubic-bezier(.25,.46,.45,.94),box-shadow .2s;overflow:hidden;
  -webkit-font-smoothing:antialiased;
}
.msb.collapsed{width:var(--msb-min)}
.msb.peek{z-index:48;box-shadow:var(--msb-sombra),0 24px 60px -12px rgba(13,13,12,.28)}
.msb [hidden]{display:none!important}
.msb a{text-decoration:none}
.msb button{font-family:var(--msb-font)}

/* Logo */
.msb-sl{padding:14px 12px 6px 14px;display:flex;align-items:center;gap:10px;flex-shrink:0}
.msb-mark{width:34px;height:34px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  overflow:hidden;background:#fff;box-shadow:0 0 0 1px var(--msb-bd)}
.msb-mark img{width:34px;height:34px;display:block}
.msb-sl-txt{min-width:0;display:flex;align-items:baseline;gap:6px;white-space:nowrap}
.msb-name{font-size:19px;font-weight:900;color:var(--msb-ink);letter-spacing:-.04em;line-height:1}
.msb-name .dot,.msb-mbar-logo .dot{color:var(--msb-pink)}
.msb-tag{font-size:9.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#0D0D0C;
  background:var(--msb-y);padding:2px 6px;border-radius:5px;line-height:1.2}
.msb-toggle{margin-left:auto;width:28px;height:28px;border-radius:8px;border:none;cursor:pointer;flex-shrink:0;padding:0;
  background:transparent;color:var(--msb-mu);display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s}
.msb-toggle:hover{background:var(--msb-fill2);color:var(--msb-ink)}
.msb-toggle svg{transition:transform .2s}

/* Busca no menu */
.msb-busca{position:relative;margin:10px 12px 2px;flex-shrink:0}
.msb-busca input{width:100%;height:40px;padding:0 36px 0 12px;border:1px solid var(--msb-bd);border-radius:12px;margin:0;
  background:transparent;color:var(--msb-ink);font:500 13px var(--msb-font);outline:none;transition:border-color .12s;box-shadow:none}
.msb-busca input::placeholder{color:var(--msb-mu2)}
.msb-busca input:focus{border-color:var(--msb-ink)}
.msb-lupa{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:none;
  background:none;color:var(--msb-mu);display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;padding:0}
.msb-lupa:hover{color:var(--msb-ink);background:var(--msb-fill)}
.msb-vazio{padding:10px 14px;font-size:12px;color:var(--msb-mu)}

.msb-nav{flex:1;padding:6px 12px 8px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}
.msb-div{height:1px;background:var(--msb-bd);border:0;margin:8px 6px}

/* Item */
.msb-ni{display:flex;align-items:center;gap:12px;padding:0 12px;height:42px;margin:2px 0;font-size:14px;width:100%;
  font-weight:500;color:var(--msb-mu);cursor:pointer;background:none;border:none;text-align:left;
  border-radius:11px;transition:background .12s,color .12s;white-space:nowrap;position:relative;box-shadow:none;letter-spacing:0}
.msb-ni:hover{background:var(--msb-fill);color:var(--msb-ink)}
.msb-ni:focus-visible{outline:2px solid var(--msb-pink);outline-offset:-2px}
.msb-ni.on{background:var(--msb-on-bg);color:var(--msb-on-ink);font-weight:700}
.msb-ni.on .msb-ic{color:var(--msb-on-ic)}
.msb-ic{width:22px;height:22px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:inherit}
.msb-ic svg{stroke-width:1.6;width:21px;height:21px}
.msb-lbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msb-ntag{margin-left:auto;font-size:10.5px;font-weight:700;color:var(--msb-pink2);background:var(--msb-pink-l);
  padding:2px 8px;border-radius:999px;line-height:1.3}
/* Contador: só aparece com número de verdade (> 0). */
.msb-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--msb-fill2);color:var(--msb-ink);
  font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;line-height:1}
.msb-badge.urg{background:var(--msb-pink);color:#fff}
.msb-badge:empty{display:none}

/* "Mais" */
.msb-car{margin-left:auto;color:var(--msb-mu2);transition:transform .18s;flex-shrink:0}
.msb-mais.aberto .msb-car{transform:rotate(180deg)}
.msb-mbox{margin:0 0 4px 22px;padding-left:8px;border-left:1px solid var(--msb-bd)}
.msb-mbox .msb-ni{font-size:13.5px;height:38px}

/* Seção extra do sistema (clientes e meses do calendário, etc.) */
.msb-sec{margin-top:4px}
.msb-sec-t{display:flex;align-items:center;gap:8px;padding:10px 12px 6px;font-size:10px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--msb-mu)}
.msb-sec-t::before{content:'';width:14px;height:1.5px;background:var(--msb-y);border-radius:2px;flex-shrink:0}

/* Rodapé */
.msb-bot{flex-shrink:0;padding:6px 12px 12px}
.msb-sf{display:flex;align-items:center;gap:10px;padding:10px 4px 8px;margin-top:6px;border-top:1px solid var(--msb-bd)}
.msb-bot > .msb-ni:first-child + .msb-sf,.msb-bot > .msb-sf:first-child{margin-top:0}
.msb-sf-av{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;
  justify-content:center;font-size:12px;font-weight:900;background:var(--msb-pink);color:#fff}
.msb-sf-txt{min-width:0;flex:1}
.msb-sf-nm{font-size:13px;font-weight:700;color:var(--msb-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}
.msb-sf-rl{font-size:10.5px;font-weight:600;color:var(--msb-mu);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msb-acoes{display:flex;gap:8px}
.msb-ac{flex:1;height:38px;min-width:0;border:none;border-radius:11px;background:var(--msb-fill);color:var(--msb-mu);padding:0;
  display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:background .12s,color .12s}
.msb-ac:hover{background:var(--msb-fill2);color:var(--msb-ink)}
.msb-ac:focus-visible{outline:2px solid var(--msb-pink);outline-offset:1px}
.msb-ac.sair:hover{background:var(--msb-er);color:#fff}
.msb-ac.prim{background:var(--msb-y);color:#0D0D0C}
.msb-ac.prim:hover{background:var(--msb-yh);color:#0D0D0C}

/* ── Recolhido: trilho de ícones ── */
.msb.collapsed .msb-sl{padding:14px 0 6px;justify-content:center;flex-direction:column;gap:6px}
.msb.collapsed .msb-sl-txt{display:none}
.msb.collapsed .msb-toggle{margin:0;width:26px;height:22px}
.msb.collapsed .msb-toggle svg{transform:rotate(180deg)}
.msb.collapsed .msb-busca{margin:8px auto 2px;width:48px}
.msb.collapsed .msb-busca input{display:none}
.msb.collapsed .msb-lupa{position:static;transform:none;width:48px;height:40px;border:1px solid var(--msb-bd);border-radius:12px}
.msb.collapsed .msb-lbl,.msb.collapsed .msb-ntag,.msb.collapsed .msb-car{display:none}
.msb.collapsed .msb-badge{position:absolute;top:3px;right:3px;min-width:16px;height:16px;font-size:9.5px;padding:0 4px;margin:0}
.msb.collapsed .msb-div{margin:8px 4px}
.msb.collapsed .msb-ni{padding:0;justify-content:center;height:40px}
.msb.collapsed .msb-mbox{margin:0;padding:0;border:none}
.msb.collapsed .msb-sec,.msb.collapsed .msb-sf{display:none}
.msb.collapsed .msb-acoes{flex-direction:column;gap:6px;margin-top:6px;padding-top:8px;border-top:1px solid var(--msb-bd)}
.msb.collapsed .msb-ac{flex:none;height:36px}
.msb.collapsed .msb-ac.prim{display:none}
/* Tooltip do trilho: position:fixed para escapar do overflow do cartão. */
.msb.collapsed [data-tip]:hover::after{
  content:attr(data-tip);position:fixed;left:calc(var(--msb-min) + var(--msb-gap) + 10px);transform:translateY(4px);
  background:#0D0D0C;color:#fff;font:700 12px var(--msb-font);padding:5px 10px;border-radius:8px;white-space:nowrap;
  pointer-events:none;z-index:49;box-shadow:0 8px 20px -6px rgba(13,13,12,.3)}

/* ── Celular ── */
.msb-mbar{display:none;position:fixed;top:0;left:0;right:0;height:50px;background:var(--msb-bg);z-index:44;
  align-items:center;padding:0 10px 0 6px;gap:6px;border-bottom:1px solid var(--msb-bd);font-family:var(--msb-font)}
.msb-mbar-logo{font-size:18px;font-weight:800;color:var(--msb-ink);letter-spacing:-.03em;flex:1;display:flex;align-items:center;gap:8px;min-width:0}
.msb-mbar-logo .msb-tag{font-size:8.5px}
.msb-mbar-x{display:flex;align-items:center;gap:6px}
.msb-mbar-x a,.msb-mbar-x button{width:36px;height:36px;border-radius:10px;border:none;background:var(--msb-fill);color:var(--msb-ink);
  display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.msb-hbg{background:none;border:none;cursor:pointer;padding:8px;display:flex;flex-direction:column;justify-content:center;
  align-items:center;gap:4px;-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-width:44px;min-height:44px}
.msb-hbg span{display:block;width:18px;height:2px;background:var(--msb-ink);border-radius:2px;transition:all .2s;transform-origin:center}
.msb-hbg.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.msb-hbg.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.msb-hbg.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.msb-ov{display:none;position:fixed;inset:0;background:rgba(13,13,12,.42);z-index:46;cursor:pointer;-webkit-tap-highlight-color:transparent}
.msb-ov.on{display:block}
.msb-bnav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--msb-bg);border-top:1px solid var(--msb-bd);
  z-index:44;padding-bottom:env(safe-area-inset-bottom);font-family:var(--msb-font)}
.msb-bnav-in{display:flex;align-items:stretch}
.msb-bni{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 4px;gap:3px;
  color:var(--msb-mu);text-decoration:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:52px;position:relative}
.msb-bni.on{color:var(--msb-ink)}
.msb-bni.on .msb-bni-ic{background:var(--msb-on-bg);color:var(--msb-on-ic)}
.msb-bni-ic{width:40px;height:26px;border-radius:999px;display:flex;align-items:center;justify-content:center}
.msb-bni-ic svg{width:20px;height:20px}
.msb-bni-lb{font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1}

@media(max-width:768px){
  .msb-mbar{display:flex}
  .msb-bnav{display:block}
  /* O cartão vira gaveta. Nunca recolhe: a classe pode ter vindo do desktop. */
  .msb,.msb.collapsed{top:8px;left:8px;bottom:8px;width:min(288px,calc(100vw - 56px));z-index:47;
    transform:translateX(calc(-100% - 16px));transition:transform .22s cubic-bezier(.25,.46,.45,.94)}
  .msb.mopen{transform:translateX(0);box-shadow:4px 0 24px rgba(0,0,0,.3)}
  .msb .msb-toggle{display:none}
  .msb.collapsed .msb-sl{padding:14px 12px 6px 14px;justify-content:flex-start;flex-direction:row;gap:10px}
  .msb.collapsed .msb-sl-txt{display:flex}
  .msb.collapsed .msb-busca{margin:10px 12px 2px;width:auto}
  .msb.collapsed .msb-busca input{display:block}
  .msb.collapsed .msb-lupa{position:absolute;transform:translateY(-50%);width:28px;height:28px;border:none}
  .msb.collapsed .msb-lbl{display:inline}
  .msb.collapsed .msb-ntag,.msb.collapsed .msb-car{display:inline-block}
  .msb.collapsed .msb-badge{position:static;margin-left:auto}
  .msb.collapsed .msb-ni{padding:0 12px;justify-content:flex-start;height:42px}
  .msb.collapsed .msb-mbox{margin:0 0 4px 22px;padding-left:8px;border-left:1px solid var(--msb-bd)}
  .msb.collapsed .msb-sec{display:block}
  .msb.collapsed .msb-sf{display:flex}
  .msb.collapsed .msb-acoes{flex-direction:row;gap:8px;margin-top:0;padding-top:0;border-top:0}
  .msb.collapsed .msb-ac{flex:1;height:38px}
  .msb.collapsed .msb-ac.prim{display:flex}
  .msb.collapsed [data-tip]:hover::after{content:none}
}
@media print{.msb,.msb-mbar,.msb-bnav,.msb-ov,.msb-brandbar{display:none!important}}
@media(prefers-reduced-motion:reduce){.msb,.msb *{transition:none!important}}
