.pipeline-batch { margin:24px 20px; padding:24px; border:1px solid var(--line,#d9e3f3); border-radius:16px; background:var(--surface,#fff); color:var(--ink,#17233d); }
.pipeline-batch-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.pipeline-batch-badge { display:inline-block; font-size:11px; font-weight:700; letter-spacing:.12em; color:var(--primary,#326bff); margin-bottom:8px; }
.pipeline-batch { scroll-margin-top:95px; }
.pipeline-batch-heading h3 { margin:0 0 8px; font-size:22px; line-height:1.4; }
.pipeline-batch-heading p,.pipeline-batch-note,.pipeline-batch-privacy { margin:0; font-size:14px; line-height:1.7; color:var(--muted,#586b89); }
.pipeline-batch-drop { display:flex; flex-wrap:wrap; align-items:center; gap:12px 18px; padding:20px; margin:20px 0 16px; border:1px dashed var(--line-strong,#c9d8ef); background:var(--bg,#f7f9fd); border-radius:12px; }
.pipeline-batch-drop.is-dragover { border-color:var(--primary,#326bff); outline:2px solid var(--primary,#326bff); outline-offset:2px; }
.pipeline-batch-choose { position:relative; overflow:hidden; cursor:pointer; }
.pipeline-batch-choose input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.pipeline-batch-choose:focus-within { outline:2px solid var(--primary,#326bff); outline-offset:3px; }
.pipeline-batch-selection { margin:0; flex:1; min-width:160px; font-size:14px; }
.pipeline-batch-drop>small { flex-basis:100%; font-size:12px; color:var(--muted,#586b89); }
.pipeline-batch-controls { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
.pipeline-batch .button { min-height:38px; font-size:14px; transition:transform .18s ease,box-shadow .18s ease; }
.pipeline-batch .button:disabled { opacity:.5; cursor:not-allowed; }
.pipeline-batch-note { overflow-wrap:anywhere; min-height:24px; white-space:pre-wrap; }
.pipeline-batch-note.is-error,.pipeline-batch-file-error { color:var(--danger,#bd2949); }
.pipeline-batch-summary { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; margin:14px 0 8px; font-size:14px; }
.pipeline-batch-summary small { color:var(--muted,#586b89); }
.pipeline-batch-progress { display:block; width:100%; height:8px; accent-color:var(--primary,#326bff); margin-bottom:14px; }
.pipeline-batch-list { list-style:none; margin:0; padding:0; border-radius:10px; overflow:hidden; }
.pipeline-batch-file { display:flex; align-items:center; gap:12px; padding:14px 12px; border-bottom:1px solid var(--line,#d9e3f3); }
.pipeline-batch-file:first-child { border-top:1px solid var(--line,#d9e3f3); }
.pipeline-batch-file-info { flex:1; min-width:0; }
.pipeline-batch-file-info strong { display:block; overflow-wrap:anywhere; font-size:14px; font-weight:600; }
.pipeline-batch-file-info small { display:block; font-size:12px; color:var(--muted,#586b89); margin-top:3px; }
.pipeline-batch-file-error { font-size:14px; line-height:1.6; margin:5px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; }
.pipeline-batch-file-status { flex-shrink:0; font-size:14px; color:var(--muted,#586b89); }
.pipeline-batch-file.is-success .pipeline-batch-file-status { color:var(--success,#087a62); }
.pipeline-batch-file.is-error .pipeline-batch-file-status { color:var(--danger,#bd2949); }
.pipeline-batch-file.is-running .pipeline-batch-file-status,.pipeline-batch-file.is-reading .pipeline-batch-file-status { color:var(--primary,#326bff); }
.pipeline-batch-privacy { margin-top:16px; font-size:12px; }
[data-theme="dark"] .pipeline-batch { background:#111c2e; border-color:#33435d; color:#e5edfb; }
[data-theme="dark"] .pipeline-batch-drop { background:#0c1626; border-color:#405270; }
[data-theme="dark"] .pipeline-batch-heading p,[data-theme="dark"] .pipeline-batch-note,[data-theme="dark"] .pipeline-batch-privacy,[data-theme="dark"] .pipeline-batch-drop>small,[data-theme="dark"] .pipeline-batch-summary small,[data-theme="dark"] .pipeline-batch-file-info small,[data-theme="dark"] .pipeline-batch-file-status { color:#b4c3db; }
[data-theme="dark"] .pipeline-batch-note.is-error,[data-theme="dark"] .pipeline-batch-file-error,[data-theme="dark"] .pipeline-batch-file.is-error .pipeline-batch-file-status { color:#ff9aac; }
[data-theme="dark"] .pipeline-batch-file.is-success .pipeline-batch-file-status { color:#65d8b5; }
[data-theme="dark"] .pipeline-batch-badge,[data-theme="dark"] .pipeline-batch-file.is-running .pipeline-batch-file-status,[data-theme="dark"] .pipeline-batch-file.is-reading .pipeline-batch-file-status { color:#91b7ff; }
@media(max-width:640px) { .pipeline-batch { margin:18px 8px; padding:16px 12px; }.pipeline-batch-heading h3 { font-size:19px; }.pipeline-batch-drop { padding:14px; }.pipeline-batch-file { flex-wrap:wrap; gap:8px; }.pipeline-batch-file-info { flex-basis:calc(100% - 100px); }.pipeline-batch-file>.button { margin-left:auto; }.pipeline-batch-controls .button { flex:1 1 auto; } }
.pipeline-batch-file-actions { display:flex; flex-wrap:wrap; gap:6px; justify-content:flex-end; }
.pipeline-batch-editor { margin-top:18px; padding:18px; border:1px solid var(--primary,#326bff); border-radius:12px; background:var(--surface,#fff); }
.pipeline-batch-editor[hidden] { display:none; }
.pipeline-batch-editor h4 { margin:0 0 10px; font-size:17px; overflow-wrap:anywhere; }
.pipeline-batch-editor-note { font-size:14px; line-height:1.65; white-space:pre-wrap; overflow-wrap:anywhere; }
.pipeline-batch-editor-note.is-error { color:var(--danger,#bd2949); }
.pipeline-batch-editor-label { display:block; margin:12px 0 8px; font-size:14px; font-weight:600; }
.pipeline-batch-editor-input { display:block; width:100%; min-height:260px; max-height:650px; resize:vertical; padding:14px; box-sizing:border-box; font:14px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace; tab-size:2; border:1px solid var(--line,#d9e3f3); border-radius:8px; background:var(--input-bg,#f7f9fd); color:inherit; }
.pipeline-batch-editor-input:focus-visible { outline:2px solid var(--primary,#326bff); outline-offset:2px; }
.pipeline-batch-editor .pipeline-batch-controls { margin-top:12px; margin-bottom:0; }
.pipeline-batch-editor .json-error-report { margin:12px 0; }
[data-theme="dark"] .pipeline-batch-editor { background:#101c30; border-color:#648ff0; }
[data-theme="dark"] .pipeline-batch-editor-input { background:#0c1626; border-color:#405270; }
[data-theme="dark"] .pipeline-batch-editor-note.is-error { color:#ff9aac; }
@media(max-width:640px) { .pipeline-batch-file-actions { flex-basis:100%; justify-content:flex-start; }.pipeline-batch-editor { padding:12px; }.pipeline-batch-editor-input { font-size:16px; min-height:220px; } }
