/* ═══════════════════════════════════════════════════════════════════════════
   MwKanbanBoard styles
   Prefix: mw-kb-*
   Registered in App.razor via Assets["mw-kanban.css"]
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── Board Root ───────────────────────────────────────────────────────── */

.mw-kb-board {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    padding: 0.25rem;
    min-height: 200px;
}

/* ─── Column ───────────────────────────────────────────────────────────── */

.mw-kb-column {
    display: flex;
    flex-direction: column;
    min-width: var(--mw-kb-col-min-width, 240px);
    max-width: var(--mw-kb-col-max-width, none);
    flex: 1;
    border: 1px solid var(--mud-palette-divider);
    border-radius: var(--mud-default-borderradius);
    background: var(--mud-palette-background-grey);
    overflow: hidden;
    transition: min-width 200ms ease, max-width 200ms ease, flex 200ms ease;
}

.mw-kb-column-collapsed {
    min-width: 48px;
    max-width: 48px;
    flex: 0 0 48px;
}

.mw-kb-column-collapsed .mw-kb-column-header {
    flex-direction: column;
    align-items: center;
    padding: 0.75rem 0.25rem;
}

.mw-kb-column-collapsed .mw-kb-column-title {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    white-space: nowrap;
    font-size: 0.75rem;
}

.mw-kb-column-collapsed .mw-kb-column-count {
    margin-top: 0.5rem;
}

/* ─── Column Header ────────────────────────────────────────────────────── */

.mw-kb-column-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 0.75rem;
    border-bottom: 1px solid var(--mud-palette-divider);
    background: transparent;
    flex-shrink: 0;
    user-select: none;
}

.mw-kb-collapse-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    border: none;
    border-radius: var(--mud-default-borderradius);
    background: transparent;
    color: var(--mud-palette-text-secondary);
    cursor: pointer;
    flex-shrink: 0;
    transition: background-color 150ms;
}

.mw-kb-collapse-toggle:hover {
    background: var(--mud-palette-action-default-hover);
}

.mw-kb-column-title {
    flex: 1;
    font-weight: 500;
    font-size: 0.875rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mw-kb-column-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 0.375rem;
    border-radius: 11px;
    background: var(--mud-palette-action-default-hover);
    color: var(--mud-palette-text-secondary);
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.7rem;
    font-weight: 500;
    flex-shrink: 0;
}

/* ─── Drop Zone ────────────────────────────────────────────────────────── */

.mw-kb-column-drop-zone {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.5rem;
    flex: 1;
    overflow-y: auto;
    min-height: 60px;
    transition: background-color 150ms;
}

.mw-kb-column-drop-zone.mw-kb-column-highlight {
    background: color-mix(in srgb, var(--mud-palette-info) 8%, transparent);
}

.mw-kb-column-drop-zone.mw-kb-column-rejected {
    background: color-mix(in srgb, var(--mud-palette-error) 6%, transparent);
    border-color: var(--mud-palette-error);
}

/* ─── Card ─────────────────────────────────────────────────────────────── */

.mw-kb-card {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.75rem;
    border: 1px solid var(--mud-palette-divider);
    border-left: 3px solid var(--mw-kb-card-accent, var(--mud-palette-divider));
    border-radius: var(--mud-default-borderradius);
    background: var(--mud-palette-surface);
    cursor: pointer;
    touch-action: none;
    transition: box-shadow 150ms, border-color 150ms;
}

.mw-kb-card:hover {
    box-shadow: var(--mud-elevation-2);
}

.mw-kb-card-dragging {
    opacity: 0.4;
}

.mw-kb-card-locked {
    cursor: default;
}

.mw-kb-card-locked:hover {
    box-shadow: none;
}

/* ─── Card Content ─────────────────────────────────────────────────────── */

.mw-kb-card-title {
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ─── Empty State ──────────────────────────────────────────────────────── */

.mw-kb-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60px;
    color: var(--mud-palette-text-disabled);
    font-style: italic;
    font-size: 0.8125rem;
}

/* ─── Overflow Indicator ───────────────────────────────────────────────── */

.mw-kb-overflow {
    text-align: center;
    padding: 0.375rem;
    color: var(--mud-palette-text-secondary);
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.7rem;
}
