.pdfb-context-menu {
  position: fixed !important;
  background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%) !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  box-shadow:
    0 20px 25px -5px rgba(0, 0, 0, 0.1),
    0 10px 10px -5px rgba(0, 0, 0, 0.04),
    0 0 0 1px rgba(255, 255, 255, 0.05) !important;
  z-index: 9999 !important;
  min-width: 200px !important;
  max-width: 280px !important;
  padding: 8px 0 !important;
  animation: contextMenuFadeIn 0.15s cubic-bezier(0.4, 0, 0.2, 1) !important;
  transform-origin: top left !important;
}

@keyframes contextMenuFadeIn {
  from {
    opacity: 0;
    transform: scale(0.95) translateY(-8px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.pdfb-context-menu-item {
  display: flex;
  align-items: center;
  padding: 8px 16px;
  cursor: pointer;
  user-select: none;
  transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  min-height: 36px;
  border: none;
  background: transparent;
}

.pdfb-context-menu-item:hover:not(.disabled) {
  background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
  transform: translateX(2px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.pdfb-context-menu-item:active:not(.disabled) {
  background: linear-gradient(135deg, #cbd5e1 0%, #94a3b8 100%);
  transform: translateX(1px);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}

.pdfb-context-menu-item.disabled {
  color: #94a3b8;
  cursor: not-allowed;
  opacity: 0.6;
}

.pdfb-context-menu-item.disabled:hover {
  background-color: transparent;
  transform: none;
  box-shadow: none;
}

.pdfb-context-menu-icon {
  margin-right: 12px;
  width: 18px;
  text-align: center;
  font-size: 14px;
  opacity: 0.8;
}

.pdfb-context-menu-label {
  flex: 1;
  font-weight: 500;
  color: #334155;
}

.pdfb-context-menu-separator {
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, #e2e8f0 20%, #e2e8f0 80%, transparent 100%);
  margin: 6px 0;
  border: none;
}
