/* 批量放入镜头 */
.bs-modal{max-width:960px;width:94vw}
.bs-toolbar{display:flex;gap:8px;align-items:center;margin:8px 0;flex-wrap:wrap}
.bs-file-list{max-height:46vh;overflow:auto;border:1px solid var(--line,#2a3646);border-radius:8px;padding:4px}
.bs-file-row{display:flex;gap:8px;align-items:center;padding:6px 8px;border-radius:6px;cursor:pointer}
.bs-file-row:hover{background:rgba(255,255,255,.04)}
.bs-file-row span{flex:1;word-break:break-all}
.bs-table-wrap{max-height:52vh;overflow:auto;border:1px solid var(--line,#2a3646);border-radius:8px}
.bs-table{width:100%;border-collapse:collapse;font-size:13px}
.bs-table th,.bs-table td{padding:8px 10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line,#2a3646)}
.bs-table th{position:sticky;top:0;background:var(--surface)}
.bs-table select{max-width:220px}
.bs-row-blocked td{background:rgba(255,180,0,.05)}
.bs-warn{color:var(--warm)}
.bs-ok{color:var(--teal)}
.bs-state{font-weight:600}
.bs-state.bs-done{color:var(--teal)}
.bs-state.bs-failed,.bs-state.bs-unknown{color:var(--danger)}
.bs-state.bs-sending{color:var(--teal)}
.bs-records{margin-bottom:10px}
.bs-record-row{display:flex;gap:8px;align-items:center;margin-top:6px;flex-wrap:wrap}

.bs-thumb{display:block;width:112px;margin-bottom:8px}.bs-thumb img{display:block;width:112px;height:70px;object-fit:contain;background:var(--soft)}.bs-thumb span{font-size:11px}.bs-table select{min-width:128px;width:100%}.bs-table th{color:var(--ink);z-index:1}.bs-table td:first-child{min-width:165px;overflow-wrap:anywhere}.bs-file-row:hover{background:var(--teal-soft)}
@media(max-width:700px){.bs-modal{width:calc(100vw - 20px)}.bs-file-row{align-items:flex-start;flex-wrap:wrap}.bs-table th,.bs-table td{padding:8px}.bs-table-wrap{max-height:48vh}}
