/* VaultActionsDropdown — trigger (icon or label + icon), dropdown with action items */

.vault-actions-dropdown {
  position: relative;
  display: inline-flex;
}

.vault-actions-dropdown-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  min-width: 2rem;
  min-height: 2rem;
  padding: 0.25rem 0.375rem;
  border: none;
  border-radius: 0.375rem;
  background: none;
  color: var(--vault-text-muted);
  cursor: pointer;
  font-size: 0.875rem;
}

.vault-actions-dropdown-trigger:hover {
  color: var(--vault-text);
  background: var(--vault-nav-item-hover-bg, rgba(100, 116, 139, 0.12));
}

.vault-actions-dropdown-trigger-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.vault-actions-dropdown-trigger-icon svg {
  width: 1.25rem;
  height: 1.25rem;
}

.vault-actions-dropdown-trigger-label {
  white-space: nowrap;
}

.vault-actions-dropdown-panel {
  position: absolute;
  right: 0;
  top: 100%;
  margin-top: 0.25rem;
  min-width: 10rem;
  padding: 0.25rem 0;
  background: var(--vault-bg-elevated);
  border: 1px solid var(--vault-border);
  border-radius: 0.375rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  z-index: var(--vault-floating-menu-z, 9750);
}

/* Portaled panel: rendered in body, fixed position, above shell chrome; below side sheets & datatable fixed menus (see styles.css :root). */
.vault-actions-dropdown-panel--portaled {
  position: fixed !important;
  z-index: var(--vault-floating-menu-z, 9750);
}

.vault-actions-dropdown-panel--portaled.vault-actions-dropdown-panel--open-up {
  top: auto !important;
  bottom: auto;
  margin-top: 0;
  margin-bottom: 0;
}

.vault-actions-dropdown--open-up .vault-actions-dropdown-panel:not(.vault-actions-dropdown-panel--portaled) {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: 0.25rem;
}

.vault-actions-dropdown-panel.hidden {
  display: none !important;
}

.vault-actions-dropdown-item {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
  width: 100%;
  padding: 0.5rem 0.75rem;
  border: none;
  background: none;
  color: var(--vault-text-muted);
  font-size: 0.875rem;
  text-align: left;
  cursor: pointer;
  transition: background 0.15s ease;
}
.vault-actions-dropdown-item:hover {
  color: var(--vault-text);
  background: var(--vault-nav-item-hover-bg, rgba(100, 116, 139, 0.12));
}

.vault-actions-dropdown-item-label {
  flex: 1;
  min-width: 0;
}

.vault-actions-dropdown-item-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.125rem;
  min-height: 1.125rem;
  color: inherit;
}

.vault-actions-dropdown-item-icon svg {
  width: 1.125rem;
  height: 1.125rem;
}

.vault-actions-dropdown-item--primary {
  color: var(--vault-primary);
}

.vault-actions-dropdown-item--primary:hover {
  color: var(--vault-primary-hover);
}

.vault-actions-dropdown-item--secondary {
  color: var(--vault-secondary);
}

.vault-actions-dropdown-item--secondary:hover {
  color: var(--vault-secondary-hover);
}

.vault-actions-dropdown-item--success {
  color: var(--vault-success);
}

.vault-actions-dropdown-item--success:hover {
  color: var(--vault-success-hover);
}

.vault-actions-dropdown-item--danger {
  color: var(--vault-danger, #dc2626);
}

.vault-actions-dropdown-item--danger:hover {
  background: rgba(239, 68, 68, 0.1);
  color: var(--vault-danger-hover, #ef4444);
}

.vault-actions-dropdown-item--warning {
  color: var(--vault-warning);
}

.vault-actions-dropdown-item--warning:hover {
  color: var(--vault-warning-hover);
}
