/* ================================================================
   kanban.css — leads pipeline board
   ================================================================ */
.kanban {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--sp-md);
  align-items: start;
}

.kanban-col {
  background: var(--panel-alt); border-radius: var(--r-lg);
  border: 1px solid var(--border); border-top-width: 3px;
  padding: var(--sp-sm); min-height: 160px;
  display: flex; flex-direction: column; gap: .35rem;
}
.kanban-col.drag-over { outline: 2px dashed var(--accent); outline-offset: -3px; }

/* Column status accent colours */
.kanban-col.col-new        { border-top-color: var(--info); }
.kanban-col.col-contacted  { border-top-color: var(--warning); }
.kanban-col.col-quoted     { border-top-color: #6B3FA0; }
.kanban-col.col-closed_won { border-top-color: var(--success); }
.kanban-col.col-closed_lost{ border-top-color: var(--danger); }

/* Column header */
.kanban-col-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: .4rem .5rem .5rem; font-weight: 600; font-size: .88rem;
}
.kanban-col.col-new        .kanban-col-head { color: var(--info); }
.kanban-col.col-contacted  .kanban-col-head { color: var(--warning); }
.kanban-col.col-quoted     .kanban-col-head { color: #6B3FA0; }
.kanban-col.col-closed_won .kanban-col-head { color: var(--success); }
.kanban-col.col-closed_lost.kanban-col-head { color: var(--danger); }

.col-label { letter-spacing: .02em; }
.col-meta { display: flex; align-items: center; gap: .4rem; }
.col-total {
  font-size: .72rem; font-weight: 600; color: var(--muted);
  background: var(--panel); padding: .1rem .45rem; border-radius: 999px;
  border: 1px solid var(--border);
}
.count {
  background: var(--panel); color: var(--muted); font-size: .72rem; font-weight: 600;
  padding: .1rem .45rem; border-radius: 999px; border: 1px solid var(--border);
  min-width: 22px; text-align: center;
}

/* Cards list */
.kanban-cards {
  display: flex; flex-direction: column; gap: .4rem;
  min-height: 40px; padding: .15rem; flex: 1;
}

/* Empty column placeholder */
.kanban-empty {
  text-align: center; padding: var(--sp-lg) var(--sp-sm);
  font-size: .8rem; color: var(--faint); border: 1px dashed var(--border);
  border-radius: var(--r-md); background: var(--panel);
}

/* Lead card */
.lead-card {
  background: var(--panel); border: 1px solid var(--border); border-radius: var(--r-md);
  padding: var(--sp-md); box-shadow: var(--shadow-sm);
  cursor: grab; transition: box-shadow .15s, border-color .15s;
  display: flex; flex-direction: column; gap: .3rem;
}
.lead-card:hover { box-shadow: var(--shadow-md); border-color: var(--border-strong); }
.lead-card.dragging { opacity: .45; cursor: grabbing; box-shadow: var(--shadow-lg); }

.lead-card .lc-name {
  font-weight: 600; color: var(--dark); font-size: .9rem; line-height: 1.3;
}
.lead-card .lc-meta {
  font-size: .76rem; color: var(--muted);
  display: flex; flex-direction: column; gap: .12rem; margin-top: .05rem;
}
.lead-card .lc-meta i { width: 1rem; color: var(--faint); font-size: .85rem; }

.lead-card .lc-foot {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: .2rem; padding-top: .4rem; border-top: 1px solid var(--border);
}
.lead-card .lc-value {
  font-weight: 700; color: var(--success); font-size: .82rem;
  font-variant-numeric: tabular-nums;
}
.lc-actions { display: flex; gap: .2rem; }
.lc-actions .icon-btn { width: 28px; height: 28px; font-size: .85rem; }

/* ── Responsive: wrap columns on smaller screens ─────────────── */
@media (max-width: 1100px) {
  .kanban { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 640px) {
  .kanban { grid-template-columns: repeat(2, 1fr); gap: var(--sp-sm); }
  .lead-card { padding: var(--sp-sm); }
  .lead-card .lc-name { font-size: .875rem; }
}

@media (max-width: 380px) {
  .kanban { grid-template-columns: 1fr; }
}
