:root {
  --app-font: "Encode Sans Condensed", "Arial Narrow", "Segoe UI", sans-serif;

  --bg: #f8f9fa;
  --text: #212529;
  --card-bg: #ffffff;
  --muted: #6c757d;

  --todo-header-bg: #eaf2ff;
  --todo-header-text: #0b3e91;
  --todo-body-bg: #f5f9ff;

  --inprogress-header-bg: #fff4d6;
  --inprogress-header-text: #7a4b00;
  --inprogress-body-bg: #fff9e8;

  --completed-header-bg: #e7f7ec;
  --completed-header-text: #1f6f31;
  --completed-body-bg: #f1fbf4;
}

html[data-theme="dark"] {
  --bg: #121417;
  --text: #e9ecef;
  --card-bg: #1a1f24;
  --muted: #adb5bd;

  --todo-header-bg: #1a2f4f;
  --todo-header-text: #b6d3ff;
  --todo-body-bg: #16253b;

  --inprogress-header-bg: #7a6418;
  --inprogress-header-text: #fff0a8;
  --inprogress-body-bg: #5f4e16;

  --completed-header-bg: #1d3f2b;
  --completed-header-text: #bcecc8;
  --completed-body-bg: #183323;
}

body {
  font-family: var(--app-font);
  background: var(--bg);
  color: var(--text);
}

.card,
.modal-content,
.list-group-item,
.table,
.table thead,
.table tbody,
.dropdown-menu {
  background-color: var(--card-bg);
  color: var(--text);
}

.text-muted,
.form-text,
.small,
small {
  color: var(--muted) !important;
}

html[data-theme="dark"] .form-control,
html[data-theme="dark"] .form-select {
  background-color: #232a31;
  color: #e9ecef;
  border-color: #3b4550;
}

html[data-theme="dark"] .form-control::placeholder {
  color: #99a3ad;
}

html[data-theme="dark"] .table-light,
html[data-theme="dark"] .card-header,
html[data-theme="dark"] .card-footer {
  background-color: #20262d !important;
  color: #dce1e6;
  border-color: #2f3942;
}

.kanban-column .card-body {
  min-height: 320px;
  background: var(--card-bg);
}

.kanban-column[data-status="todo"] {
  border-top: 4px solid #0d6efd;
}

.kanban-column[data-status="todo"] .card-header {
  background: var(--todo-header-bg);
  color: var(--todo-header-text);
}

.kanban-column[data-status="todo"] .card-body {
  background: var(--todo-body-bg);
}

.kanban-column[data-status="in_progress"] {
  border-top: 4px solid #f59f00;
}

.kanban-column[data-status="in_progress"] .card-header {
  background: var(--inprogress-header-bg);
  color: var(--inprogress-header-text);
}

.kanban-column[data-status="in_progress"] .card-body {
  background: var(--inprogress-body-bg);
}

.kanban-column[data-status="completed"] {
  border-top: 4px solid #2f9e44;
}

.kanban-column[data-status="completed"] .card-header {
  background: var(--completed-header-bg);
  color: var(--completed-header-text);
}

.kanban-column[data-status="completed"] .card-body {
  background: var(--completed-body-bg);
}

.task-card {
  cursor: grab;
}

.task-card.dragging {
  opacity: 0.6;
}

.task-dropzone.drop-active {
  outline: 2px dashed #0d6efd;
  border-radius: 0.375rem;
}

.task-overdue {
  border-left: 4px solid #dc3545;
}

.alert.undo-snackbar {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 1080;
  min-width: 320px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.subtask-done {
  text-decoration: line-through;
  color: var(--muted);
}
