/* Phase 5-H3.3: visual-only alignment for general modal footer actions. */

:is(
  #cancel-create,
  #status-replacement-cancel,
  #cancel-delete,
  #rename-cancel,
  #thumb-cancel,
  #share-confirm-cancel,
  #share-delete-cancel,
  #status-override-cancel,
  #timeline-create-cancel,
  #timeline-edit-cancel,
  #skill-create-cancel,
  #skill-edit-cancel,
  #setting-create-cancel,
  #setting-edit-cancel,
  #logout-cancel,
  #tag-type-manager-footer-close-btn,
  #tag-delete-cancel,
  #confirm-modal-cancel,
  #group-name-modal-cancel,
  #node-settings-cancel-btn,
  [id$="-conflict-cancel"],
  [id$="-conflict-reload"]
),
:is(
  #confirm-create,
  #rename-save,
  #thumb-save,
  #status-override-confirm,
  #timeline-create-submit,
  #timeline-edit-submit,
  #skill-create-submit,
  #skill-edit-submit,
  #setting-create-submit,
  #setting-edit-submit,
  #confirm-modal-ok,
  #group-name-modal-ok,
  #alert-modal-ok,
  #node-settings-save-btn,
  #node-type-state-settings-done-btn
),
:is(
  #status-replacement-confirm,
  #confirm-delete,
  #share-confirm-ok,
  #share-delete-ok,
  #logout-confirm,
  #tag-delete-confirm,
  [id$="-conflict-overwrite"]
) {
  min-height: 2.5rem;
  padding: 0.5rem 0.875rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border: 1px solid transparent;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  box-shadow: none;
  transition:
    color var(--nm-motion-fast, 120ms) var(--nm-motion-standard-easing, ease),
    background-color var(--nm-motion-fast, 120ms) var(--nm-motion-standard-easing, ease),
    border-color var(--nm-motion-fast, 120ms) var(--nm-motion-standard-easing, ease);
}

/* Secondary: cancel / close / reload. */
:is(
  #cancel-create,
  #status-replacement-cancel,
  #cancel-delete,
  #rename-cancel,
  #thumb-cancel,
  #share-confirm-cancel,
  #share-delete-cancel,
  #status-override-cancel,
  #timeline-create-cancel,
  #timeline-edit-cancel,
  #skill-create-cancel,
  #skill-edit-cancel,
  #setting-create-cancel,
  #setting-edit-cancel,
  #logout-cancel,
  #tag-type-manager-footer-close-btn,
  #tag-delete-cancel,
  #confirm-modal-cancel,
  #group-name-modal-cancel,
  #node-settings-cancel-btn,
  [id$="-conflict-cancel"],
  [id$="-conflict-reload"]
) {
  color: var(--nm-text);
  background-color: var(--nm-control-bg);
  border-color: var(--nm-control-border);
}

/* Primary: create / save / change / confirm / done. */
:is(
  #confirm-create,
  #rename-save,
  #thumb-save,
  #status-override-confirm,
  #timeline-create-submit,
  #timeline-edit-submit,
  #skill-create-submit,
  #skill-edit-submit,
  #setting-create-submit,
  #setting-edit-submit,
  #confirm-modal-ok,
  #group-name-modal-ok,
  #alert-modal-ok,
  #node-settings-save-btn,
  #node-type-state-settings-done-btn
) {
  color: #ffffff;
  background-color: var(--nm-action-primary);
  border-color: var(--nm-action-primary);
}

/* Destructive: delete / disable / logout / overwrite. */
:is(
  #status-replacement-confirm,
  #confirm-delete,
  #share-confirm-ok,
  #share-delete-ok,
  #logout-confirm,
  #tag-delete-confirm,
  [id$="-conflict-overwrite"]
) {
  color: #ffffff;
  background-color: var(--nm-danger);
  border-color: var(--nm-danger);
}

@media (hover: hover) {
  :is(
    #cancel-create,
    #status-replacement-cancel,
    #cancel-delete,
    #rename-cancel,
    #thumb-cancel,
    #share-confirm-cancel,
    #share-delete-cancel,
    #status-override-cancel,
    #timeline-create-cancel,
    #timeline-edit-cancel,
    #skill-create-cancel,
    #skill-edit-cancel,
    #setting-create-cancel,
    #setting-edit-cancel,
    #logout-cancel,
    #tag-type-manager-footer-close-btn,
    #tag-delete-cancel,
    #confirm-modal-cancel,
    #group-name-modal-cancel,
    #node-settings-cancel-btn,
    [id$="-conflict-cancel"],
    [id$="-conflict-reload"]
  ):hover:not(:disabled):not([aria-disabled="true"]) {
    color: var(--nm-text);
    background-color: var(--nm-action-secondary-hover);
  }

  :is(
    #confirm-create,
    #rename-save,
    #thumb-save,
    #status-override-confirm,
    #timeline-create-submit,
    #timeline-edit-submit,
    #skill-create-submit,
    #skill-edit-submit,
    #setting-create-submit,
    #setting-edit-submit,
    #confirm-modal-ok,
    #group-name-modal-ok,
    #alert-modal-ok,
    #node-settings-save-btn,
    #node-type-state-settings-done-btn
  ):hover:not(:disabled):not([aria-disabled="true"]) {
    background-color: var(--nm-action-primary-hover);
    border-color: var(--nm-action-primary-hover);
  }

  :is(
    #status-replacement-confirm,
    #confirm-delete,
    #share-confirm-ok,
    #share-delete-ok,
    #logout-confirm,
    #tag-delete-confirm,
    [id$="-conflict-overwrite"]
  ):hover:not(:disabled):not([aria-disabled="true"]) {
    background-color: var(--nm-danger-hover);
    border-color: var(--nm-danger-hover);
  }
}

