/* ============================================================
   Nova v37 — Targeted overrides on top of nova36.css
   - Bottom-nav FAB: re-anchored centered pulse rings
   - Drawer brand logo: circle, gradient ring, real admin logo
   - User-menu dropdown: solid opaque surface (light + dark)
   ============================================================ */

/* ---------- 1. Bottom nav FAB — centered pulse rings ---------- */

/* Kill the v36 pulse anchored to the column (off-center) */
.app-navbar .col:nth-child(3) a::before { content: none !important; animation: none !important; }

/* Make the FAB icon the positioning context */
.app-navbar .navbar-mid-icon {
  position: relative !important;
  overflow: visible !important;
}

/* Two staggered pulse rings emanating from the true center of the FAB */
.app-navbar .navbar-mid-icon::before,
.app-navbar .navbar-mid-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: -1;
  background: transparent;
  box-shadow: 0 0 0 0 rgba(236, 72, 153, .55);
  animation: nv37-fab-pulse 2.4s cubic-bezier(.4,0,.6,1) infinite;
}
.app-navbar .navbar-mid-icon::after {
  animation-delay: 1.2s;
  box-shadow: 0 0 0 0 rgba(168, 85, 247, .50);
}

@keyframes nv37-fab-pulse {
  0%   { box-shadow: 0 0 0 0    rgba(236, 72, 153, .55); opacity: 1; }
  70%  { box-shadow: 0 0 0 18px rgba(236, 72, 153, 0);   opacity: 0; }
  100% { box-shadow: 0 0 0 0    rgba(236, 72, 153, 0);   opacity: 0; }
}

/* The FAB icon glyph stays crisp and static */
.app-navbar .navbar-mid-icon i { position: relative; z-index: 1; }


/* ---------- 2. Drawer brand logo — circle with gradient ring ---------- */

.nv-drawer-logo {
  border-radius: 50% !important;       /* circle, was 12px square */
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px !important;
  position: relative;
  padding: 2px;                         /* room for the gradient ring */
  background: linear-gradient(135deg, #6366f1, #06b6d4, #a855f7) !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: visible !important;         /* let the online dot escape */
  box-shadow: 0 8px 22px rgba(99,102,241,.35);
}

/* Inner mask so the gradient becomes a visible ring around the logo */
.nv-drawer-logo > img,
.nv-drawer-logo > .nv-brand-initial {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--nv-surface-solid);
  color: var(--nv-text);
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 800;
  font-size: 17px;
  overflow: hidden;
}
.nv-drawer-logo > img { object-fit: cover; background: #fff; }

/* Online dot as a notification badge on bottom-right of the circle */
.nv-drawer-logo .nv-online-dot {
  position: absolute;
  right: -1px;
  bottom: -1px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #22c55e;
  border: 2px solid var(--nv-surface-solid);
  box-shadow: 0 0 0 0 rgba(34,197,94,.6);
  animation: nv-pulse 2s infinite;
  z-index: 2;
}


/* ---------- 3. User-menu dropdown — SOLID surface ---------- */

.nv-tb-pop {
  /* Remove translucency entirely */
  background: #ffffff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 1px solid rgba(15, 23, 42, .08) !important;
  box-shadow: 0 12px 40px rgba(15, 23, 42, .16), 0 2px 6px rgba(15, 23, 42, .06) !important;
}

body.dark .nv-tb-pop {
  background: #141828 !important;
  border: 1px solid rgba(255, 255, 255, .08) !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, .55), 0 2px 6px rgba(0, 0, 0, .35) !important;
}

/* Ensure readable text on the solid surface in light mode */
.nv-tb-pop .nv-tb-pop-head-meta strong { color: #0f172a; }
.nv-tb-pop .nv-tb-pop-head-meta span   { color: #64748b; }
.nv-tb-pop a, .nv-tb-pop button.nv-tb-theme-row { color: #1e293b; }
.nv-tb-pop a:hover, .nv-tb-pop button.nv-tb-theme-row:hover {
  background: rgba(99, 102, 241, .08);
  color: #4338ca;
}
.nv-tb-pop a i { color: #64748b; }
.nv-tb-pop-divider { background: rgba(15, 23, 42, .08); }

body.dark .nv-tb-pop .nv-tb-pop-head-meta strong { color: #f1f5f9; }
body.dark .nv-tb-pop .nv-tb-pop-head-meta span   { color: #94a3b8; }
body.dark .nv-tb-pop a, body.dark .nv-tb-pop button.nv-tb-theme-row { color: #e2e8f0; }
body.dark .nv-tb-pop a:hover, body.dark .nv-tb-pop button.nv-tb-theme-row:hover {
  background: rgba(129, 140, 248, .14);
  color: #c7d2fe;
}
body.dark .nv-tb-pop a i { color: #94a3b8; }
body.dark .nv-tb-pop-divider { background: rgba(255, 255, 255, .08); }
