/**
 * @fileoverview Version Actions styles
 *
 * Styling for version action buttons and confirmation modals.
 */

/* ============================================================================
   VERSION ACTIONS BAR
   ============================================================================ */

.wn-version-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wn-space-2);
  padding: var(--wn-space-4);
  border-top: 1px solid var(--wn-zinc-700);
  background-color: var(--wn-zinc-950);
  flex-shrink: 0;
}

.wn-version-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--wn-space-2);
  flex: 1 1 calc(50% - 0.1875rem);
  min-width: 0;
  padding: var(--wn-space-3) var(--wn-space-2);
  border: 1px solid var(--wn-zinc-700);
  border-radius: var(--wn-radius-sm);
  background-color: transparent;
  font-size: var(--wn-font-xs);
  font-weight: 500;
  color: var(--wn-zinc-400);
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition:
    background-color var(--wn-transition-fast),
    border-color var(--wn-transition-fast),
    color var(--wn-transition-fast);
}

.wn-version-action:hover:not(:disabled) {
  background-color: var(--wn-overlay-5);
  border-color: var(--wn-zinc-600);
  color: var(--wn-zinc-50);
}

.wn-version-action:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.wn-version-action--primary {
  border-color: var(--wn-brand-500);
  background-color: var(--wn-brand-alpha-10);
  color: var(--wn-brand-400);
}

.wn-version-action--primary:hover:not(:disabled) {
  background-color: var(--wn-brand-alpha-20);
  border-color: var(--wn-brand-400);
  color: #93c5fd;
}

.wn-version-action--danger {
  border-color: var(--wn-error-500);
  background-color: var(--wn-error-alpha-10);
  color: var(--wn-error-400);
}

.wn-version-action--danger:hover:not(:disabled) {
  background-color: var(--wn-error-alpha-20);
  border-color: var(--wn-error-400);
  color: #fca5a5;
}

/* ============================================================================
   CONFIRMATION MODAL
   ============================================================================ */

.wn-confirm-overlay {
  position: fixed;
  inset: 0;
  z-index: var(--wn-z-confirm);
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--wn-backdrop);
  animation: fadeIn var(--wn-transition-fast) ease-out;
}

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

.wn-confirm-modal {
  width: 100%;
  max-width: var(--wn-modal-sm);
  padding: var(--wn-space-6);
  border-radius: var(--wn-radius-lg);
  border: 1px solid var(--wn-zinc-700);
  background-color: var(--wn-zinc-900);
  box-shadow: var(--wn-shadow-lg);
  animation: zoomIn var(--wn-transition-fast) ease-out;
}

@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.wn-confirm-header {
  display: flex;
  align-items: center;
  gap: var(--wn-space-3);
  margin-bottom: var(--wn-space-4);
}

.wn-confirm-icon {
  color: var(--wn-warning-400);
  flex-shrink: 0;
}

.wn-confirm-title {
  flex: 1;
  margin: 0;
  font-size: var(--wn-font-md);
  font-weight: 600;
  color: var(--wn-zinc-50);
}

.wn-confirm-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--wn-icon-btn-md);
  height: var(--wn-icon-btn-md);
  padding: 0;
  border: none;
  border-radius: var(--wn-radius-sm);
  background-color: transparent;
  color: var(--wn-zinc-500);
  cursor: pointer;
  transition:
    background-color var(--wn-transition-fast),
    color var(--wn-transition-fast);
}

.wn-confirm-close:hover:not(:disabled) {
  background-color: var(--wn-overlay-10);
  color: var(--wn-zinc-50);
}

.wn-confirm-close:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.wn-confirm-message {
  margin: 0 0 var(--wn-space-6);
  font-size: var(--wn-font-base);
  line-height: 1.5;
  color: var(--wn-zinc-400);
}

.wn-confirm-actions {
  display: flex;
  gap: var(--wn-space-3);
  justify-content: flex-end;
}

.wn-confirm-btn {
  display: flex;
  align-items: center;
  gap: var(--wn-space-2);
  padding: var(--wn-space-3) var(--wn-space-5);
  border-radius: var(--wn-radius-md);
  font-size: var(--wn-font-base);
  font-weight: 500;
  cursor: pointer;
  transition:
    background-color var(--wn-transition-fast),
    border-color var(--wn-transition-fast);
}

.wn-confirm-btn:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

.wn-confirm-btn--cancel {
  border: 1px solid var(--wn-zinc-700);
  background-color: transparent;
  color: var(--wn-zinc-400);
}

.wn-confirm-btn--cancel:hover:not(:disabled) {
  background-color: var(--wn-overlay-5);
  border-color: var(--wn-zinc-600);
  color: var(--wn-zinc-50);
}

.wn-confirm-btn--primary {
  border: 1px solid var(--wn-brand-500);
  background-color: var(--wn-brand-500);
  color: #fff;
}

.wn-confirm-btn--primary:hover:not(:disabled) {
  background-color: var(--wn-brand-600);
  border-color: var(--wn-brand-600);
}

.wn-confirm-btn--danger {
  border: 1px solid var(--wn-error-500);
  background-color: var(--wn-error-500);
  color: #fff;
}

.wn-confirm-btn--danger:hover:not(:disabled) {
  background-color: var(--wn-error-600);
  border-color: var(--wn-error-600);
}

/* ============================================================================
   LIGHT MODE OVERRIDES
   ============================================================================ */

.wn-light .wn-version-actions {
  border-top-color: var(--wn-zinc-200);
  background-color: var(--wn-zinc-50);
}

.wn-light .wn-version-action {
  border-color: var(--wn-zinc-200);
  color: var(--wn-zinc-500);
}

.wn-light .wn-version-action:hover:not(:disabled) {
  background-color: var(--wn-overlay-light-3);
  border-color: var(--wn-zinc-300);
  color: var(--wn-zinc-900);
}

.wn-light .wn-version-action--primary {
  border-color: var(--wn-brand-500);
  background-color: var(--wn-brand-alpha-10);
  color: var(--wn-brand-600);
}

.wn-light .wn-version-action--primary:hover:not(:disabled) {
  background-color: var(--wn-brand-alpha-15);
  border-color: var(--wn-brand-600);
  color: #1d4ed8;
}

.wn-light .wn-version-action--danger {
  border-color: var(--wn-error-500);
  background-color: var(--wn-error-alpha-10);
  color: var(--wn-error-600);
}

.wn-light .wn-version-action--danger:hover:not(:disabled) {
  background-color: var(--wn-error-alpha-15);
  border-color: var(--wn-error-600);
  color: #b91c1c;
}

.wn-light .wn-confirm-overlay {
  background-color: var(--wn-backdrop-light);
}

.wn-light .wn-confirm-modal {
  border-color: var(--wn-zinc-200);
  background-color: #fff;
}

.wn-light .wn-confirm-title {
  color: var(--wn-zinc-900);
}

.wn-light .wn-confirm-close {
  color: var(--wn-zinc-400);
}

.wn-light .wn-confirm-close:hover:not(:disabled) {
  background-color: var(--wn-overlay-light-5);
  color: var(--wn-zinc-900);
}

.wn-light .wn-confirm-message {
  color: var(--wn-zinc-500);
}

.wn-light .wn-confirm-btn--cancel {
  border-color: var(--wn-zinc-200);
  color: var(--wn-zinc-500);
}

.wn-light .wn-confirm-btn--cancel:hover:not(:disabled) {
  background-color: var(--wn-overlay-light-3);
  border-color: var(--wn-zinc-300);
  color: var(--wn-zinc-900);
}
