.p2-shell{
  position:relative;
  transition:grid-template-columns .22s ease;
}

.p2-nav{
  min-width:0;
  transition:width .22s ease,max-width .22s ease,padding .22s ease,opacity .16s ease,border-color .22s ease;
}

.p2-nav-toggle{
  position:absolute;
  top:20px;
  left:276px;
  transform:translateX(-50%);
  z-index:120;
  width:28px;
  height:28px;
  border:1px solid rgba(134,31,76,.24);
  border-radius:9px;
  background:#fff;
  color:#861f4c;
  display:grid;
  place-items:center;
  padding:0;
  cursor:pointer;
  font-size:19px;
  line-height:1;
  font-weight:900;
  box-shadow:0 4px 12px rgba(24,42,67,.14);
  transition:left .22s ease,transform .22s ease,background .18s ease,color .18s ease,box-shadow .18s ease;
}

.p2-nav-toggle:hover{
  background:#f8eaf0;
  color:#6f163e;
  box-shadow:0 6px 16px rgba(24,42,67,.18);
}

.p2-nav-toggle:active{transform:translateX(-50%) scale(.95)}

/* ABERTA: menu completo e submenus para baixo dentro da própria lateral. */
.p2-shell:not(.nav-hidden){grid-template-columns:276px minmax(0,1fr)!important}
.p2-shell:not(.nav-hidden) .p2-nav{
  width:276px!important;
  max-width:276px!important;
  opacity:1!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  pointer-events:auto!important;
}
.p2-shell:not(.nav-hidden) .p2-nav .p2-nav-menu{
  position:static!important;
  display:block!important;
  width:100%!important;
  margin:2px 0!important;
  overflow:visible!important;
}
.p2-shell:not(.nav-hidden) .p2-nav .p2-menu-trigger{
  display:grid!important;
  width:100%!important;
  min-height:46px!important;
  visibility:visible!important;
  opacity:1!important;
}
.p2-shell:not(.nav-hidden) .p2-nav .p2-submenu{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  width:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:5px 0 7px!important;
  padding:5px!important;
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:11px!important;
  background:rgba(7,22,38,.28)!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.p2-shell:not(.nav-hidden) .p2-nav .p2-submenu::before{display:none!important;content:none!important}
.p2-shell:not(.nav-hidden) .p2-nav-menu.closed .p2-submenu{display:none!important}
.p2-shell:not(.nav-hidden) .p2-nav-menu:not(.closed) .p2-submenu{display:grid!important}
.p2-shell:not(.nav-hidden) .p2-nav .p2-submenu>button{color:#e9f0f5!important;background:transparent!important;min-height:40px!important}
.p2-shell:not(.nav-hidden) .p2-nav .p2-submenu>button:hover,
.p2-shell:not(.nav-hidden) .p2-nav .p2-submenu>button.on{background:rgba(255,255,255,.11)!important;color:#fff!important}

/* RECOLHIDA: rail discreta. Nunca desaparece; conserva os ícones. */
.p2-shell.nav-hidden{grid-template-columns:76px minmax(0,1fr)!important}
.p2-shell.nav-hidden .p2-nav{
  position:relative!important;
  width:76px!important;
  max-width:76px!important;
  min-width:76px!important;
  padding:14px 8px 26px!important;
  border-right:1px solid rgba(255,255,255,.08)!important;
  opacity:1!important;
  overflow:visible!important;
  pointer-events:auto!important;
  z-index:90!important;
}
.p2-shell.nav-hidden .p2-main{min-width:0;width:100%;max-width:none}
.p2-shell.nav-hidden .p2-nav-toggle{left:76px}
.p2-shell.nav-hidden .p2-nav-heading,
.p2-shell.nav-hidden .p2-group{display:none!important}

/* Só o ícone fica visível na rail. */
.p2-shell.nav-hidden .p2-nav .p2-link{
  display:grid!important;
  grid-template-columns:1fr!important;
  justify-items:center!important;
  align-items:center!important;
  width:54px!important;
  min-width:54px!important;
  min-height:48px!important;
  margin:4px auto!important;
  padding:5px!important;
  border-radius:12px!important;
  transform:none!important;
}
.p2-shell.nav-hidden .p2-nav .p2-link>span:nth-child(2),
.p2-shell.nav-hidden .p2-nav .p2-link>.p2-link-arrow{display:none!important}
.p2-shell.nav-hidden .p2-nav .p2-link-icon{
  width:38px!important;
  height:38px!important;
  border-radius:10px!important;
  font-size:16px!important;
  margin:0!important;
}
.p2-shell.nav-hidden .p2-nav .p2-link:hover,
.p2-shell.nav-hidden .p2-nav .p2-link.on{
  transform:none!important;
  background:rgba(255,255,255,.12)!important;
  box-shadow:none!important;
}
.p2-shell.nav-hidden .p2-nav .p2-link.on{box-shadow:inset 3px 0 0 #d46191!important}

/* Financeiro, Ferramentas e Configurações continuam como ícones clicáveis. */
.p2-shell.nav-hidden .p2-nav .p2-nav-menu{
  position:relative!important;
  display:block!important;
  width:54px!important;
  margin:4px auto!important;
  overflow:visible!important;
  z-index:95!important;
}
.p2-shell.nav-hidden .p2-nav .p2-nav-menu>.p2-menu-trigger{width:54px!important;margin:0!important}

/* No modo rail, o submenu vira um flyout compacto ao lado do ícone. */
.p2-shell.nav-hidden .p2-nav .p2-submenu{
  position:absolute!important;
  left:calc(100% + 12px)!important;
  right:auto!important;
  top:0!important;
  bottom:auto!important;
  width:244px!important;
  max-width:244px!important;
  max-height:calc(100vh - 110px)!important;
  margin:0!important;
  padding:8px!important;
  border:1px solid #e6d7df!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:0 16px 38px rgba(15,31,48,.22)!important;
  overflow-y:auto!important;
  z-index:130!important;
}
.p2-shell.nav-hidden .p2-nav-menu.closed .p2-submenu{display:none!important}
.p2-shell.nav-hidden .p2-nav-menu:not(.closed) .p2-submenu{display:grid!important;gap:3px!important}
.p2-shell.nav-hidden .p2-nav .p2-submenu::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:-6px!important;
  top:17px!important;
  width:11px!important;
  height:11px!important;
  background:#fff!important;
  border-left:1px solid #e6d7df!important;
  border-bottom:1px solid #e6d7df!important;
  transform:rotate(45deg)!important;
}
.p2-shell.nav-hidden .p2-nav .p2-submenu>button{
  color:#294050!important;
  background:transparent!important;
  min-height:42px!important;
  padding:9px 11px!important;
  border-radius:9px!important;
  font-size:12.5px!important;
}
.p2-shell.nav-hidden .p2-nav .p2-submenu>button:hover,
.p2-shell.nav-hidden .p2-nav .p2-submenu>button.on{background:#f8edf2!important;color:#971d58!important}
.p2-shell.nav-hidden .p2-nav .p2-submenu>button:disabled{color:#98a5ae!important;background:transparent!important}
.p2-shell.nav-hidden .p2-nav .p2-submenu>button small{background:#edf1f4!important;color:#85949f!important}

@media(max-width:980px){
  .p2-nav-toggle{display:none!important}
  .p2-shell,.p2-shell.nav-hidden{grid-template-columns:1fr!important}
  .p2-shell.nav-hidden .p2-nav{width:auto!important;max-width:none!important;min-width:0!important;padding:10px 12px!important;overflow-x:auto!important;overflow-y:visible!important}
  .p2-shell.nav-hidden .p2-nav-heading,.p2-shell.nav-hidden .p2-group{display:none!important}
  .p2-shell.nav-hidden .p2-nav .p2-link{width:auto!important;min-width:max-content!important;display:flex!important;padding:8px 10px!important;margin:0!important}
  .p2-shell.nav-hidden .p2-nav .p2-link>span:nth-child(2){display:inline!important}
  .p2-shell.nav-hidden .p2-nav .p2-nav-menu{width:auto!important;margin:0!important}
  .p2-shell.nav-hidden .p2-nav .p2-nav-menu>.p2-menu-trigger{width:auto!important}
  .p2-shell.nav-hidden .p2-nav .p2-submenu{position:static!important;width:240px!important;max-width:240px!important;margin-top:6px!important}
}
