/* Канбан (≥900px) и список по этапам (телефон) */
.kanban {
  flex: 1; min-height: 0; display: flex; gap: var(--sp-3); padding: var(--sp-4);
  overflow-x: auto; overflow-y: hidden; align-items: stretch;
}
.col {
  flex: none; width: var(--col-w); display: flex; flex-direction: column; min-height: 0;
  border-top: 2px solid var(--accent); background: transparent;
}
.col-head {
  display: flex; align-items: baseline; gap: var(--sp-2); width: 100%; background: none; border: 0; text-align: left;
  padding: var(--sp-2) var(--sp-1); font: 600 var(--fs-label)/1.2 var(--mono); letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--text);
}
.col-head .count { margin-left: auto; color: var(--hint); font-variant-numeric: tabular-nums; }
.col-head:hover { background: var(--hover); }
.col-body {
  flex: 1; min-height: 80px; overflow-y: auto; display: flex; flex-direction: column; gap: var(--sp-2);
  padding: var(--sp-1) 2px var(--sp-4); border-radius: var(--r-m);
  transition: background var(--dur) var(--ease);
}
.col.drop .col-body { background: var(--hover); outline: 2px dashed var(--accent); outline-offset: -2px; }
.col.final { --col-w: 288px; }
.col.final .col-head { color: var(--hint); }
.col.collapsed { width: 52px; }
.col.collapsed .col-head { writing-mode: vertical-rl; padding: var(--sp-3) var(--sp-2); height: auto; white-space: nowrap; }
.col.collapsed .col-head .count { margin-left: 0; margin-top: auto; }
.col.collapsed .col-body { display: none; }
.col .card[draggable="true"] { cursor: grab; }
.card.dragging { opacity: 0.4; transform: scale(0.98); }
.col-empty { color: var(--hint); font-size: var(--fs-meta); padding: var(--sp-2); text-align: center; border: 1px dashed var(--line-soft); border-radius: var(--r-m); }

/* список по этапам на телефоне */
.stage-group { margin-bottom: var(--sp-3); border-top: 1px solid var(--line); }
.stage-group > summary {
  list-style: none; display: flex; align-items: baseline; gap: var(--sp-2); min-height: var(--touch);
  padding: var(--sp-3) 2px; cursor: pointer;
  font: 600 var(--fs-label)/1.2 var(--mono); letter-spacing: 0.08em; text-transform: uppercase;
}
.stage-group > summary::-webkit-details-marker { display: none; }
.stage-group > summary::before { content: "▸"; color: var(--accent); transition: transform var(--dur) var(--ease); display: inline-block; }
.stage-group[open] > summary::before { transform: rotate(90deg); }
.stage-group > summary .count { margin-left: auto; color: var(--hint); font-variant-numeric: tabular-nums; }
.stage-group.final > summary { color: var(--hint); }
.stage-group .stack { padding-bottom: var(--sp-2); }
