/* ===================================
   KANBAN BOARD ORGANISM
   ===================================
   
   Columnar workflow board for pipeline/status views.
   
   SPACING CONTRACT:
   - No external margins
   - Parent controls spacing between boards
   - Internal padding via design tokens
*/

/* Board container - horizontal scroll */
.kanban-board {
    display: flex;
    gap: var(--space-3);
    overflow-x: auto;
    padding-bottom: var(--space-2);
    min-height: 200px;

    scrollbar-width: thin;
    scrollbar-color: var(--color-neutral-400) var(--bg-panel);
}

.kanban-board::-webkit-scrollbar {
    height: 8px;
}

.kanban-board::-webkit-scrollbar-track {
    background: var(--bg-panel);
    border-radius: var(--border-radius-sm);
}

.kanban-board::-webkit-scrollbar-thumb {
    background: var(--color-neutral-400);
    border-radius: var(--border-radius-sm);
}

/* Column */
.kanban-column {
    flex: 1;
    min-width: 200px;
    max-width: 320px;
    display: flex;
    flex-direction: column;
    background: var(--bg-panel);
    border-radius: var(--border-radius-lg);
    border: var(--border-width-1) solid var(--border-subtle);
}

/* Column header */
.kanban-column-header {
    padding: var(--space-3);
    border-bottom: var(--border-width-1) solid var(--border-subtle);
    border-radius: var(--border-radius-lg) var(--border-radius-lg) 0 0;
}

.kanban-column-title {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
}

/* Column header color variants (top border accent) */
.kanban-variant-neutral { border-top: 3px solid var(--color-neutral-300); }
.kanban-variant-info { border-top: 3px solid var(--color-info); }
.kanban-variant-warning { border-top: 3px solid var(--color-warning); }
.kanban-variant-primary { border-top: 3px solid var(--color-primary); }
.kanban-variant-success { border-top: 3px solid var(--color-success); }
.kanban-variant-error { border-top: 3px solid var(--color-error); }

/* Column body - scrollable card list */
.kanban-column-body {
    flex: 1;
    padding: var(--space-2);
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    max-height: 500px;
}

/* Card */
.kanban-card {
    background: var(--bg-surface);
    border: var(--border-width-1) solid var(--border-subtle);
    border-radius: var(--border-radius-md);
    padding: var(--space-3);
    cursor: pointer;
    transition: all var(--duration-150) var(--easing-out);
}

.kanban-card:hover {
    border-color: var(--border-default);
    box-shadow: var(--shadow-sm);
}

/* Empty column state */
.kanban-empty {
    text-align: center;
    padding: var(--space-6) var(--space-3);
    color: var(--text-muted);
    font-size: var(--text-sm);
}

/* Size variants */
.kanban-board-sm .kanban-column {
    min-width: 160px;
    max-width: 240px;
}

.kanban-board-sm .kanban-column-header {
    padding: var(--space-2);
}

.kanban-board-sm .kanban-column-body {
    padding: var(--space-1);
    gap: var(--space-1);
    max-height: 400px;
}

.kanban-board-sm .kanban-card {
    padding: var(--space-2);
}

/* Responsive */
@media (max-width: 768px) {
    .kanban-column {
        min-width: 180px;
        max-width: none;
    }
}
