/* GyaanVerse reusable card action system */
.grid-card-actions,
.plan-actions {
  position: relative !important;
  z-index: 20 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
}
.gv-action-menu {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 40;
}
.action-btn.more {
  background: rgba(255,255,255,.10) !important;
}
.gv-action-menu-popover,
.gv-action-menu-portal {
  min-width: 196px;
  max-width: min(260px, calc(100vw - 24px));
  display: none;
  gap: 4px;
  padding: 8px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.16);
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(145deg, rgba(20,27,58,.98), rgba(8,19,36,.98));
  background-size: 18px 18px, 18px 18px, auto;
  box-shadow: 0 24px 68px rgba(0,0,0,.50), 0 0 0 1px rgba(79,172,254,.08) inset;
  backdrop-filter: blur(18px) saturate(136%);
  -webkit-backdrop-filter: blur(18px) saturate(136%);
}
.gv-action-menu-portal {
  position: fixed;
  z-index: 999999;
}
.gv-action-menu-portal.is-open { display: grid !important; animation: gvActionMenuIn .18s ease-out; }
.gv-action-menu-item {
  width: 100%;
  border: 0;
  border-radius: 13px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 11px;
  background: transparent;
  color: rgba(255,255,255,.90);
  font-weight: 850;
  text-align: left;
  cursor: pointer;
  white-space: nowrap;
  transition: background .18s ease, transform .18s ease, color .18s ease;
}
.gv-action-menu-item:hover {
  background: rgba(79,172,254,.16);
  transform: translateX(2px);
  color: #fff;
}
.gv-action-menu-item i { font-size: 19px; color: #4facfe; }
.gv-action-menu-item.delete i { color: #ff7b7b; }
.gv-action-menu-item.edit i { color: #00f2fe; }
.gv-action-menu-item.view i { color: #f3cd74; }
@keyframes gvActionMenuIn { from { opacity: 0; transform: translateY(6px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (max-width: 640px) { .gv-action-menu-portal { max-width: calc(100vw - 20px); } }
