/* ═══════════════════════════════════════
   TOPBAR NAV BUTTONS
   ═══════════════════════════════════════ */

.topbar-nav-btn {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.45rem 0.7rem;
  border-radius: 10px;
  border: none;
  background: transparent;
  color: #64748b;
  font-size: 0.82rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none;
  transition: all 0.2s ease;

  i:first-child { font-size: 0.95rem; }

  .chevron-icon {
    font-size: 0.55rem;
    transition: transform 0.2s ease;
    margin-inline-start: 0.1rem;
    &.open { transform: rotate(180deg); }
  }

  &:hover {
    background: rgba(var(--color-accent-raw, 245, 158, 11), 0.08);
    color: var(--color-accent, #f59e0b);
  }

  &.active {
    background: rgba(var(--color-accent-raw, 245, 158, 11), 0.12);
    color: var(--color-accent, #f59e0b);
  }
}

.topbar-action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  border-radius: 10px;
  border: none;
  background: transparent;
  color: #64748b;
  cursor: pointer;
  transition: all 0.2s ease;

  &:hover {
    background: rgba(var(--color-accent-raw, 245, 158, 11), 0.08);
    color: var(--color-accent, #f59e0b);
  }
}

.btn-label {
  @media (max-width: 900px) { display: none; }
}

/* ═══════════════════════════════════════
   MEGA-MENU MODULE WRAPPER
   ═══════════════════════════════════════ */

.topbar-module {
  position: relative;
}

/* ═══════════════════════════════════════
   MEGA-MENU BACKDROP (dimming overlay)
   ═══════════════════════════════════════ */

.mega-backdrop {
  position: fixed;
  top: 64px;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(15, 23, 42, 0.18);
  z-index: 998;
  animation: megaFadeIn 0.15s ease;
}

/* ═══════════════════════════════════════
   MEGA-MENU PANEL
   ═══════════════════════════════════════ */

.mega-panel {
  position: fixed;
  top: 64px;
  inset-inline-end: 0;
  z-index: 999;
  background: #ffffff;
  border-bottom: 3px solid var(--color-accent, #f59e0b);
  box-shadow:
    0 8px 32px rgba(15, 23, 42, 0.12),
    0 2px 8px rgba(15, 23, 42, 0.06);
  max-height: calc(80vh - 64px);
  overflow-y: auto;
  animation: megaSlideDown 0.2s cubic-bezier(0.16, 1, 0.3, 1);

  &::-webkit-scrollbar { width: 4px; }
  &::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 2px; }
  &::-webkit-scrollbar-thumb:hover { background: #94a3b8; }
}

.mega-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 0;
  padding: 0.75rem;
}

/* ═══════════════════════════════════════
   MEGA-MENU GROUP
   ═══════════════════════════════════════ */

.mega-group {
  padding: 0.5rem;
  min-width: 0;
}

.mega-group-title {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-brand, #1a237e);
  padding: 0.35rem 0.6rem 0.5rem;
  margin-bottom: 0.15rem;
  border-bottom: 2px solid rgba(var(--color-accent-raw, 245, 158, 11), 0.2);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ═══════════════════════════════════════
   MEGA-MENU ITEM
   ═══════════════════════════════════════ */

.mega-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.45rem 0.6rem;
  border-radius: 8px;
  font-size: 0.8rem;
  font-weight: 500;
  color: #475569;
  cursor: pointer;
  transition: all 0.15s ease;
  text-decoration: none;
  white-space: nowrap;

  i {
    font-size: 0.82rem;
    width: 1.1rem;
    text-align: center;
    color: #94a3b8;
    transition: color 0.15s ease;
  }

  &:hover {
    background: rgba(var(--color-accent-raw, 245, 158, 11), 0.08);
    color: var(--color-accent, #f59e0b);
    transform: translateX(2px);

    [dir="rtl"] & { transform: translateX(-2px); }

    i { color: var(--color-accent, #f59e0b); }
  }

  &.active {
    background: rgba(var(--color-accent-raw, 245, 158, 11), 0.12);
    color: var(--color-accent, #f59e0b);
    font-weight: 700;

    i { color: var(--color-accent, #f59e0b); }

    &::before {
      content: '';
      position: absolute;
      inset-inline-start: 0;
      width: 3px;
      height: 60%;
      background: var(--color-accent, #f59e0b);
      border-radius: 0 2px 2px 0;
    }
  }
}

/* ═══════════════════════════════════════
   ANIMATIONS
   ═══════════════════════════════════════ */

@keyframes megaSlideDown {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes megaFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* ═══════════════════════════════════════
   DARK MODE
   ═══════════════════════════════════════ */

body.dark-mode {
  .topbar {
    background: rgba(8, 12, 26, 0.85) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 1px 0 rgba(245, 166, 35, 0.08) !important;
  }

  .topbar-nav-btn {
    color: #cbd5e1;
    &:hover {
      background: rgba(245, 166, 35, 0.08);
      color: var(--color-accent);
    }
    &.active {
      background: rgba(245, 166, 35, 0.12);
      color: var(--color-accent);
    }
  }

  .topbar-action-btn {
    color: #cbd5e1;
    &:hover {
      background: rgba(245, 166, 35, 0.08);
      color: var(--color-accent);
    }
  }

  .mega-panel {
    background: rgba(17, 24, 39, 0.95);
    backdrop-filter: blur(16px);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
    border-bottom: 2px solid rgba(245, 166, 35, 0.2);
  }

  .mega-backdrop {
    background: rgba(0, 0, 0, 0.5);
  }

  .mega-group-title {
    color: var(--color-accent);
    border-color: rgba(245, 166, 35, 0.12);
  }

  .mega-item {
    color: #cbd5e1;
    i { color: #64748b; }
    &:hover {
      background: rgba(245, 166, 35, 0.08);
      color: var(--color-accent);
      i { color: var(--color-accent); }
    }
    &.active {
      background: rgba(245, 166, 35, 0.12);
      color: var(--color-accent);
    }
  }
}

/* ═══════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════ */

@media (max-width: 600px) {
  .mega-grid {
    grid-template-columns: 1fr 1fr;
  }
  .mega-panel {
    inset-inline-start: 0 !important;
  }
}
