diff --git a/core/templates/core/_adjustment_row.html b/core/templates/core/_adjustment_row.html
index e23e13a..0703a91 100644
--- a/core/templates/core/_adjustment_row.html
+++ b/core/templates/core/_adjustment_row.html
@@ -103,8 +103,9 @@ Row actions differ by paid status:
{% else %}
- {# UNPAID row: Preview (reuses .preview-payslip-btn handler), #}
- {# Edit (reuses .adjustment-badge handler), Delete (opens #deleteConfirmModal). #}
+ {# UNPAID row: Preview + Edit only. Single-row delete happens #}
+ {# inside the Edit Adjustment modal; bulk delete uses the row #}
+ {# checkboxes + floating action bar (shared entry point). #}
-
{% endif %}
diff --git a/core/templates/core/payroll_dashboard.html b/core/templates/core/payroll_dashboard.html
index e02efb8..552c7bf 100644
--- a/core/templates/core/payroll_dashboard.html
+++ b/core/templates/core/payroll_dashboard.html
@@ -3832,25 +3832,6 @@ document.addEventListener('DOMContentLoaded', function() {
});
}
- // --- Direct delete buttons on each unpaid row ---
- // Short-circuits the edit modal's usual 2-step delete flow by opening
- // #deleteConfirmModal directly with the correct form action + labels.
- document.querySelectorAll('.adj-delete-btn').forEach(function(btn) {
- btn.addEventListener('click', function() {
- var adjId = this.dataset.adjId;
- var adjType = this.dataset.adjType;
- var adjWorker = this.dataset.adjWorker;
- var deleteForm = document.getElementById('deleteAdjForm');
- if (!deleteForm) return; // Safety: modal not loaded
- deleteForm.action = '/payroll/adjustment/' + adjId + '/delete/';
- document.getElementById('deleteAdjType').textContent = adjType;
- document.getElementById('deleteAdjWorker').textContent = adjWorker;
- bootstrap.Modal.getOrCreateInstance(
- document.getElementById('deleteConfirmModal')
- ).show();
- });
- });
-
// === ADJUSTMENTS TAB — bulk select + delete ===
// The per-row checkboxes come from _adjustment_row.html (class
// .adj-bulk-checkbox on unpaid rows only; disabled dummy checkbox on