/* FTA work stages: open lanes and a readable index for folded columns.
   Uses the shared light/dark tokens; status and priority colors remain data-driven. */
main.kanban-page[data-kanban-design="stages"] {
    --kanban-stage-accent: #236b60;
    background: var(--kanban-bg);
}
:is(.dxbl-theme-dark, .dxbl-theme-fluent-mode-dark) main.kanban-page[data-kanban-design="stages"] {
    --kanban-stage-accent: #83d4c3;
}
/* Match the dark board's distinct canvas/card surfaces in light mode.
   Exclude dark ancestors as well as full-page themes for scoped previews. */
main.kanban-page[data-kanban-design="stages"]:not(.dxbl-theme-dark *):not(.dxbl-theme-fluent-mode-dark *) {
    --kanban-bg: #e3eee8;
    --kanban-card: #ffffff;
}
main.kanban-page[data-kanban-design="stages"] .kanban-header h1 {
    font-size: clamp(1.4rem, 2.2vw, 2rem);
    font-weight: 650;
    letter-spacing: -.025em;
}
main.kanban-page[data-kanban-design="stages"] .kanban-toolbar {
    border-radius: .3rem;
    box-shadow: none;
    border-width: 0 0 1px;
    background: transparent;
    padding: .6rem 0 .85rem;
}
main.kanban-page[data-kanban-design="stages"] .kanban-overview-actions {
    border-bottom: 1px solid var(--kanban-border);
    padding-bottom: .75rem;
    margin-bottom: 1.1rem;
}
main.kanban-page[data-kanban-design="stages"] .kanban-board {
    gap: 1rem;
    align-items: stretch;
}
main.kanban-page[data-kanban-design="stages"] .kanban-board .kanban-column {
    background: transparent;
    border: 0;
    border-radius: 0;
    gap: .7rem;
    overflow: visible;
    min-height: 12rem;
}
main.kanban-page[data-kanban-design="stages"] .kanban-board .kanban-column-header {
    background: transparent;
    border: 0;
    border-top: 3px solid var(--column-color);
    border-bottom: 1px solid var(--kanban-border);
    border-radius: 0;
    gap: .5rem;
    min-height: 3.6rem;
    padding: .65rem .25rem;
}
main.kanban-page[data-kanban-design="stages"] .kanban-column-title {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .4rem;
    flex: 1 1 auto;
}
main.kanban-page[data-kanban-design="stages"] .kanban-stage-number {
    color: var(--kanban-muted);
    font-size: .68rem;
    font-weight: 650;
    font-variant-numeric: tabular-nums;
    order: 0;
}
main.kanban-page[data-kanban-design="stages"] .kanban-column-title strong {
    font-size: .87rem;
    font-weight: 700;
    order: 1;
    white-space: normal;
    overflow-wrap: anywhere;
}
main.kanban-page[data-kanban-design="stages"] .kanban-column-toggle {
    order: 2;
    width: 1.75rem;
    height: 1.75rem;
    color: var(--kanban-muted);
    border: 1px solid var(--kanban-border);
}
main.kanban-page[data-kanban-design="stages"] .kanban-column-toggle:focus-visible,
main.kanban-page[data-kanban-design="stages"] .kanban-column-add:focus-visible {
    outline: 2px solid var(--kanban-stage-accent);
    outline-offset: 2px;
}
main.kanban-page[data-kanban-design="stages"] .kanban-board .kanban-column-count {
    background: transparent;
    border: 0;
    border-radius: 0;
    color: var(--kanban-text);
    font-size: 1.2rem;
    font-weight: 650;
    font-variant-numeric: tabular-nums;
    line-height: 1;
    padding: .15rem;
    white-space: nowrap;
}
main.kanban-page[data-kanban-design="stages"] .kanban-column-count small {
    font-size: .7rem;
    font-weight: 400;
}
main.kanban-page[data-kanban-design="stages"] .kanban-cards {
    padding: .15rem .15rem .6rem;
    gap: .7rem;
}
main.kanban-page[data-kanban-design="stages"] .kanban-board .kanban-column-footer {
    border-top: 1px solid var(--kanban-border);
    margin-top: 0;
    padding: .4rem .15rem;
}
main.kanban-page[data-kanban-design="stages"] .kanban-column-add {
    color: var(--kanban-muted);
}
main.kanban-page[data-kanban-design="stages"] .kanban-wip-warning {
    margin: 0 .15rem;
    font-weight: 600;
}
main.kanban-page[data-kanban-design="stages"] .kanban-board .kanban-column.drag-over {
    background: color-mix(in srgb, var(--kanban-stage-accent) 10%, var(--kanban-bg));
    box-shadow: inset 0 0 0 2px var(--kanban-stage-accent);
}

