/* 批量流转弹窗（C2.189，任务总览页）
 *
 * 勾选任务条往前推一步。列表不自己滚：交给 .modal-b（弹窗本来就有视口上限，见 modal.css）。
 */

/* 任务 / 等级 / 剪辑师筛选（C2.191 / C2.197）
 *
 * 92 条任务条平铺下来，找某个人、某个任务全靠眼睛——加上下拉，范围一收就只剩几行。
 * 任务名往往很长（`南瓜1号🎃 Halloween Tours - Final Countdown`），下拉里必然截断，
 * 所以每个 option 都带 title：截断处悬停能看到全名，不至于选错期数。
 *
 * 三个下拉要在 760px 里排进同一行（换行会把状态条挤到第二屏去）：
 * 任务吃 230、等级只要 132（等级值最多三个字母 + 括号计数）、剪辑师 180。
 */
.bf-filters{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin:2px 0 0}
.bf-f{display:flex;align-items:center;gap:6px;margin:0;font-size:12.5px;color:var(--txt3)}
.bf-f>span{white-space:nowrap}
.bf-f select{width:auto;height:30px;min-width:150px;max-width:230px;padding:0 26px 0 9px;
  font-size:12.5px;color:var(--txt);background-color:var(--panel);
  border:1px solid var(--line2);border-radius:7px;transition:border-color .12s}
.bf-f select[data-bf="f-level"]{min-width:116px;max-width:132px}
.bf-f select[data-bf="f-editor"]{max-width:180px}
.bf-f select:hover{border-color:var(--line3)}
.bf-f select:focus-visible{outline:none;border-color:var(--line3);
  box-shadow:0 0 0 3px rgba(154,164,178,.16)}
.bf-filters .btn{margin-left:auto}

.bf-sum{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:10px 0 10px}
.bf-sum .is-zero{opacity:.45}

.bf-err{margin:0 0 10px;padding:8px 10px;border:1px solid var(--line-red);border-radius:8px;
  background:var(--red-d);color:var(--red);font-size:12.5px;line-height:1.6}
.bf-err ul{margin:4px 0 0;padding-left:18px}

.bf-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:9px;overflow:hidden}
.bf-row{display:grid;grid-template-columns:26px 128px minmax(0,1.7fr) 88px 76px 88px minmax(0,1fr);
  align-items:center;gap:8px;padding:7px 10px;font-size:12.5px;color:var(--txt2);
  border-bottom:1px solid var(--line);cursor:pointer}
.bf-row:last-child{border-bottom:none}
.bf-row:hover{background:var(--hover)}
.bf-row.is-stuck{cursor:default;color:var(--txt3)}
.bf-row.is-stuck:hover{background:transparent}
.bf-row input[type="checkbox"]{justify-self:center;cursor:inherit}
.bf-acc{color:var(--txt);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bf-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bf-ed{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bf-time{font-variant-numeric:tabular-nums;color:var(--txt3)}
.bf-why{color:var(--txt3);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* 状态药丸：沿用矩阵那套色（mute/pend/run/ok/no） */
.bf-stage{justify-self:start;font-size:11.5px;font-weight:600;padding:1px 8px;border-radius:999px;
  border:1px solid var(--line);background:var(--soft);white-space:nowrap}
.bf-stage.is-pend{color:var(--blue);border-color:var(--line-blue);background:var(--blue-d)}
.bf-stage.is-run{color:var(--amber);border-color:var(--line-amber);background:var(--amber-d)}
.bf-stage.is-ok{color:var(--green);border-color:var(--line-green);background:var(--green-d)}
.bf-stage.is-no{color:var(--red);border-color:var(--line-red);background:var(--red-d)}
.bf-stage.is-mute{color:var(--txt3)}

/* 底部操作条：滚动时贴在弹窗底部，勾完不用再翻回去找按钮 */
.bf-bar{position:sticky;bottom:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  margin:10px -20px -5px;padding:10px 20px;background:var(--panel);
  border-top:1px solid var(--line)}
.bf-count{font-size:12.5px;color:var(--txt2);margin-right:auto}
.bf-hint{font-size:12px;color:var(--amber)}

@media (max-width:720px){
  .bf-row{grid-template-columns:24px 1fr 1fr;row-gap:2px}
  .bf-title,.bf-ed,.bf-time,.bf-why{grid-column:2/-1}
}
