.kanban-wrap{min-width:0;position:relative}.kanban{grid-template-columns:repeat(var(--kanban-cols,4), minmax(14rem, 1fr));overscroll-behavior-x:contain;align-items:start;gap:.75rem;padding-bottom:.75rem;display:grid;overflow-x:auto}.kanban-col{background:color-mix(in srgb, var(--mist-soft) 70%, var(--paper));border:1px solid var(--line-strong);border-radius:var(--r-m);flex-direction:column;min-height:max(12rem,100dvh - 19rem);padding:.5rem;transition:background-color .12s,box-shadow .12s;display:flex}.kanban-col.is-over{background:var(--lavender-soft);box-shadow:inset 0 0 0 2px var(--lavender)}.kanban-col.is-blocked{background:var(--danger-soft);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--danger) 45%, transparent)}.kanban-col-head{flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem;padding:.25rem .4rem .6rem;display:flex}.kanban-col-head h3{font-size:var(--t-s);letter-spacing:0;margin:0;font-weight:640}.kanban-count{color:var(--ink-3);font-variant-numeric:tabular-nums;margin-left:.15rem;font-weight:560}.kanban-wip{font-size:var(--t-xs);color:var(--ink-3);margin-left:auto}.kanban-wip.over{color:var(--warn);background:var(--warn-soft);border-radius:999px;padding:0 .45rem;font-weight:650}.kanban-note{font-size:var(--t-xs);color:var(--ink-3);flex-basis:100%}.kanban-list{flex:1;align-content:start;gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.kanban-empty{color:var(--ink-3);font-size:var(--t-xs);text-align:center;border:1px dashed color-mix(in srgb, var(--mist) 70%, transparent);border-radius:var(--r-m);padding:1.5rem .5rem}.kanban-slot{border:2px dashed var(--navy-2);border-radius:var(--r-m);font-size:var(--t-xs);color:var(--navy);text-align:center;padding:.9rem .75rem;font-weight:600}.kanban-col.is-blocked .kanban-slot{border-color:var(--danger);color:var(--danger)}.kanban-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-m);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:pan-x pan-y;align-items:flex-start;gap:.35rem;padding:.4rem .4rem .4rem .5rem;line-height:1.35;transition:box-shadow .12s,border-color .12s;display:flex;position:relative}.kanban-card:hover{border-color:color-mix(in srgb, var(--mist) 80%, var(--navy));box-shadow:0 2px 6px #122b5014}.kanban-card:focus-visible{border-radius:var(--r-m);box-shadow:var(--focus)}.kanban-card.selected{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy);background:color-mix(in srgb, var(--lavender-soft) 55%, var(--white))}.kanban-card.lifted{box-shadow:var(--focus), 0 14px 28px #122b5033;border-color:var(--navy);cursor:grabbing}.kanban-card.drag-source{opacity:.35}.kanban-card-body{flex:1;min-width:0;padding-top:.1rem}.kanban-card-body p{margin:0}.kanban-card-body>*+*{margin-top:.2rem}.kanban-check{cursor:pointer;flex:none;place-items:center;width:1.5rem;height:1.5rem;display:inline-grid}.kanban-move{flex:none}.kanban-move-btn{min-height:1.5rem;padding:0 .4rem;line-height:1}.kanban-ghost{z-index:70;pointer-events:none;position:fixed;transform:rotate(1.5deg)}.kanban-ghost .kanban-card{cursor:grabbing}body.kanban-dragging,body.kanban-dragging *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}.kanban-card.settle{animation:.38s cubic-bezier(.2,.9,.25,1.15) kanban-settle}@keyframes kanban-settle{0%{box-shadow:0 0 0 2px var(--lavender), 0 14px 28px #122b5033;transform:translateY(-6px)scale(1.03)}to{transform:none;box-shadow:0 0 #0000}}@media (pointer:coarse){.kanban-move-btn,.kanban-check{min-width:2.75rem;min-height:2.75rem}}@media (width<=800px){.kanban{scroll-snap-type:x mandatory;grid-template-columns:none;grid-auto-columns:min(85vw,22rem);grid-auto-flow:column;scroll-padding-inline:.25rem}.kanban-col{scroll-snap-align:start}}.menu{z-index:60;background:var(--white);min-width:13rem;max-width:min(22rem,100vw - 16px);max-height:min(70vh,26rem);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-m);margin:0;padding:.3rem;list-style:none;position:fixed;overflow-y:auto;box-shadow:0 14px 36px #122b5033}.menu button{text-align:left;width:100%;font:inherit;font-size:var(--t-s);color:inherit;border-radius:var(--r-s);cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:baseline;gap:1rem;padding:.5rem .65rem;display:flex}.menu button:hover:not(:disabled),.menu button:focus-visible{background:var(--lavender-soft);box-shadow:none}.menu button:focus-visible{box-shadow:inset 0 0 0 2px var(--navy)}.menu button:disabled{color:var(--ink-3);cursor:not-allowed}.menu button.danger{color:var(--danger)}.menu-hint{color:var(--ink-3);font-size:var(--t-xs);white-space:nowrap}dialog.overlay{color:var(--ink);background:var(--white);border:0;max-width:100vw;max-height:100dvh;padding:0}dialog.overlay::backdrop{background:#122b5052}dialog.overlay.drawer{height:100dvh;width:min(var(--overlay-width,560px), 100vw);margin:0 0 0 auto;animation:.18s cubic-bezier(.2,.8,.2,1) overlay-in-right;box-shadow:-18px 0 40px #122b5029}dialog.overlay.modal{width:min(var(--overlay-width,560px), calc(100vw - 2rem));border-radius:var(--r-m);max-height:80vh;margin-top:12vh;box-shadow:0 24px 60px #122b5047}.overlay-frame{height:100%;max-height:inherit;flex-direction:column;display:flex}.overlay-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.25rem .75rem;display:flex}.overlay-head h2{font-size:var(--t-m);margin:0}.overlay-sub{margin-top:.35rem}.overlay-body{flex:1;padding:1rem 1.25rem 1.5rem;overflow-y:auto}.overlay-foot{border-top:1px solid var(--line);background:var(--white);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem 1.25rem;display:flex}dialog.overlay.modal .overlay-frame{max-height:80vh}@keyframes overlay-in-right{0%{opacity:.4;transform:translate(24px)}to{opacity:1;transform:none}}.toasts{z-index:80;pointer-events:none;gap:.5rem;max-width:min(30rem,100vw - 2rem);display:grid;position:fixed;bottom:1rem;left:1rem}.toast-stack{gap:.5rem;display:grid}.toast{pointer-events:auto;border-radius:var(--r-m);background:var(--navy);color:var(--white);font-size:var(--t-s);align-items:center;gap:.75rem;padding:.65rem .5rem .65rem 1rem;animation:.16s ease-out toast-in;display:flex;box-shadow:0 12px 32px #122b5047}.toast.ok{box-shadow:inset 4px 0 #7fd1a8,0 12px 32px #122b5047}.toast.danger{background:var(--danger)}.toast-message{flex:1}.toast-action{min-height:1.75rem;font:inherit;color:var(--lavender);border-radius:var(--r-s);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:.3rem .5rem;font-weight:650;text-decoration:underline}.toast.danger .toast-action{color:var(--white)}.toast-close{min-width:2rem;min-height:2rem;font:inherit;color:inherit;opacity:.75;border-radius:var(--r-s);cursor:pointer;background:0 0;border:0;padding:.25rem .5rem;font-size:1.2rem;line-height:1}.toast-close:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (width<=600px){.toasts{max-width:none;bottom:.5rem;left:.5rem;right:.5rem}}