:is(
  #cancel-create,
  #status-replacement-cancel,
  #cancel-delete,
  #rename-cancel,
  #thumb-cancel,
  #share-confirm-cancel,
  #share-delete-cancel,
  #status-override-cancel,
  #timeline-create-cancel,
  #timeline-edit-cancel,
  #skill-create-cancel,
  #skill-edit-cancel,
  #setting-create-cancel,
  #setting-edit-cancel,
  #logout-cancel,
  #tag-type-manager-footer-close-btn,
  #tag-delete-cancel,
  #confirm-modal-cancel,
  #group-name-modal-cancel,
  #node-settings-cancel-btn,
  [id$="-conflict-cancel"],
  [id$="-conflict-reload"],
  #confirm-create,
  #rename-save,
  #thumb-save,
  #status-override-confirm,
  #timeline-create-submit,
  #timeline-edit-submit,
  #skill-create-submit,
  #skill-edit-submit,
  #setting-create-submit,
  #setting-edit-submit,
  #confirm-modal-ok,
  #group-name-modal-ok,
  #alert-modal-ok,
  #node-settings-save-btn,
  #node-type-state-settings-done-btn,
  #status-replacement-confirm,
  #confirm-delete,
  #share-confirm-ok,
  #share-delete-ok,
  #logout-confirm,
  #tag-delete-confirm,
  [id$="-conflict-overwrite"]
):focus-visible {
  outline: 2px solid var(--nm-focus-ring);
  outline-offset: 2px;
}

:is(
  #confirm-create,
  #rename-save,
  #thumb-save,
  #status-override-confirm,
  #timeline-create-submit,
  #timeline-edit-submit,
  #skill-create-submit,
  #skill-edit-submit,
  #setting-create-submit,
  #setting-edit-submit,
  #confirm-modal-ok,
  #group-name-modal-ok,
  #alert-modal-ok,
  #node-settings-save-btn,
  #node-type-state-settings-done-btn,
  #status-replacement-confirm,
  #confirm-delete,
  #share-confirm-ok,
  #share-delete-ok,
  #logout-confirm,
  #tag-delete-confirm,
  [id$="-conflict-overwrite"]
):disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

@media (pointer: coarse) {
  :is(
    #cancel-create,
    #status-replacement-cancel,
    #cancel-delete,
    #rename-cancel,
    #thumb-cancel,
    #share-confirm-cancel,
    #share-delete-cancel,
    #status-override-cancel,
    #timeline-create-cancel,
    #timeline-edit-cancel,
    #skill-create-cancel,
    #skill-edit-cancel,
    #setting-create-cancel,
    #setting-edit-cancel,
    #logout-cancel,
    #tag-type-manager-footer-close-btn,
    #tag-delete-cancel,
    #confirm-modal-cancel,
    #group-name-modal-cancel,
    #node-settings-cancel-btn,
    [id$="-conflict-cancel"],
    [id$="-conflict-reload"],
    #confirm-create,
    #rename-save,
    #thumb-save,
    #status-override-confirm,
    #timeline-create-submit,
    #timeline-edit-submit,
    #skill-create-submit,
    #skill-edit-submit,
    #setting-create-submit,
    #setting-edit-submit,
    #confirm-modal-ok,
    #group-name-modal-ok,
    #alert-modal-ok,
    #node-settings-save-btn,
    #node-type-state-settings-done-btn,
    #status-replacement-confirm,
    #confirm-delete,
    #share-confirm-ok,
    #share-delete-ok,
    #logout-confirm,
    #tag-delete-confirm,
    [id$="-conflict-overwrite"]
  ) {
    min-height: 2.75rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(
    #cancel-create,
    #status-replacement-cancel,
    #cancel-delete,
    #rename-cancel,
    #thumb-cancel,
    #share-confirm-cancel,
    #share-delete-cancel,
    #status-override-cancel,
    #timeline-create-cancel,
    #timeline-edit-cancel,
    #skill-create-cancel,
    #skill-edit-cancel,
    #setting-create-cancel,
    #setting-edit-cancel,
    #logout-cancel,
    #tag-type-manager-footer-close-btn,
    #tag-delete-cancel,
    #confirm-modal-cancel,
    #group-name-modal-cancel,
    #node-settings-cancel-btn,
    [id$="-conflict-cancel"],
    [id$="-conflict-reload"],
    #confirm-create,
    #rename-save,
    #thumb-save,
    #status-override-confirm,
    #timeline-create-submit,
    #timeline-edit-submit,
    #skill-create-submit,
    #skill-edit-submit,
    #setting-create-submit,
    #setting-edit-submit,
    #confirm-modal-ok,
    #group-name-modal-ok,
    #alert-modal-ok,
    #node-settings-save-btn,
    #node-type-state-settings-done-btn,
    #status-replacement-confirm,
    #confirm-delete,
    #share-confirm-ok,
    #share-delete-ok,
    #logout-confirm,
    #tag-delete-confirm,
    [id$="-conflict-overwrite"]
  ) {
    transition: none;
  }
}
