/* Small additions to Bootstrap */
.tel-link { white-space: nowrap; }
.row-overdue > td, .row-overdue { background-color: var(--bs-danger-bg-subtle) !important; }
.stage-actions .btn { margin: 0 .25rem .5rem 0; }
.activity-card + .activity-card { margin-top: .5rem; }
/* Comfortable tap targets on phones */
@media (max-width: 575.98px) {
  .btn { padding-top: .5rem; padding-bottom: .5rem; }
  .btn-sm { padding-top: .4rem; padding-bottom: .4rem; }
  .form-control, .form-select { font-size: 1rem; }
}

/* Board */
.board { display: flex; gap: .75rem; overflow-x: auto; align-items: flex-start; padding-bottom: 1rem;
         scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; }
.board-column { flex: 0 0 272px; scroll-snap-align: start; background: var(--bs-tertiary-bg);
                border-radius: .5rem; padding: .5rem; }
.board-column-header { padding: .25rem .25rem .5rem; display: flex; flex-wrap: wrap; align-items: center;
                       gap: .5rem; border-bottom: 3px solid var(--bs-primary); margin-bottom: .5rem; }
.board-column-header.is-won { border-color: var(--bs-success); }
.board-column-header.is-lost { border-color: var(--bs-dark); }
.board-column-name { font-weight: 600; color: inherit; text-decoration: none; flex: 1 1 auto; }
.board-list { min-height: 90px; display: flex; flex-direction: column; gap: .5rem; }
.board-card { cursor: default; }
.board-card.can-move { cursor: grab; }
.board-ghost { opacity: .4; }
/* Won / lost stages: narrow columns with a counter, still a place to drop cards */
.board-column-final { flex: 0 0 76px; }
.board-column-final .board-column-header { flex-direction: column; align-items: center; }
.board-column-final .board-column-name { writing-mode: vertical-rl; transform: rotate(180deg);
                                          font-size: .85rem; max-height: 9rem; overflow: hidden; }
.board-column-final .board-list { min-height: 9rem; border: 2px dashed var(--bs-border-color); border-radius: .5rem; }
@media (max-width: 575.98px) {
  .board-column { flex-basis: 86vw; }
  .board-column-final { flex-basis: 76px; }
}

/* Reports: simple horizontal bars, no chart libraries */
.report-bar { height: .6rem; background: var(--bs-tertiary-bg); border-radius: .3rem; overflow: hidden; min-width: 6rem; }
.report-bar-fill { height: 100%; background: var(--bs-primary); border-radius: .3rem; }
.report-bar-fill.bg-danger { background: var(--bs-danger); }
.report-bar-fill.bg-dark { background: var(--bs-dark); }
.border-dashed { border-style: dashed; }
