/* Pluze Workspace Menu 2026 — navegação do Finance Core. */
:root {
  --pluze-menu-width: 252px;
  --pluze-menu-bg: #ffffff;
  --pluze-menu-border: #e5e9f2;
  --pluze-menu-text: #59647b;
  --pluze-menu-strong: #18213a;
  --pluze-menu-accent: #5148e5;
  --pluze-menu-accent-soft: #f0efff;
}
.app { grid-template-columns: var(--pluze-menu-width) minmax(0,1fr); }
.sidebar {
  width: var(--pluze-menu-width);
  padding: 18px 14px 16px;
  border-right: 1px solid var(--pluze-menu-border);
  background: var(--pluze-menu-bg);
  color: var(--pluze-menu-text);
  box-shadow: 8px 0 30px rgba(35,45,82,.055);
  scrollbar-color: #cfd5e2 transparent;
}
.brand {
  min-height: 68px;
  justify-content: flex-start;
  gap: 11px;
  padding: 4px 7px 15px;
  margin-bottom: 5px;
  border-bottom: 1px solid var(--pluze-menu-border);
}
.brand-home { display: flex; justify-content: flex-start; gap: 11px; width: 100%; padding: 0; }
.brand-home:hover { background: transparent; box-shadow: none; }
.brand-logo {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border: 1px solid #dddafa;
  border-radius: 12px;
  background: #f7f6ff;
  object-fit: contain;
}
.pluze-menu-brand-copy { display: grid; gap: 1px; min-width: 0; text-align: left; }
.pluze-menu-brand-copy strong { color: #15203a; font-size: 17px; letter-spacing: -.035em; }
.pluze-menu-brand-copy strong span { color: var(--pluze-menu-accent); }
.pluze-menu-brand-copy small { color: #8993a8; font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.nav-group { margin: 17px 10px 6px; padding: 0; color: #929bad; font-size: 9px; letter-spacing: .13em; }
.nav-item {
  min-height: 42px;
  gap: 9px;
  margin: 1px 0;
  padding: 6px 8px;
  border: 1px solid transparent;
  border-radius: 11px;
  background: transparent;
  color: var(--pluze-menu-text);
  box-shadow: none;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease;
}
.nav-icon {
  display: grid;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  place-items: center;
  border: 1px solid #e0def8;
  border-radius: 9px;
  background: #f7f6ff;
  color: #6258e9;
  opacity: 1;
}
.nav-item:hover {
  border-color: #e4e2fb;
  background: #f8f7ff;
  color: #342aa8;
  transform: none;
}
.nav-item.active,
.nav-item.nav-root.active {
  border-color: #dcd8ff;
  background: var(--pluze-menu-accent-soft);
  color: #3328ad;
  box-shadow: inset 3px 0 0 var(--pluze-menu-accent);
}
.nav-item:hover .nav-icon,
.nav-item.active .nav-icon {
  border-color: #cec9ff;
  background: #e7e4ff;
  color: #4338ca;
}
.nav-more { margin-top: 8px; border-color: var(--pluze-menu-border); background: #fafbfe; }
.nav-more > summary { color: #647086; }
.nav-more-title { color: #929bad; }
.nav-more .nav-item { color: #677288; }
.sidebar-products {
  display: grid;
  gap: 7px;
  margin-top: auto;
  padding: 15px 7px;
  border-top: 1px solid var(--pluze-menu-border);
}
.sidebar-products a { display: flex; gap: 8px; align-items: center; color: #6b758b; font-size: 11px; font-weight: 650; }
.sidebar-products a::before { content: "↗"; color: #7a70ec; font-size: 12px; }
.sidebar-products a:hover { color: var(--pluze-menu-accent); }
.sidebar-environment { margin: 0 7px; padding: 12px 0 0; border-top: 1px solid var(--pluze-menu-border); color: #8b95a8; }

@media (max-width: 780px) {
  .app { grid-template-columns: 1fr; }
  .sidebar { width: min(300px, 88vw); box-shadow: 18px 0 48px rgba(31,40,72,.18); }
}

@media (prefers-reduced-motion: reduce) {
  .sidebar, .nav-item { transition: none !important; }
}
