/* Batch workbench: the molecular library owns the page. */
.batch-page .batch-main{padding-top:24px}.batch-page .wide{max-width:1600px;padding:0 32px}
.batch-page-heading{display:flex;align-items:baseline;gap:20px;margin-bottom:20px}.batch-page-heading h1{font-size:20px;font-weight:600;margin:0}.batch-page-heading>span{font-size:var(--text-small);color:var(--mut)}
.batch-import{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #A5BBC1;background:#fff;min-height:265px;padding:32px 20px;text-align:center;border-radius:4px}.batch-import.over{border-color:var(--teal2);background:#EDF5F6}.import-glyph{color:#63858E;margin-bottom:14px}.import-glyph svg{width:28px;height:32px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.batch-import h2{font-size:17px;margin:0 0 8px}.batch-import p{font-size:var(--text-ui);color:var(--mut);margin:0 0 20px}.batch-import .upload-actions{align-items:center;gap:20px}
.batch-file-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border:1px solid var(--rule);border-radius:4px;padding:14px 18px}.file-identity{display:flex;align-items:center;gap:12px;min-width:0}.file-identity>svg{width:22px;height:26px;fill:none;stroke:#587A84;stroke-width:1.4;flex:none;stroke-linecap:round;stroke-linejoin:round}.file-identity>div{min-width:0}.file-identity b{font-size:13px;display:block;overflow-wrap:anywhere}.file-identity span{display:block;margin-top:3px;font-size:var(--text-small);color:var(--mut)}.file-actions{display:flex;align-items:center;gap:14px;flex:none}.file-actions .primary-button{min-height:34px;font-size:var(--text-ui);padding:7px 14px}
.batch-file-preview{border:1px solid var(--rule);border-top:0;background:#fff;padding:0 18px;border-radius:0 0 4px 4px}.batch-file-preview>summary{padding:12px 0;font-size:var(--text-small);color:var(--teal);cursor:pointer}.preview-column{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;margin:5px 0 15px;font-size:var(--text-small)}.preview-column>span{color:var(--mut)}.preview-column select{padding:5px 8px;border:1px solid #CDDADD;border-radius:3px;background:#fff;font-size:var(--text-ui);max-width:180px}.batch-file-preview table{margin:0 0 16px}.batch-file-preview .preview-smiles{font:var(--text-small) var(--mono);white-space:nowrap;max-width:700px;overflow:hidden;text-overflow:ellipsis}.batch-file-preview th,.batch-file-preview td{padding:9px 12px;font-size:var(--text-small)}
.batch-job{margin-top:18px;padding:16px 18px;background:#fff;border:1px solid var(--rule);border-radius:4px}.job-top,.job-top>div{display:flex;align-items:center;gap:14px}.job-top{justify-content:space-between}.job-state{font-size:var(--text-ui);font-weight:600;color:var(--teal)}.job-state[data-state=failed],.job-state[data-state=missing]{color:#955927}.job-top #progress-label,.job-top time{font-size:var(--text-small);color:var(--mut);font-variant-numeric:tabular-nums}.batch-job progress{display:block;width:100%;height:5px;accent-color:var(--teal2);margin:13px 0 0;border:0;border-radius:2px;overflow:hidden}.batch-job progress::-webkit-progress-bar{background:#E8EFF0}.batch-job progress::-webkit-progress-value{background:var(--teal2);transition:width 180ms ease}.job-summary{display:flex;align-items:center;gap:12px 26px;flex-wrap:wrap;margin-top:14px;font-size:var(--text-small);color:var(--mut)}.job-summary b{font:500 16px var(--mono);color:var(--ink);margin-left:8px}.batch-job #job-note{margin:10px 0 0;font-size:var(--text-small)}.batch-page #upload-error{margin:12px 0;line-height:1.8}
.batch-page .batch-results{margin-top:26px}.batch-results-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:8px}.batch-results-heading h2{font-size:15px;font-weight:600;margin:0}.batch-page .batch-results #tstatus{margin-bottom:16px;font-size:var(--text-small);line-height:1.8}.disabled-link{opacity:.45;pointer-events:none}
.batch-page .batch-toolbar{display:block;background:#fff;border:1px solid var(--rule);border-radius:4px;margin:0;padding:12px 16px 14px}.batch-toolbar .chips{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px}.batch-page .chip{border:1px solid transparent;background:transparent;color:var(--mut);padding:5px 9px;font-size:var(--text-small);border-radius:3px}.batch-page .chip.on{background:#E5EFF0;color:var(--teal);border-color:#BED3D8}.batch-page .chip i{font:var(--text-small) var(--mono);margin-left:5px;font-style:normal;color:inherit;opacity:.85}.batch-filter-fields{display:flex;align-items:center;gap:12px 20px;flex-wrap:wrap}.batch-filter-fields>label{display:flex;align-items:center;gap:8px;font-size:var(--text-small);color:var(--mut)}.batch-filter-fields>label:first-child{flex:1;min-width:180px;max-width:400px}.batch-filter-fields input,.batch-filter-fields select{border:1px solid #CDDBDF;border-radius:3px;background:#fff;color:var(--ink);height:32px;padding:6px 9px;font:var(--text-small) var(--sans)}.batch-filter-fields input[type=search]{width:100%}.batch-filter-fields input[type=number]{width:72px}.batch-filter-fields input::placeholder{color:var(--mut)}.batch-filter-fields .text-button{font-size:var(--text-small)}
.batch-selection-bar{margin-top:8px;border-radius:4px;display:flex;align-items:center;gap:20px;background:#EAF3F4;padding:11px 16px;border:1px solid #BDD3D8;font-size:var(--text-small)}.batch-selection-bar>span{margin-right:auto;color:var(--teal)}.batch-selection-bar button{font-size:var(--text-small)}
.batch-page .batch-results-layout{margin-top:var(--space-region);display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-items:start}.batch-page .batch-results-layout.has-inspector{grid-template-columns:minmax(0,1fr) 12px var(--inspector-width,360px)}.batch-page .batch-result-list{min-width:0;background:#fff;border:1px solid var(--rule);border-radius:4px;overflow:hidden}.batch-page .batch-table{border:0;border-radius:0;margin:0;max-height:650px;overflow:auto;scrollbar-width:thin;overscroll-behavior:contain}.batch-page .batch-table table,.batch-page .has-inspector .batch-table table{min-width:730px;width:100%;margin:0;border:0;table-layout:auto}.batch-page .batch-table thead{position:sticky;top:0;z-index:2;background:#F7FAFA;box-shadow:0 1px var(--rule)}.batch-page .batch-table th{font:500 var(--text-small) var(--sans);color:var(--mut);letter-spacing:0;text-transform:none;padding:12px 14px;background:#F7FAFA;white-space:nowrap}.batch-page .batch-table td{font:var(--text-small) var(--sans);padding:10px 14px;border-bottom:1px solid #E7ECEE;vertical-align:middle;white-space:nowrap}.batch-page .batch-table th:first-child,.batch-page .batch-table td:first-child{width:38px;padding-left:16px;padding-right:0}.batch-page .batch-table th:nth-child(2),.batch-page .batch-table td:nth-child(2){font-family:var(--mono);color:var(--mut);width:50px}.batch-page .batch-table input[type=checkbox]{width:14px;height:14px;vertical-align:middle;cursor:pointer}.batch-page .molecule-cell{min-width:210px;max-width:330px;gap:12px}.batch-page .molecule-cell img{width:68px;height:48px}.batch-page .molecule-cell b{font-size:var(--text-ui);font-weight:500;margin:0;overflow:hidden;text-overflow:ellipsis;max-width:190px}.batch-page .molecule-cell span{font-size:var(--text-small);line-height:1.7;max-width:190px}.batch-page .molecule-cell .row-subtitle{font-family:var(--sans);margin-top:3px}.batch-page .batch-table .batch-score{font:500 15px var(--mono);color:var(--teal);min-width:95px}.batch-score>span{display:block;font:var(--text-small) var(--sans);color:var(--mut);margin-top:4px}.batch-page .batch-row{cursor:pointer}.batch-page .batch-row:hover td{background:#F4F8F9}.batch-page .batch-row.is-inspected td{background:#EAF3F4}.batch-page .batch-table .inspect-row{width:28px;padding:5px}.batch-page .batch-table .empty-table{height:280px;padding:32px;font:12px var(--sans);color:var(--mut);text-align:center}.batch-page .batch-table .srt button{font-size:var(--text-small)}.batch-domain[data-domain=out_of_domain],.batch-domain[data-domain=borderline]{color:#8B632A}.batch-pagination{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;border-top:1px solid var(--rule);font-size:var(--text-small);color:var(--mut)}.batch-pagination>div{display:flex;align-items:center;gap:12px}.batch-page .table-footnote{margin:0;padding:0 16px 14px;font-size:var(--text-small);line-height:1.8}.batch-page .icon-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;padding:5px;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--ink);cursor:pointer;touch-action:manipulation}.batch-page .icon-button:hover{background:#E7F0F2}.icon-button svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.inspector-resizer{position:relative;align-self:stretch;min-height:320px;cursor:ew-resize;touch-action:none}.inspector-resizer::after{content:'';position:absolute;left:5px;top:130px;width:3px;height:32px;background:#A5BBC1;border-radius:2px}.inspector-resizer:hover,.inspector-resizer:focus-visible,.inspector-resizer.is-dragging{background:#176B7718}.batch-page.inspector-resizing{cursor:ew-resize;user-select:none}.batch-page.inspector-resizing #batch-viewer-3d{pointer-events:none}
.batch-page .candidate-inspector{grid-column:3;position:sticky;top:12px;border:1px solid var(--rule);border-radius:4px;padding:0;max-height:calc(100dvh - 24px);overflow-y:auto;background:#fff;min-width:0;overscroll-behavior:contain;scrollbar-width:thin}.batch-page .inspector-heading{padding:14px 14px 12px;gap:8px}.batch-page .inspector-heading h3{font:500 14px var(--sans);overflow-wrap:anywhere;margin:5px 0 0}.batch-page .inspector-heading span{font-size:var(--text-small)}.inspector-heading-actions{display:flex;align-items:center;flex:none;gap:1px}.inspector-view-tools{display:flex;align-items:center;gap:5px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:7px 12px}.inspector-view-tools .view-icon{height:27px;border:1px solid transparent;border-radius:3px;background:none;color:var(--mut);font:500 var(--text-small) var(--mono);cursor:pointer;min-width:30px}.inspector-view-tools .view-icon[aria-pressed=true]{background:#E5EFF0;border-color:#BED3D8;color:var(--teal)}.inspector-view-tools .text-button{margin-left:auto;font-size:var(--text-small)}.inspector-canvas{display:grid;grid-template-rows:minmax(0,1fr);height:250px;background:#fff}.inspector-canvas.has-both{height:470px;grid-template-rows:repeat(2,minmax(0,1fr))}.batch-preview-pane{position:relative;overflow:hidden;min-height:0;min-width:0;touch-action:none}.inspector-canvas.has-both .batch-preview-pane+div{border-top:1px solid var(--rule)}.batch-preview-pane>img{display:block;width:100%;height:100%;object-fit:contain;transform-origin:center;pointer-events:none}.batch-preview-pane .canvas-dock{right:8px;bottom:8px;gap:0;padding:3px}.batch-preview-pane .canvas-dock>span{font:var(--text-small) var(--mono);min-width:34px;text-align:center;color:var(--mut)}#batch-viewer-3d{position:absolute;inset:0;min-height:0}.batch-viewer-message{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:28px 20px;font-size:var(--text-small);line-height:1.8;color:var(--mut);background:#ffffffed}.batch-page #inspector-error{margin:10px 14px;font-size:var(--text-small)}.inspector-score{display:flex;gap:10px;align-items:baseline;padding:14px 16px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);flex-wrap:wrap}.inspector-score>span:first-child{font-size:var(--text-small);color:var(--mut)}.inspector-score strong{font:500 26px var(--mono);color:var(--teal)}.inspector-score>span:last-child{font-size:var(--text-small);color:var(--mut);margin-left:auto}.batch-page .candidate-inspector dl{display:block;margin:6px 16px 0}.batch-page .candidate-inspector dl>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid #E9EFF0}.batch-page .candidate-inspector dt{font:var(--text-small) var(--sans);color:var(--mut)}.batch-page .candidate-inspector dd{font:var(--text-small) var(--mono);text-align:right;margin:0;overflow-wrap:anywhere}.batch-page .candidate-inspector dl>div:last-child{display:flex}.inspector-structure{padding:12px 16px 0;font-size:var(--text-small)}.inspector-structure summary{cursor:pointer;color:var(--teal)}.inspector-structure p{font:var(--text-small)/1.8 var(--mono);overflow-wrap:anywhere;margin-top:10px}.inspector-structure .supporting-copy{font-family:var(--sans);font-size:var(--text-small)}.batch-page .candidate-note{margin:14px 16px 0;padding-top:14px}.batch-page .candidate-note label{font-size:var(--text-small)}.batch-page .candidate-note textarea{min-height:72px;font-size:var(--text-small)}.batch-page .candidate-note p{font-size:var(--text-small);line-height:1.8;margin-bottom:0}.batch-page .candidate-inspector>#inspector-select{width:calc(100% - 32px);margin:14px 16px 16px;font-size:var(--text-small);min-height:32px}.inspector-backdrop{position:fixed;inset:0;z-index:20;border:0;background:#203A4340;cursor:default}.batch-page .batch-help{margin-top:28px}.batch-page .batch-help>summary{font-size:var(--text-ui)}.batch-page .batch-help .fig{max-width:none;padding:0}.batch-page .batch-help h2{font-size:18px}.batch-page .workspace-footer{margin-top:30px}
@media(max-width:1100px){.batch-page .wide{padding:0 24px}.batch-filter-fields{gap:10px 14px}.batch-page .molecule-cell{min-width:190px}.batch-file-bar{gap:14px}}
@media(max-width:900px){.batch-page .batch-results-layout.has-inspector{grid-template-columns:minmax(0,1fr)}.batch-page .inspector-resizer{display:none}.batch-page .candidate-inspector{position:fixed;inset:0 0 0 auto;width:min(440px,94vw);max-height:100dvh;z-index:21;border-radius:0;grid-column:auto;order:0;box-shadow:-6px 0 30px #203A431A}.batch-page.inspector-is-open{overflow:hidden}.batch-page .candidate-inspector dl{display:block}.batch-page .candidate-inspector .secondary-button{width:calc(100% - 32px)}.batch-page .batch-table table{min-width:730px}}
@media(max-width:600px){.batch-page .batch-main{padding-top:16px}.batch-page .wide{padding:0 16px}.batch-page-heading{margin-bottom:16px}.batch-page-heading h1{font-size:18px}.batch-page-heading>span{display:none}.batch-import{min-height:260px;padding:26px 16px}.batch-import p{max-width:27em;line-height:1.9}.batch-file-bar{padding:12px;flex-wrap:wrap}.file-identity{width:100%}.file-actions{width:100%;gap:12px}.file-actions .primary-button{margin-left:auto}.batch-file-preview{padding:0 12px}.preview-column{gap:8px}.preview-column>span{flex-basis:100%;line-height:1.8}.batch-file-preview .preview-smiles{max-width:180px}.batch-job{padding:14px 12px}.job-top{align-items:flex-start;gap:8px}.job-top>div{flex-wrap:wrap;gap:5px 12px}.job-top>div:last-child{flex-direction:column;align-items:flex-end;flex:none}.job-summary{gap:10px 18px}.job-summary b{font-size:14px;margin-left:5px}.batch-page .batch-results{margin-top:22px}.batch-results-heading h2{font-size:14px}.batch-results-heading>a{font-size:var(--text-small)}.batch-page .batch-toolbar{padding:10px 12px 12px}.batch-filter-fields>label:first-child{flex-basis:100%;max-width:none}.batch-filter-fields{gap:10px 14px}.batch-filter-fields>label{font-size:var(--text-small)}.batch-filter-fields>label:nth-child(2){flex:1}.batch-filter-fields select{max-width:120px;font-size:var(--text-small)}.batch-filter-fields input[type=number]{width:62px}.batch-filter-fields .text-button{font-size:var(--text-small)}.batch-selection-bar{gap:12px;flex-wrap:wrap;padding:10px 12px}.batch-selection-bar>span{width:100%;font-size:var(--text-small)}.batch-selection-bar button{font-size:var(--text-small)}.batch-pagination{padding:10px 12px;font-size:var(--text-small);gap:8px}.batch-pagination>div{gap:6px}.batch-page .table-footnote{padding:0 12px 12px;font-size:var(--text-small)}.batch-page .candidate-inspector{width:100vw}.batch-page .batch-help>summary{font-size:var(--text-small)}}
@media(prefers-reduced-motion:reduce){.batch-job progress::-webkit-progress-value{transition:none}}

.recent-batches{margin-top:16px;border-top:1px solid var(--rule);font-size:var(--text-small)}.recent-batches>summary{padding:12px 0;color:var(--teal);cursor:pointer}.recent-batches #recent-job-list>div{display:flex;align-items:center;gap:18px;padding:12px 0;border-bottom:1px solid var(--rule)}.recent-batches #recent-job-list>div>span:first-child{font-weight:500;overflow-wrap:anywhere}.recent-batches #recent-job-list>div>span:nth-child(2){font-size:var(--text-small);color:var(--mut);margin-left:auto}.recent-batches button{white-space:nowrap;font-size:var(--text-small)}@media(max-width:600px){.recent-batches #recent-job-list>div{flex-wrap:wrap;gap:8px 12px}.recent-batches #recent-job-list>div>span:first-child{width:100%}.recent-batches #recent-job-list>div>span:nth-child(2){margin-left:0}.recent-batches button{margin-left:auto}}

.batch-page .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.batch-page .candidate-inspector #inspector-facts>div:last-child{display:flex}

/* The file and its preview share one uninterrupted surface. */
.batch-file-panel{background:#fff;border:1px solid var(--rule);border-radius:4px;overflow:hidden}
.batch-file-panel .batch-file-bar{border:0;border-radius:0;padding-bottom:8px;background:transparent}
.batch-file-panel .batch-file-preview{border:0;border-radius:0;margin:0;background:transparent;padding:0 18px 6px}
.batch-file-panel .batch-file-preview>summary{padding:5px 0 12px;font-size:var(--text-small)}
.batch-file-panel .preview-column{margin:4px 0 14px}
.batch-file-panel .batch-file-preview .tw{border:0;border-radius:0}
.batch-file-panel .batch-file-preview table{width:100%;border:0;border-collapse:collapse;margin:0 0 10px}
.batch-file-panel .batch-file-preview th{background:#F6F9F9;border:0;border-bottom:1px solid var(--rule);padding:10px 12px}
.batch-file-panel .batch-file-preview td{border:0;border-bottom:1px solid #E9EFF0;padding:10px 12px}
.batch-file-panel .batch-file-preview tbody tr:last-child td{border-bottom:0}
@media(max-width:600px){.batch-file-panel .batch-file-preview{padding:0 12px 4px}.batch-file-panel .batch-file-bar{padding-bottom:8px}}

/* Search, filtering and export actions share the toolbar. */

.batch-table-exports{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap;margin-left:auto}
.batch-table-exports>a{font-size:var(--text-small);border:0;white-space:nowrap}
@media(max-width:600px){.batch-table-exports{gap:12px}}


.batch-page .batch-table td{font-size:var(--text-ui)}
.batch-page .batch-table .row-subtitle{font-size:var(--text-small)}

/* One perimeter encloses the scrolling table and its persistent footer. */
.batch-page-status{min-width:0;flex:1}
.batch-pagination>.batch-page-status{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px}
.batch-pagination>.batch-page-controls{flex:none}
.batch-page-status>span{white-space:nowrap}
.batch-filter-fields .batch-table-exports .text-button{min-height:32px;display:inline-flex;align-items:center}
@media(max-width:600px){
 .batch-filter-fields .batch-table-exports{gap:12px;justify-content:flex-start;margin-left:0}
 .batch-pagination{align-items:flex-end}
 .batch-pagination>.batch-page-status{flex-direction:column;align-items:flex-start;gap:4px}
}
.batch-page .batch-table tbody tr:last-child td{border-bottom:0}
.batch-filter-fields .batch-table-exports [hidden]{display:none}
@media(max-width:600px){
 .batch-filter-fields{display:grid;grid-template-columns:minmax(0,1fr) auto}
 .batch-filter-fields>label:first-child{grid-column:1;grid-row:1;width:100%;min-width:0}
 .batch-filter-fields .batch-table-exports{display:contents}
 .batch-filter-fields #export-full{grid-column:2;grid-row:1;justify-self:end}
 .batch-filter-fields #export-filtered{grid-column:2;grid-row:3;justify-self:end}
 .batch-filter-fields #reset-filters{grid-column:1;grid-row:3;justify-self:start}
 .batch-filter-fields>label:not(:first-child){align-items:flex-start;flex-direction:column;gap:6px;min-width:0}
 .batch-filter-fields>label>span{white-space:nowrap}
 .batch-filter-fields select,.batch-filter-fields input[type=number]{width:100%;max-width:none}
}
