
/* Vectra Rescue Stable v200
   Resgate profissional: remove dependência de JS experimental e estabiliza visual.
   Não cria menu novo. Não esconde funções. Apenas estiliza o menu/template original.
*/

:root {
  --rescue-sidebar-w: 280px;
  --rescue-bg-1: #0b1730;
  --rescue-bg-2: #123f6f;
  --rescue-card: rgba(255,255,255,.065);
  --rescue-card-hover: rgba(255,255,255,.105);
  --rescue-border: rgba(255,255,255,.10);
  --rescue-text: rgba(255,255,255,.93);
  --rescue-muted: rgba(255,255,255,.62);
}

/* Garante que nada fique escondido por classes criadas por JS antigo */
.vectra-menu-original-hidden,
.vectra-menu-original-hidden-v161,
[data-vectra-old-menu="1"] {
  display: revert !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Esconde apenas menus artificiais gerados por fases antigas */
.vectra-clean-menu-v160,
.vectra-clean-menu-v161,
.vectra-clean-menu-v162,
.vectra-clean-menu-v163 {
  display: none !important;
}

/* Garante conteúdo visível */
main,
.main-content,
.content,
.page-content,
.app-content,
.vectra-main,
.dashboard-content {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-height: 100vh;
}

/* Sidebar original estável */
.sidebar,
.app-sidebar,
.vectra-sidebar,
.side-menu,
.sidenav,
aside {
  min-height: 100vh;
}

.sidebar,
.app-sidebar,
.vectra-sidebar {
  background:
    radial-gradient(circle at 14% 0%, rgba(30,99,240,.18), transparent 28%),
    linear-gradient(180deg, var(--rescue-bg-1), var(--rescue-bg-2)) !important;
  border-right: 1px solid rgba(255,255,255,.07) !important;
  box-shadow: 14px 0 34px rgba(15,23,42,.14) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.22) transparent;
}

/* Evita logo gigante */
.sidebar img,
.app-sidebar img,
.vectra-sidebar img,
.side-menu img,
.sidenav img,
aside img {
  max-width: 54px !important;
  max-height: 54px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

.sidebar .brand,
.sidebar .sidebar-brand,
.sidebar .brand-header,
.sidebar .brand-area,
.sidebar .logo-area,
.sidebar .sidebar-logo,
.app-sidebar .brand,
.app-sidebar .sidebar-brand,
.app-sidebar .brand-header,
.app-sidebar .brand-area,
.app-sidebar .logo-area,
.app-sidebar .sidebar-logo,
.vectra-sidebar .brand,
.vectra-sidebar .sidebar-brand,
.vectra-sidebar .brand-header,
.vectra-sidebar .brand-area,
.vectra-sidebar .logo-area,
.vectra-sidebar .sidebar-logo {
  min-height: auto !important;
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}

/* Links do menu original */
.sidebar a,
.app-sidebar a,
.vectra-sidebar a,
.side-menu a,
.sidenav a,
aside a {
  text-decoration: none !important;
}

.sidebar a:not(.btn),
.app-sidebar a:not(.btn),
.vectra-sidebar a:not(.btn),
.side-menu a:not(.btn),
.sidenav a:not(.btn) {
  color: var(--rescue-text) !important;
}

/* Itens/blocos comuns de menu */
.sidebar .nav-item,
.sidebar .menu-item,
.sidebar .sidebar-item,
.sidebar .nav-link,
.sidebar .menu-link,
.sidebar a[href],
.app-sidebar .nav-item,
.app-sidebar .menu-item,
.app-sidebar .sidebar-item,
.app-sidebar .nav-link,
.app-sidebar .menu-link,
.app-sidebar a[href],
.vectra-sidebar .nav-item,
.vectra-sidebar .menu-item,
.vectra-sidebar .sidebar-item,
.vectra-sidebar .nav-link,
.vectra-sidebar .menu-link,
.vectra-sidebar a[href] {
  border-radius: 15px !important;
}

.sidebar a[href],
.app-sidebar a[href],
.vectra-sidebar a[href] {
  min-height: 38px;
}

/* Não força card em links muito internos fora da sidebar */
.sidebar > a[href],
.sidebar nav a[href],
.sidebar ul a[href],
.app-sidebar > a[href],
.app-sidebar nav a[href],
.app-sidebar ul a[href],
.vectra-sidebar > a[href],
.vectra-sidebar nav a[href],
.vectra-sidebar ul a[href] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 12px !important;
  margin: 5px 10px !important;
  border-radius: 15px !important;
  background: var(--rescue-card) !important;
  border: 1px solid var(--rescue-border) !important;
  line-height: 1.18 !important;
  font-weight: 800 !important;
}

.sidebar nav a[href]:hover,
.sidebar ul a[href]:hover,
.app-sidebar nav a[href]:hover,
.app-sidebar ul a[href]:hover,
.vectra-sidebar nav a[href]:hover,
.vectra-sidebar ul a[href]:hover {
  background: var(--rescue-card-hover) !important;
  transform: translateX(2px);
}

/* Submenus originais */
.sidebar .submenu,
.sidebar .collapse,
.sidebar details,
.app-sidebar .submenu,
.app-sidebar .collapse,
.app-sidebar details,
.vectra-sidebar .submenu,
.vectra-sidebar .collapse,
.vectra-sidebar details {
  border-radius: 16px !important;
}

.sidebar .submenu a[href],
.sidebar .collapse a[href],
.sidebar details a[href],
.app-sidebar .submenu a[href],
.app-sidebar .collapse a[href],
.app-sidebar details a[href],
.vectra-sidebar .submenu a[href],
.vectra-sidebar .collapse a[href],
.vectra-sidebar details a[href] {
  margin-left: 20px !important;
  min-height: 32px !important;
  padding: 7px 10px !important;
  font-size: .84rem !important;
  font-weight: 650 !important;
  background: transparent !important;
  border-color: transparent !important;
  color: rgba(255,255,255,.80) !important;
}

.sidebar .submenu a[href]:hover,
.sidebar .collapse a[href]:hover,
.sidebar details a[href]:hover,
.app-sidebar .submenu a[href]:hover,
.app-sidebar .collapse a[href]:hover,
.app-sidebar details a[href]:hover,
.vectra-sidebar .submenu a[href]:hover,
.vectra-sidebar .collapse a[href]:hover,
.vectra-sidebar details a[href]:hover {
  background: rgba(255,255,255,.075) !important;
  color: #fff !important;
}

/* Active */
.sidebar a.active,
.sidebar .active > a,
.sidebar .nav-link.active,
.app-sidebar a.active,
.app-sidebar .active > a,
.app-sidebar .nav-link.active,
.vectra-sidebar a.active,
.vectra-sidebar .active > a,
.vectra-sidebar .nav-link.active {
  background: linear-gradient(90deg, var(--app-primary, #1e63f0), var(--app-accent, #008e37)) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.18) !important;
  box-shadow: 0 12px 24px rgba(0,0,0,.18) !important;
}

/* Tipografia da marca */
.sidebar strong,
.app-sidebar strong,
.vectra-sidebar strong {
  color: #fff !important;
}

/* Conteúdo */
.card,
.panel,
.box,
.widget,
.content-card,
.section-card,
.dashboard-card {
  border-radius: 20px !important;
}

/* Responsivo */
@media (max-width: 900px) {
  .sidebar,
  .app-sidebar,
  .vectra-sidebar {
    max-width: 82vw !important;
  }
}
