/* NAV / L1 MENU (enterprise) */

/* =========================================================
   gx_menu_enterprise.css
   Enterprise Glass Sidebar for GITRIX Partner Portal
   Load AFTER: gitrix.css, gx_themes.css, gx_menu_variants.css
   Compatible with existing GX.ui.renderMenu() + Router active states.
   ========================================================= */

/* Sidebar as premium glass panel */
.gx-sidebar{
  border-right: 1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,.040), rgba(255,255,255,.015));
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

/* Menu spacing */
.gx-menu{
  display:flex;
  flex-direction:column;
  gap: 12px;
}

/* L1 item (tile) */
.gx-menu a{
  position: relative;
  display:flex;
  align-items:center;
  gap: 14px;

  min-height: 52px;
  padding: 14px 16px;

  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.035);

  color: var(--text);
  text-decoration:none;

  font-weight: 500;
  letter-spacing: .2px;

  transition:
    background .14s ease,
    border-color .14s ease,
    transform .08s ease;
}

/* Hover uses unified tokens from gx_menu_variants.css, but keep micro-lift */
.gx-menu a:hover{
  transform: translateY(-1px);
}

/* Icon badge */
.gx-menu a span:first-child{
  width: 28px !important;
  height: 28px;
  border-radius: 12px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  background: rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.14);

  font-size: 14px;
  line-height: 1;

  transition: all .14s ease;
}

/* Active state (enhanced) */
.gx-menu a.active,
.gx-menu a[aria-current="page"]{
  background:
    linear-gradient(
      180deg,
      rgba(var(--gx-partner-rgb), .18),
      rgba(255,255,255,.04)
    ) !important;
}

/* Left indicator bar */
.gx-menu a.active::before,
.gx-menu a[aria-current="page"]::before{
  content:"";
  position:absolute;
  left:-1px;
  top:8px;
  bottom:8px;
  width:4px;
  border-radius:4px;
  background: var(--gx-partner);
}

/* Active icon badge */
.gx-menu a.active span:first-child,
.gx-menu a[aria-current="page"] span:first-child{
  background: rgba(var(--gx-partner-rgb), .18) !important;
  border-color: rgba(var(--gx-partner-rgb), .55) !important;
  box-shadow: 0 0 0 4px rgba(var(--gx-partner-rgb), .14) !important;
}

/* Footer calmer */
.gx-sidebar-footer{
  margin-top: 18px;
  opacity: .65;
}

/* Responsive: keep current breakpoint behavior from gitrix.css.
   Optional: slightly tighter paddings on smaller screens. */
@media (max-width: 980px){
  .gx-menu a{ padding: 12px 14px; border-radius: 18px; }
}

/* NAV / L1 MODES (collapsed + hidden) */

/* --- L1 modes (collapsed + hidden) --- */

/* COLLAPSED (icon-only) */
body.gx-nav-collapsed .gx-layout{ grid-template-columns: 84px 1fr; }
body.gx-nav-collapsed .gx-layout.has-subrail{ grid-template-columns: 84px 260px 1fr; }
body.gx-nav-collapsed .gx-sidebar{ padding: 14px 10px; }
body.gx-nav-collapsed .gx-menu{ gap: 10px; }
body.gx-nav-collapsed .gx-menu a{ justify-content:center; padding: 12px 10px; }
body.gx-nav-collapsed .gx-menu a span:nth-child(2){ display:none; }
body.gx-nav-collapsed .gx-menu a.active::before,
body.gx-nav-collapsed .gx-menu a[aria-current="page"]::before{ left:-1px; top:10px; bottom:10px; }
body.gx-nav-collapsed .gx-sidebar-footer{ display:none; }

/* Tooltip (uses data-tip injected by JS) */
body.gx-nav-collapsed .gx-menu a{ position:relative; }
body.gx-nav-collapsed .gx-menu a[data-tip]:hover::after{
  content: attr(data-tip);
  position:absolute;
  left: calc(100% + 10px);
  top:50%;
  transform: translateY(-50%);
  white-space:nowrap;
  z-index:2000;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(10,14,30,.90);
  color: rgba(255,255,255,.92);
  box-shadow: 0 0 0 rgba(0,0,0,0), 0 18px 60px rgba(0,0,0,.45);
  pointer-events:none;
}

/* HIDDEN (hide all navigation rails: L1 + L2) */
body.gx-nav-hidden .gx-sidebar{ display:none !important; }
body.gx-nav-hidden .gx-subrail{ display:none !important; }
body.gx-nav-hidden .gx-layout{ grid-template-columns: 1fr !important; }
body.gx-nav-hidden .gx-layout.has-subrail{ grid-template-columns: 1fr !important; }
body.gx-nav-hidden .gx-main{ padding-left: 18px; }/* Topbar utility buttons sizing */
.gx-topbar-right .gx-nav-toggle-top,
.gx-topbar-right .gx-nav-visibility{
  min-width: 42px;
  height: 38px;
  padding: 0 12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}



/* Visibility button icon polish */
.gx-topbar-right .gx-nav-visibility{
  font-weight: 800;
  letter-spacing: .02em;
}


/* Topbar nav SVG icons */
.gx-topbar-right .gx-nav-visibility svg{
  display:block;
}