/* The folded lane is a vertical issue index, never a grid of priority tiles. */
main.kanban-page[data-kanban-design="stages"] .kanban-board .kanban-column.collapsed {
    flex: 0 0 10rem;
    width: 10rem;
    border-bottom: 1px solid var(--kanban-border);
    background: color-mix(in srgb, var(--kanban-card) 55%, var(--kanban-bg));
}
main.kanban-page[data-kanban-design="stages"] .kanban-board .collapsed .kanban-column-header {
    align-items: start;
    flex-wrap: wrap;
    padding: .6rem .55rem;
    gap: .55rem;
}
main.kanban-page[data-kanban-design="stages"] .collapsed .kanban-column-title {
    grid-template-columns: minmax(0, 1fr) auto;
    width: 100%;
}
main.kanban-page[data-kanban-design="stages"] .collapsed .kanban-stage-number {
    grid-column: 1;
    grid-row: 1;
}
main.kanban-page[data-kanban-design="stages"] .collapsed .kanban-column-toggle {
    grid-column: 2;
    grid-row: 1;
}
main.kanban-page[data-kanban-design="stages"] .collapsed .kanban-column-title strong {
    grid-column: 1 / -1;
    grid-row: 2;
    max-width: none;
    width: 100%;
    line-height: 1.35;
}
main.kanban-page[data-kanban-design="stages"] .kanban-collapsed-cards {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0 .55rem;
    min-height: 4rem;
}
main.kanban-page[data-kanban-design="stages"] .kanban-collapsed-card {
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--kanban-border);
    border-radius: 0;
    box-shadow: none;
    color: var(--kanban-text);
    display: flex;
    flex-direction: column;
    gap: .3rem;
    height: auto;
    min-height: 5.5rem;
    padding: .55rem .1rem;
    text-align: left;
    width: 100%;
}
main.kanban-page[data-kanban-design="stages"] .kanban-collapsed-card:last-child {
    border-bottom: 0;
}
main.kanban-page[data-kanban-design="stages"] .kanban-collapsed-card:hover,
main.kanban-page[data-kanban-design="stages"] .kanban-collapsed-card:focus-visible {
    background: color-mix(in srgb, var(--kanban-stage-accent) 9%, transparent);
    outline: 2px solid var(--kanban-stage-accent);
    outline-offset: 1px;
    transform: none;
}
main.kanban-page[data-kanban-design="stages"] .kanban-collapsed-card-reference {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: .2rem .35rem;
    width: 100%;
    font-size: .65rem;
}
main.kanban-page[data-kanban-design="stages"] .kanban-collapsed-card-reference strong {
    font-weight: 750;
    overflow-wrap: anywhere;
}
main.kanban-page[data-kanban-design="stages"] .kanban-collapsed-priority {
    align-items: center;
    color: var(--kanban-muted);
    display: inline-flex;
    gap: .25rem;
    font-size: .6rem;
    overflow-wrap: anywhere;
}
main.kanban-page[data-kanban-design="stages"] .kanban-collapsed-priority i {
    background: var(--priority-color);
    border-radius: 50%;
    flex: 0 0 .45rem;
    width: .45rem;
    height: .45rem;
    outline: 1px solid color-mix(in srgb, var(--kanban-text) 20%, transparent);
}
main.kanban-page[data-kanban-design="stages"] .kanban-collapsed-card-summary {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    overflow-wrap: anywhere;
    font-size: .74rem;
    line-height: 1.35;
}
main.kanban-page[data-kanban-design="stages"] .kanban-collapsed-card-owner {
    display: flex;
    align-items: center;
    gap: .3rem;
    max-width: 100%;
    color: var(--kanban-muted);
    font-size: .64rem;
}
main.kanban-page[data-kanban-design="stages"] .kanban-collapsed-card-owner > span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
main.kanban-page[data-kanban-design="stages"] .kanban-collapsed-card-owner .kanban-avatar {
    flex: 0 0 1.1rem;
    width: 1.1rem;
    height: 1.1rem;
    font-size: .5rem;
}
main.kanban-page[data-kanban-design="stages"] .kanban-collapsed-empty {
    color: var(--kanban-muted);
    font-size: .74rem;
    line-height: 1.5;
    padding: .75rem .15rem;
}
main.kanban-page[data-kanban-design="stages"] .kanban-board .collapsed .kanban-column-footer {
    border-top: 0;
    padding: .3rem .55rem;
}
@media (prefers-reduced-motion: reduce) {
    main.kanban-page[data-kanban-design="stages"] .kanban-column {
        transition: none;
    }
}

/* Assignee groups follow the same checkbox in expanded and folded lanes. */
main.kanban-page[data-kanban-design="stages"] .kanban-collapsed-swimlane {
    min-width: 0;
    padding-bottom: .3rem;
}
main.kanban-page[data-kanban-design="stages"] .kanban-collapsed-swimlane + .kanban-collapsed-swimlane {
    border-top: 1px solid var(--kanban-border);
    margin-top: .4rem;
    padding-top: .4rem;
}
main.kanban-page[data-kanban-design="stages"] .kanban-collapsed-swimlane-header {
    align-items: center;
    background: color-mix(in srgb, var(--kanban-stage-accent) 8%, transparent);
    border-radius: .2rem;
    color: var(--kanban-text);
    display: flex;
    gap: .3rem;
    min-width: 0;
    padding: .35rem .2rem;
}
main.kanban-page[data-kanban-design="stages"] .kanban-collapsed-swimlane-header .kanban-avatar {
    flex: 0 0 1.1rem;
    font-size: .5rem;
    height: 1.1rem;
    width: 1.1rem;
}
main.kanban-page[data-kanban-design="stages"] .kanban-collapsed-swimlane-name {
    flex: 1 1 auto;
    font-size: .66rem;
    font-weight: 700;
    min-width: 0;
    overflow-wrap: anywhere;
}
main.kanban-page[data-kanban-design="stages"] .kanban-collapsed-swimlane-count {
    color: var(--kanban-muted);
    flex: 0 0 auto;
    font-size: .65rem;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
}
main.kanban-page[data-kanban-design="stages"] .kanban-collapsed-swimlane .kanban-collapsed-card {
    min-height: 4rem;
    padding: .45rem .1rem;
}
