/* Board view (Kanban) card hover */
.board-card {
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.board-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
  transform: translateY(-1px);
}
.board-card > .border-bottom {
  border-bottom: none !important;
}

/* Board card urgency indicator (berthing_soon within 24h) */
.board-card--urgent {
  border-left: 3px solid var(--bs-warning) !important;
  animation: urgency-pulse 2s ease-in-out infinite;
}
@keyframes urgency-pulse {
  0%, 100% { box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); }
  50% { box-shadow: 0 2px 8px rgba(var(--bs-warning-rgb), 0.3); }
}

/* Board column header backgrounds - light tint */
.board-header--info    { background-color: rgba(var(--bs-info-rgb), 0.12); }
.board-header--warning { background-color: rgba(var(--bs-warning-rgb), 0.12); }
.board-header--primary { background-color: rgba(var(--bs-primary-rgb), 0.12); }
.board-header--success { background-color: rgba(var(--bs-success-rgb), 0.12); }

/* Board column backgrounds - tinted by status color */
.board-column--info    { background-color: rgba(var(--bs-info-rgb), 0.1); }
.board-column--warning { background-color: rgba(var(--bs-warning-rgb), 0.1); }
.board-column--primary { background-color: rgba(var(--bs-primary-rgb), 0.1); }
.board-column--success { background-color: rgba(var(--bs-success-rgb), 0.1); }

/* Board card drag handle */
.board-card__drag-handle {
  cursor: grab;
  color: #bbb;
  border-right: 1px solid rgba(0, 0, 0, 0.06);
  transition: color 0.15s ease, background-color 0.15s ease;
  border-radius: 0.5rem 0 0 0.5rem;
  user-select: none;
}
.board-card__drag-handle:hover {
  color: #666;
  background-color: rgba(0, 0, 0, 0.04);
}
.board-card__drag-handle:active {
  cursor: grabbing;
}
.board-card--dragging {
  opacity: 0.4;
}

/* Prevent text overflow in flex card layout */
.board-card .min-width-0 {
  min-width: 0;
}
.board-column--drop-target {
  outline: 2px dashed var(--bs-primary);
  outline-offset: -2px;
  background-color: rgba(var(--bs-primary-rgb), 0.08) !important;
}
.board-column--drag-over {
  outline: 2px solid var(--bs-primary);
  outline-offset: -2px;
}
.board-card--placeholder {
  height: 60px;
  border: 2px dashed var(--bs-primary);
  border-radius: 0.5rem;
  background-color: rgba(var(--bs-primary-rgb), 0.05);
}

/* Raise card z-index when its dropdown is open so it paints above sibling cards */
.board-card:has(.dropdown-menu.show) {
  z-index: 10;
  position: relative;
}
