/* 工作看板(2026-10-26 重做)。沿用后台的色板和按钮,只加看板自己的样式。前缀 bd- */
#board-root{--bd-gap:14px;padding:18px 26px 40px;max-width:1500px}
.bd-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:var(--bd-gap)}
.bd-op{flex:1;min-width:280px;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);font-size:13.5px}
.bd-op .dot{width:10px;height:10px;border-radius:50%;background:var(--s-cancel);flex-shrink:0}
.bd-op.ok .dot{background:var(--s-done);box-shadow:0 0 0 4px var(--s-done-bg)}
.bd-op.busy .dot{background:var(--s-prog);box-shadow:0 0 0 4px var(--s-prog-bg)}
.bd-op.warn{background:var(--s-wait-bg);border-color:#f0d9a8}.bd-op.warn .dot{background:var(--s-wait)}
.bd-op.off{background:var(--danger-bg);border-color:#f2c4c4}.bd-op.off .dot{background:var(--danger)}
.bd-op .bd-lock{color:var(--s-wait);font-weight:600;margin-top:2px}
.bd-op b{font-weight:600}.bd-op .sub{color:var(--muted);font-size:12.5px}.bd-op .btn{margin-left:auto;flex-shrink:0;text-decoration:none}
.bd-guide{margin:0 0 var(--bd-gap);padding:12px 14px;border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-2);font-size:13px}
.bd-guide pre{white-space:pre-wrap;word-break:break-word;font-family:var(--mono);font-size:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;max-height:280px;overflow:auto;margin:8px 0}
.bd-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:var(--bd-gap)}
.bd-card>h2{margin:0 0 10px;font-size:14.5px;font-weight:600;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bd-card>h2 .n{font-size:12px;color:var(--faint);font-weight:500}
.bd-card>h2 .sp{flex:1}
.bd-filter{display:flex;gap:6px;flex-wrap:wrap}
.bd-filter button{border:1px solid var(--border-strong);background:var(--surface);color:var(--muted);border-radius:20px;padding:2px 11px;font-size:12px}
.bd-filter button.on{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent)}
.bd-empty{color:var(--faint);font-size:13px;padding:10px 2px}
/* 种类小标签 */
.bd-k{display:inline-flex;align-items:center;font-size:11.5px;font-weight:600;border-radius:5px;padding:1px 8px;white-space:nowrap}
.bd-k.k-realname{color:#2c47b8;background:#eef1fd}
.bd-k.k-suspend{color:#9a5a05;background:#fdf2e0}
.bd-k.k-query{color:#0f766e;background:#e3f5f2}
.bd-k.k-other{color:var(--muted);background:var(--surface-2);border:1px solid var(--border)}
/* 待派活 */
.bd-cand{display:grid;grid-template-columns:76px minmax(120px,1.2fr) minmax(140px,1.6fr) 70px 110px auto;gap:10px;align-items:center;padding:8px 2px;border-top:1px solid var(--border);font-size:13px}
.bd-cand:first-of-type{border-top:none}
.bd-cand .name{font-weight:600}.bd-cand .mut{color:var(--muted);font-size:12.5px}
.bd-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:8px;padding:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}
.bd-form label{display:block;font-size:12px;color:var(--muted);margin-bottom:3px}
.bd-form input,.bd-form select{width:100%;padding:7px 9px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface)}
.bd-form .wide{grid-column:1/-1}
/* 看板列 */
.bd-cols{display:grid;grid-template-columns:repeat(5,minmax(212px,1fr));gap:12px;overflow-x:auto;padding-bottom:6px}
.bd-col{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:10px;min-height:120px}
.bd-col>h3{margin:0 0 8px;font-size:12.5px;font-weight:600;color:var(--muted);display:flex;align-items:center;justify-content:space-between;gap:6px}
.bd-col>h3 .c{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:0 8px;font-size:11.5px;color:var(--ink)}
.bd-col.hot{background:var(--danger-bg);border-color:#f2c4c4}.bd-col.hot>h3{color:var(--danger)}
.bd-col.gate{background:var(--accent-soft);border-color:#cfd8f8}.bd-col.gate>h3{color:var(--accent-ink)}
.bd-col .hint{font-size:11.5px;color:var(--faint);line-height:1.45}
.bd-task{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 10px;margin-bottom:8px;cursor:pointer;transition:border-color .12s,box-shadow .12s}
.bd-task:hover{border-color:var(--accent);box-shadow:0 2px 10px rgba(59,91,219,.12)}
.bd-task .t1{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--faint)}
.bd-task .t1 .code{font-family:var(--mono)}.bd-task .t1 .sp{flex:1}
.bd-task .who{font-weight:600;font-size:13.5px;margin:3px 0 1px;word-break:break-word}
.bd-task .ti{font-size:12.5px;color:var(--muted);word-break:break-word}
.bd-task .meta{font-size:11.5px;color:var(--faint);margin-top:5px;line-height:1.5}
.bd-task .why{margin-top:6px;font-size:12px;color:var(--danger);background:var(--danger-bg);border-radius:5px;padding:4px 7px;word-break:break-word}
.bd-task .late{color:var(--s-wait);font-weight:600}
.bd-task .acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.bd-star{border:none;background:transparent;color:var(--s-cancel);font-size:15px;line-height:1;padding:0 2px;cursor:pointer}
.bd-star.on{color:#e0a100}
.bd-done-row{display:grid;grid-template-columns:70px 64px minmax(110px,1fr) minmax(160px,2fr) 100px;gap:10px;align-items:center;padding:7px 2px;border-top:1px solid var(--border);font-size:13px;cursor:pointer}
.bd-done-row:first-child{border-top:none}.bd-done-row:hover{background:var(--surface-2)}
.bd-done-row .mut{color:var(--muted);font-size:12.5px}
.bd-chip{display:inline-flex;align-items:center;font-size:11.5px;font-weight:600;border-radius:20px;padding:2px 9px;white-space:nowrap}
.bd-chip.done{color:var(--s-done);background:var(--s-done-bg)}.bd-chip.cancelled{color:var(--s-cancel);background:var(--s-cancel-bg)}
/* 详情抽屉 */
.bd-ov{position:fixed;inset:0;background:rgba(20,26,40,.35);z-index:60;display:flex;justify-content:flex-end}
.bd-drawer{width:620px;max-width:96vw;background:var(--bg);height:100%;overflow:auto;box-shadow:-8px 0 32px rgba(20,26,40,.18)}
.bd-dh{position:sticky;top:0;background:var(--surface);border-bottom:1px solid var(--border);padding:14px 20px;display:flex;align-items:center;gap:10px;z-index:2}
.bd-dh h2{margin:0;font-size:16px;font-weight:600;flex:1}
.bd-db{padding:16px 20px;display:flex;flex-direction:column;gap:14px}
.bd-kv{display:grid;grid-template-columns:92px 1fr;gap:6px 12px;font-size:13px}.bd-kv .k{color:var(--faint)}
.bd-tl{list-style:none;margin:0;padding:0}
.bd-tl li{display:grid;grid-template-columns:92px 1fr;gap:4px 12px;padding:6px 0;border-top:1px solid var(--border);font-size:13px}
.bd-tl li:first-child{border-top:none}.bd-tl .at{color:var(--faint);font-family:var(--mono);font-size:12px}
.bd-tl .who{color:var(--muted);font-size:12px}
.bd-files{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.bd-file{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden;font-size:11.5px;color:var(--muted);display:block}
.bd-file img{display:block;width:100%;height:96px;object-fit:cover;background:var(--surface-2)}
.bd-file .nm{padding:4px 7px;word-break:break-all}
.bd-pre{white-space:pre-wrap;word-break:break-word;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 11px;font-size:12.5px;margin:0}
.bd-note{display:flex;gap:8px}.bd-note input{flex:1;padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm)}
.bd-acts{display:flex;gap:8px;flex-wrap:wrap}
.btn.warn{background:var(--s-wait);border-color:var(--s-wait)}.btn.danger{background:var(--danger);border-color:var(--danger)}
@media (max-width:900px){
  #board-root{padding:14px 12px 40px}
  .bd-cand{grid-template-columns:1fr auto;grid-auto-flow:row}
  .bd-cand>*:not(:first-child):not(:last-child){grid-column:1/2}
  .bd-done-row{grid-template-columns:60px 1fr 80px}.bd-done-row>*:nth-child(3),.bd-done-row>*:nth-child(4){display:none}
}
