/* Branch Operations, drawn by app/branch-operations.js: branch tabs, the
   board toolbar, four kanban columns, cards and the card dialog's assignment
   picker. Reuses the Tasks page tabs/fields and the shared .branch-accent
   colours; nothing here restyles another page. */
.bo-tabs button{display:inline-flex;align-items:center;gap:7px}
.bo-tabs button[aria-selected="true"]{border-bottom-color:var(--branch-color)}
.bo-privacy{margin:-6px 0 14px;color:var(--muted);font-size:13px}
.bo-toolbar{gap:10px}
.bo-board-title{margin:0 6px 0 0;font:700 18px "Poppins",sans-serif}
.bo-segment{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}
.bo-segment button{padding:5px 10px;border:0;border-radius:6px;background:none;color:var(--muted);font:600 12.5px "Bricolage Grotesque",sans-serif;cursor:pointer}
.bo-segment button[aria-pressed="true"]{background:var(--ink);color:#fff}
.bo-segment button:focus-visible{outline:2px solid #ff2365;outline-offset:1px}

.bo-board{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:12px;align-items:start;overflow-x:auto;padding-bottom:6px}
.bo-column{display:grid;grid-template-rows:auto 1fr;min-width:0;border:1px solid var(--line);border-top:4px solid var(--branch-color);border-radius:12px;background:#faf9f6}
.bo-column header{display:flex;align-items:center;gap:8px;padding:10px 10px 8px 12px}
.bo-column h3{margin:0;font:700 13.5px "Poppins",sans-serif}
.bo-count{min-width:20px;padding:1px 7px;border-radius:999px;background:var(--branch-soft);color:var(--ink);font-size:11.5px;font-weight:700;text-align:center;font-variant-numeric:tabular-nums}
.bo-column-add{width:26px;height:26px;margin-left:auto;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font-size:16px;line-height:1;cursor:pointer}
.bo-column-add:hover,.bo-column-add:focus-visible{border-color:var(--branch-color);outline:none}
.bo-cards{display:grid;gap:8px;min-height:90px;padding:4px 8px 10px;border-radius:0 0 11px 11px;transition:background .15s ease}
.bo-cards.is-drop-target{background:color-mix(in srgb,var(--branch-soft) 55%,#fff);box-shadow:inset 0 0 0 2px var(--branch-color)}
.bo-empty{margin:6px 4px;color:var(--muted);font-size:12px}

.bo-card{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 2px 6px rgba(45,45,47,.05);cursor:grab}
.bo-card:hover{border-color:color-mix(in srgb,var(--branch-color) 45%,var(--line))}
.bo-card.is-mine{box-shadow:inset 3px 0 var(--branch-color),0 2px 6px rgba(45,45,47,.05)}
.bo-card.is-dragging{opacity:.45}
.bo-card.is-saving{opacity:.7;cursor:progress}
.bo-card-open{min-width:0;padding:0;border:0;background:none;color:var(--ink);font:600 13.5px "Bricolage Grotesque",sans-serif;line-height:1.35;text-align:left;overflow-wrap:anywhere;cursor:pointer}
.bo-card-open:hover{text-decoration:underline}
.bo-card-open:focus-visible{border-radius:4px;outline:2px solid var(--branch-color);outline-offset:2px}
.bo-card-notes{margin:0;color:var(--muted);font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.bo-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.bo-due{padding:2px 7px;border-radius:999px;background:#f1f0eb;color:var(--ink);font-size:11px;font-weight:600}
.bo-due.is-overdue{background:#ffe1e4;color:#a4232f}
.bo-avatars{display:inline-flex;margin-left:auto}
.bo-avatar{display:inline-grid;place-items:center;width:24px;height:24px;flex:none;margin-left:-5px;border:2px solid #fff;border-radius:50%;background:var(--branch-color);color:var(--branch-ink);font:700 9.5px "Poppins",sans-serif}
.bo-avatar:first-child{margin-left:0}
.bo-avatar.is-guest{border:2px dashed var(--branch-color);background:#fff;color:var(--ink)}
.bo-avatar.is-more{background:#e9e8e3;color:var(--ink)}

.bo-card-form .bo-assign{display:grid;gap:8px;margin:0;padding:12px;border:1px solid var(--line);border-radius:12px}
.bo-card-form .bo-assign legend{padding:0 4px;font-weight:700}
.bo-assign-group{margin:4px 0 0;font-size:12px;font-weight:700}
.bo-assign-group small{color:var(--muted);font-weight:500}
.bo-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.bo-person{--branch-color:#2d2d2f;--branch-ink:#fff;display:flex!important;align-items:center;gap:8px;margin:0!important;padding:6px 8px;border:1px solid var(--line);border-radius:9px;cursor:pointer;text-transform:none!important;letter-spacing:0!important}
.bo-person:has(input:checked){border-color:#2d2d2f;background:#f6f5f1}
.bo-person input{width:auto!important;margin:0}
.bo-person .bo-avatar{margin-left:0}
.bo-person span:last-child{display:grid;min-width:0}
.bo-person strong{overflow:hidden;font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}
.bo-person small{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.bo-assign-note{margin:0;color:#a06416;font-size:12px}
.bo-others{display:grid!important;gap:4px;margin:4px 0 0!important}
.bo-others small{color:var(--muted);font-size:11px;font-weight:500;text-transform:none;letter-spacing:0}
.bo-card-history{margin:10px 0 0;color:var(--muted);font-size:12px}
.bo-card-form .form-actions{display:flex;align-items:center;gap:8px}
.bo-spacer{flex:1}

@media(max-width:760px){
  .bo-board{grid-template-columns:repeat(4,minmax(240px,82vw));scroll-snap-type:x mandatory}
  .bo-column{scroll-snap-align:start}
  .bo-people{grid-template-columns:1fr}
  .bo-toolbar .tasks-controls-end{margin-left:0}
}
