/* Destructive controls share the restrained outlined treatment used in the
   card editor. Keep this last in the cascade: modules retain their layout,
   while delete and remove actions remain recognizable before hover. */
:root{
  --delete-ink:#B91C1C;
  --delete-edge:#F0B4B4;
  --delete-hover:#FFF1F2;
  --delete-focus:#DC2626;
}
[data-theme="dark"]{
  --delete-ink:#FCA5A5;
  --delete-edge:#854545;
  --delete-hover:#351D22;
  --delete-focus:#FCA5A5;
}

button:is(
  .btn-danger,
  .btn-danger-quiet,
  .btn-danger-solid,
  .icon-btn.danger,
  .tut-icon-btn.danger,
  .eotm-mini-btn.danger,
  .eotm-comment-del,
  .todo-del,
  .msg-del-btn,
  .news-media-remove,
  .hr-dep-remove,
  .virtual-remove,
  .bom-column-remove,
  .bom-remove,
  .wiz-variant-del,
  .pr-rm,
  .pr-factory-reset,
  #rbPreviewPurgeBtn,
  #avatarRemoveBtn,
  #chatAttachClear,
  .sab-danger,
  .btn-linkish.danger,
  [data-del-card],
  [data-del-file],
  [data-del-msg],
  [data-del-comment],
  [data-del-video],
  [data-req-del],
  [data-news-del-post],
  [data-news-del-comment],
  [data-rb-purge],
  [data-arb-purge],
  [data-bom-remove],
  [data-bom-remove-column],
  [data-remove-part],
  [data-remove-part-file],
  [data-remove-field],
  [data-remove-user],
  [data-remove-media],
  [data-virtual-remove],
  [data-todo-del-id],
  [data-wiz-img-remove],
  [data-wiz-var-del],
  [data-dir-del],
  [data-doc-remove],
  [data-iddoc-remove],
  [data-dep-remove],
  [data-step-remove],
  [data-repl-remove],
  [data-unlink],
  [data-drop],
  [data-unpick-person],
  [data-unpick-card],
  [data-attach-remove],
  [data-thumbnail-clear],
  [data-delete-tenant],
  [data-delete-lead],
  [data-sa-action="sched-delete"],
  [data-sa-action="restore-remove"],
  [data-dh-action="delete-export"],
  [data-dh-action="remove-part"],
  [data-act="delete"],
  [data-act="delete-project"],
  [data-act="delete-part"],
  [data-act="deleteDept"],
  [data-act="purge"],
  [data-act="removeRow"],
  [data-act="rmLine"]
){
  --btn-ink:var(--delete-ink);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:34px;
  padding:6px 11px !important;
  border:1px solid var(--delete-edge) !important;
  border-radius:10px;
  background:var(--panel) !important;
  color:var(--delete-ink) !important;
  font:500 12px/1.2 'Inter',sans-serif;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:none;
  filter:none;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;
}
button:is(
  .btn-danger,.btn-danger-quiet,.btn-danger-solid,.icon-btn.danger,
  .tut-icon-btn.danger,.eotm-mini-btn.danger,.eotm-comment-del,.todo-del,
  .msg-del-btn,.news-media-remove,.hr-dep-remove,.virtual-remove,
  .bom-column-remove,.bom-remove,.wiz-variant-del,.pr-rm,.sab-danger,
  .btn-linkish.danger,[data-del-card],[data-del-file],[data-del-msg],
  [data-del-comment],[data-del-video],[data-req-del],
  [data-news-del-post],[data-news-del-comment],
  [data-rb-purge],[data-arb-purge],[data-bom-remove],
  [data-bom-remove-column],[data-remove-part],[data-remove-part-file],
  [data-remove-field],[data-remove-user],[data-remove-media],
  [data-virtual-remove],[data-todo-del-id],[data-wiz-img-remove],
  [data-wiz-var-del],[data-dir-del],[data-doc-remove],[data-iddoc-remove],
  [data-dep-remove],[data-step-remove],[data-repl-remove],[data-unlink],
  [data-drop],[data-unpick-person],[data-unpick-card],[data-attach-remove],
  [data-thumbnail-clear],[data-delete-tenant],[data-delete-lead],
  [data-sa-action="sched-delete"],[data-sa-action="restore-remove"],
  [data-dh-action="delete-export"],[data-dh-action="remove-part"],
  [data-act="delete"],[data-act="delete-project"],[data-act="delete-part"],
  [data-act="deleteDept"],[data-act="purge"],[data-act="removeRow"],
  [data-act="rmLine"],.pr-factory-reset,#rbPreviewPurgeBtn,
  #avatarRemoveBtn,#chatAttachClear
):hover:not(:disabled){
  background:var(--delete-hover) !important;
  border-color:var(--delete-ink) !important;
  color:var(--delete-ink) !important;
  text-decoration:none;
  filter:none;
}

/* Icon controls keep their square footprint in dense lists and tables. */
button:is(
  .icon-btn.danger,.tut-icon-btn.danger,.todo-del,.msg-del-btn,
  .news-media-remove,.hr-dep-remove,.virtual-remove,.bom-column-remove,
  .bom-remove,.wiz-variant-del,[data-del-card],[data-del-file],
  [data-news-del-post],[data-news-del-comment],[data-rb-purge],
  [data-arb-purge],[data-remove-part],[data-remove-part-file],
  [data-remove-field],[data-remove-user],[data-remove-media],
  [data-wiz-img-remove],[data-dep-remove],[data-step-remove],
  [data-repl-remove],[data-unlink],[data-thumbnail-clear],
  [data-act="delete-project"],[data-act="delete-part"],
  [data-act="rmLine"],#mtAssetClear
){
  min-width:30px;
  min-height:30px;
  padding:5px !important;
  line-height:1;
}
button:is([data-unpick-person],[data-unpick-card]){
  min-width:22px;
  min-height:22px;
  padding:2px !important;
  border-radius:6px;
}
/* Attachment chips use a smaller remove control beside the file details. */
.file-chip button[data-remove-part-file]{
  width:24px;
  height:24px;
  min-width:24px;
  min-height:24px;
  box-sizing:border-box;
  padding:3px !important;
  border-radius:6px;
}
.eotm-comment-del{ opacity:1; }
button:is(.btn-danger,.btn-danger-quiet,.btn-danger-solid,[data-act="purge"]):focus-visible,
button:is([data-del-card],[data-del-file],[data-remove-part],[data-rb-purge],[data-arb-purge]):focus-visible{
  outline:2px solid var(--delete-focus);
  outline-offset:2px;
}
button:is(.btn-danger,.btn-danger-quiet,.btn-danger-solid):disabled,
button:is(.btn-danger,.btn-danger-quiet,.btn-danger-solid)[aria-disabled="true"]{
  opacity:.5;
  cursor:not-allowed;
}

/* The group editor previously used a borderless ghost Delete action. */
#laneOverlay .lane-detail-modal .modal-foot #laneDeleteBtn{
  border-color:var(--delete-edge) !important;
  background:var(--panel) !important;
  color:var(--delete-ink) !important;
}
#laneOverlay .lane-detail-modal .modal-foot #laneDeleteBtn:hover{
  border-color:var(--delete-ink) !important;
  background:var(--delete-hover) !important;
}
