/* Small shared interaction affordances; no layout or theme overrides. */
.navigation-v3-sidebar.sidebar-can-scroll-up {
  box-shadow: inset 0 24px 22px -25px rgba(150, 170, 205, .55) !important;
}
.navigation-v3-sidebar.sidebar-can-scroll-down {
  box-shadow: inset 0 -26px 24px -25px rgba(150, 170, 205, .62) !important;
}
.navigation-v3-sidebar.sidebar-can-scroll-up.sidebar-can-scroll-down {
  box-shadow: inset 0 24px 22px -25px rgba(150, 170, 205, .55), inset 0 -26px 24px -25px rgba(150, 170, 205, .62) !important;
}

.guildmesh-toast-stack {
  position: fixed;
  z-index: 1250;
  top: calc(var(--gm-topbar-height, 72px) + 14px);
  right: 18px;
  width: min(420px, calc(100vw - 36px));
  display: grid;
  gap: 10px;
  pointer-events: none;
}
.guildmesh-toast {
  pointer-events: auto;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 28px;
  align-items: start;
  gap: 10px;
  padding: 13px 12px;
  border: 1px solid #35445e;
  border-radius: 12px;
  background: rgba(10, 19, 33, .97);
  box-shadow: 0 14px 38px rgba(0, 0, 0, .38);
  color: #eaf1fb;
}
.guildmesh-toast.is-success { border-color: rgba(65, 186, 126, .58); }
.guildmesh-toast.is-error { border-color: rgba(234, 92, 112, .65); }
.guildmesh-toast-icon {
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  font-weight: 900;
  background: rgba(65, 186, 126, .14);
  color: #7ae0aa;
}
.guildmesh-toast.is-error .guildmesh-toast-icon {
  background: rgba(234, 92, 112, .14);
  color: #ff9eae;
}
.guildmesh-toast-copy { min-width: 0; line-height: 1.45; font-size: .88rem; }
.guildmesh-toast-copy strong { color: #fff; }
.guildmesh-toast-close {
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #8ea0ba;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
.guildmesh-toast-close:hover { background: rgba(255,255,255,.06); color: #fff; }

@media (max-width: 680px) {
  .guildmesh-toast-stack {
    top: calc(var(--gm-topbar-height, 64px) + 10px);
    right: 10px;
    width: calc(100vw - 20px);
  }
}


/* Shared blocking feedback for portal actions that can take a moment. */
.guildmesh-working-overlay[hidden]{display:none!important}
.guildmesh-working-overlay{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:rgba(3,8,16,.72);backdrop-filter:blur(4px)}
.guildmesh-working-panel{width:min(420px,calc(100vw - 36px));display:grid;justify-items:center;gap:12px;padding:28px;border:1px solid #334766;border-radius:16px;background:#0b1626;box-shadow:0 24px 70px rgba(0,0,0,.45);text-align:center}
.guildmesh-working-panel strong{font-size:1rem;color:#edf3ff}
.guildmesh-working-panel small{color:#879ab5;line-height:1.45}
.guildmesh-working-spinner{width:38px;height:38px;border:4px solid rgba(118,88,237,.22);border-top-color:#8e72ff;border-right-color:#4db8ff;border-radius:50%;animation:guildmesh-working-spin .8s linear infinite}
@keyframes guildmesh-working-spin{to{transform:rotate(360deg)}}
body.guildmesh-is-working{overflow:hidden}

/* Hide the server sidebar only for the few milliseconds before its saved scroll offset is applied. */
.navigation-v3-sidebar.sidebar-scroll-restore-pending {
  visibility: hidden;
}
.navigation-v3 .nav-icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Lucide-style SVGs scoped strictly to the shared left navigation. */
.navigation-v3-sidebar .nav-icon svg,
.navigation-v3-sidebar .sidebar-community-grid-icon svg,
.navigation-v3-sidebar .sidebar-favourite-heart svg,
.navigation-v3-sidebar .sidebar-switch-chevron svg,
.navigation-v3-sidebar .sidebar-community-option > i svg,
.navigation-v3-sidebar .admin-sidebar-banner > span svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.navigation-v3-sidebar .sidebar-switch-chevron svg,
.navigation-v3-sidebar .sidebar-community-option > i svg {
  width: 14px;
  height: 14px;
}


/* Lucide-style SVGs for shared topbar, account drawer and community favourite controls. */
.topbar-action-icon svg,
.account-drawer-icon svg,
.account-shortcut-icon svg,
.community-favourite-button svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.community-favourite-button.is-favourite svg {
  fill: currentColor;
}
