/* ===========================================================
   kanban.css — full-width task board (view id: kanban).
   Additive only: reuses .filter-bar / .chip / .fld / .pill /
   .prio-* / .count-note from styles.css; everything new is
   namespaced .tkb-* so it can't collide with the loc kanban.
   =========================================================== */

/* Board: 6 equal columns filling the viewport; sideways scroll below 190px each */
.tkb-board{display:grid;grid-template-columns:repeat(6,minmax(190px,1fr));gap:10px;align-items:start;overflow-x:auto;padding-bottom:8px}

/* Columns — loc-board surface plus a status-coloured accent bar along the top */
.tkb-col{position:relative;background:#f8f3ea;border:1px solid var(--line);border-radius:12px;padding:12px 8px 6px;min-width:0;overflow:hidden}
.tkb-col::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--ns)}
.tkb-c-in-progress::before,.tkb-c-in-progress .tkb-dot{background:var(--prog)}
.tkb-c-blocked::before,.tkb-c-blocked .tkb-dot{background:var(--block)}
.tkb-c-on-hold::before,.tkb-c-on-hold .tkb-dot{background:var(--hold)}
.tkb-c-complete::before,.tkb-c-complete .tkb-dot{background:var(--done)}
.tkb-c-not-applicable::before,.tkb-c-not-applicable .tkb-dot{background:var(--grey)}
.tkb-col.drop-over{outline:2px dashed var(--brand);outline-offset:-3px;background:#fbeede}

.tkb-col h4{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 2px 8px}
.tkb-h-l{display:inline-flex;align-items:center;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tkb-dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--ns)}
.tkb-h-r{display:inline-flex;align-items:baseline;gap:6px;flex:none}
.tkb-n{font-weight:700}
.tkb-hrs{font-size:10px;font-weight:600;color:var(--faint);text-transform:none;letter-spacing:0}

/* Column body scrolls on its own so a long lane never stretches the page */
.tkb-body{max-height:calc(100vh - 320px);overflow-y:auto;padding:1px 1px 2px;scrollbar-width:thin}
.tkb-empty{border:1.5px dashed var(--line-2);border-radius:10px;padding:20px 8px;text-align:center;color:var(--faint);font-size:11.5px}
.tkb-more{display:block;width:100%;margin-top:2px;text-align:center}

/* Cards — compact density (12–13px), same feel as .kan-card */
.tkb-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 9px;margin-bottom:6px;box-shadow:0 1px 2px rgba(90,58,18,.06);cursor:pointer;font-size:12px}
.tkb-card[draggable="true"]{cursor:grab}
.tkb-card:hover{border-color:var(--brand)}
.tkb-card:focus-visible{outline:2px solid var(--brand);outline-offset:1px}
.tkb-card.dragging{opacity:.45}

.tkb-top{display:flex;align-items:center;gap:5px;min-width:0}
.tkb-id{font-family:var(--fm);font-size:10.5px;color:var(--muted);margin-right:auto}
.tkb-top .pill{font-size:9.5px;padding:1px 7px;flex:none}
.tkb-crit{font-size:10px;flex:none}
.tkb-new{flex:none;font-size:9px;font-weight:800;letter-spacing:.06em;background:rgba(79,143,63,.16);color:var(--done);padding:1px 6px;border-radius:999px}

.tkb-name{font-weight:600;font-size:12.5px;line-height:1.3;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.tkb-meta{display:flex;flex-wrap:wrap;align-items:center;gap:3px 8px;margin-top:5px;font-size:11px;color:var(--muted)}
.tkb-owner{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:110px}
.tkb-unassigned{background:rgba(224,146,31,.16);color:#9a5f08;padding:1px 7px;border-radius:999px;font-weight:700;font-size:9.5px;text-transform:uppercase;letter-spacing:.03em}
.tkb-due{white-space:nowrap}
.tkb-due-late{color:var(--red);font-weight:700}
.tkb-ws{background:#f1ece3;color:#847761;padding:1px 7px;border-radius:6px;font-size:10px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tkb-pct{font-size:10px;font-weight:700;color:var(--prog)}

/* Inline owner quick-assign — mirrors .kan-st */
.tkb-assign{width:100%;margin-top:6px;font-size:11px;padding:2px 5px;border:1px solid var(--line-2);border-radius:6px;background:#fff;color:var(--ink);cursor:pointer}
.tkb-assign:disabled{opacity:.6;cursor:default}

.tkb-foot{margin:10px 2px 0}
