/* Scoped upload presentation; public-data and other assays retain their layout. */
body.analyzer .analyzer-sequencing-workflow .rnaseq-step-title { display:flex; align-items:center; gap:10px; margin:28px 0 12px; font-size:18px; color:#17354f; }
body.analyzer .analyzer-sequencing-workflow .rnaseq-step-title > span { display:inline-grid; place-items:center; width:26px; height:26px; border-radius:50%; background:#e7f0ff; color:#2366b0; font-size:14px; }
body.analyzer #RNAseq_uploadForm .rnaseq-step-note { color:#576b7d; font-size:14px; line-height:1.5; margin:8px 0 14px; }
body.analyzer #RNAseq_uploadForm .RNAseq_sample { padding:16px; margin:12px 0; border:1px solid #d8e3ee; border-radius:12px; background:white; }
body.analyzer #RNAseq_uploadForm .rnaseq-sample-heading { display:flex; justify-content:space-between; align-items:center; gap:10px; }
body.analyzer #RNAseq_uploadForm .rnaseq-sample-heading h4 { margin:0; color:#526a80; font-size:13px; }
body.analyzer #RNAseq_uploadForm .rnaseq-sample-name { display:block; margin:8px 0 12px; overflow-wrap:anywhere; }
body.analyzer #RNAseq_uploadForm .rnaseq-mates { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
body.analyzer #RNAseq_uploadForm .rnaseq-mates section { display:block; margin:0; min-width:0; }
body.analyzer .analyzer-sequencing-workflow .rnaseq-dropzone { position:relative; display:flex; flex-direction:column; justify-content:center; gap:8px; min-height:108px; width:100%; max-width:none; padding:14px; box-sizing:border-box; border:1px dashed #9ebbd5; border-radius:8px; background:#f8fbff; text-align:left; cursor:pointer; }
body.analyzer .analyzer-sequencing-workflow .rnaseq-dropzone:hover, body.analyzer .analyzer-sequencing-workflow .rnaseq-dropzone.dragging { border-color:#2168af; background:#eaf3ff; }
body.analyzer .analyzer-sequencing-workflow .rnaseq-dropzone:focus-within { outline:3px solid #8ebbe8; outline-offset:2px; }
body.analyzer .analyzer-sequencing-workflow .rnaseq-dropzone.has-file { border-style:solid; background:#f0f8f4; }
body.analyzer .analyzer-sequencing-workflow .rnaseq-dropzone input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
body.analyzer .analyzer-sequencing-workflow .rnaseq-choose-file { align-self:flex-start; width:auto; padding:6px 10px; border:1px solid #9ebbd5; border-radius:6px; background:white; color:#2168af; font-size:13px; cursor:pointer; }
body.analyzer .analyzer-sequencing-workflow .rnaseq-file-name { overflow-wrap:anywhere; font-size:12px; color:#526a80; font-weight:normal; }
body.analyzer .analyzer-sequencing-workflow .rnaseq-dropzone.has-file .rnaseq-file-name { font-size:14px; color:#17354f; font-weight:600; }
body.analyzer .analyzer-sequencing-workflow .rnaseq-file-size { font-size:12px; color:#326648; font-weight:normal; }
body.analyzer .analyzer-sequencing-workflow .custom-file-input.analyzer-file-control-replaced > button,
body.analyzer .analyzer-sequencing-workflow .custom-file-input.analyzer-file-control-replaced > span { display:none; }
body.analyzer .analyzer-sequencing-workflow .analyzer-fastq-section { display:block; }
body.analyzer .analyzer-sequencing-workflow .analyzer-fastq-section > .custom-file-input,
body.analyzer .analyzer-sequencing-workflow .analyzer-fastq-section > .rnaseq-dropzone { width:100%; max-width:none; }
body.analyzer .analyzer-sequencing-workflow .analyzer-auto-sample-name { display:none !important; }
body.analyzer #clashV2Beta_pairedFastqUpload > p[id^="fileNameDisplay_"],
body.analyzer #clashV2Beta_singleFastqUpload > p[id^="fileNameDisplay_"] { display:none; }
body.analyzer #RNAseq_uploadForm .rnaseq-rename { font-size:12px; margin-top:10px; color:#526a80; }
body.analyzer #RNAseq_uploadForm .rnaseq-rename input { width:100%; box-sizing:border-box; margin-top:8px; }
body.analyzer #RNAseq_uploadForm .rnaseq-rename label { display:block; width:auto; margin-top:8px; }
body.analyzer #RNAseq_uploadForm .removeSampleButton { border:0; background:none; color:#63788b; padding:4px; cursor:pointer; box-shadow:none; }
body.analyzer #RNAseq_uploadForm #addSampleButton { border:1px dashed #9ebbd5; border-radius:8px; background:transparent; color:#2168af; width:100%; padding:12px; cursor:pointer; box-shadow:none; }
body.analyzer #RNAseq_uploadForm .rnaseq-species-row, body.analyzer #RNAseq_uploadForm .rnaseq-email-row { display:block; margin:16px 0; }
body.analyzer #RNAseq_uploadForm .rnaseq-species-row label, body.analyzer #RNAseq_uploadForm .rnaseq-email-row label { display:block; width:100%; margin-bottom:8px; text-align:left; }
body.analyzer #RNAseq_uploadForm .rnaseq-species-row small { display:block; font-weight:normal; color:#63788b; margin-top:4px; }
body.analyzer #RNAseq_uploadForm .rnaseq-species-row select, body.analyzer #RNAseq_uploadForm .rnaseq-email-row input { width:100%; max-width:none; min-height:44px; box-sizing:border-box; border:1px solid #cbd9e7; border-radius:8px; background:white; }
body.analyzer #RNAseq_libraryAssistant { margin:18px 0; }
body.analyzer #RNAseq_libraryAssistant label { width:100%; max-width:none; flex:none; text-align:left; }
body.analyzer #RNAseq_libraryAssistant textarea { width:100%; box-sizing:border-box; min-height:104px; resize:vertical; padding:12px; font:inherit; border:1px solid #cbd9e7; border-radius:8px; background:white; }
body.analyzer #RNAseq_libraryAssistant select, body.analyzer #RNAseq_kit_select { display:block; width:100%; max-width:100%; box-sizing:border-box; min-height:44px; margin:8px 0; padding:8px; border:1px solid #cbd9e7; border-radius:8px; background:white; font:inherit; }
body.analyzer #RNAseq_libraryAssistant .method-check { display:block; margin:14px 0; font-weight:normal; font-size:13px; line-height:1.5; }
body.analyzer #RNAseq_libraryAssistant .method-check input { width:auto; margin-right:6px; }
body.analyzer #RNAseq_uploadForm .rnaseq-privacy { font-size:12px; color:#63788b; }
body.analyzer #RNAseq_method_confirmBox { padding:14px; background:#eef7f1; border-radius:8px; }
body.analyzer #RNAseq_method_profile { overflow-wrap:anywhere; }
body.analyzer #RNAseq_method_profile p, body.analyzer #RNAseq_method_status { font-size:14px; line-height:1.5; }
body.analyzer #RNAseq_method_status { color:#224f78; white-space:pre-wrap; overflow-wrap:anywhere; }
body.analyzer #RNAseq_method_guard, body.analyzer #RNAseq_uploadForm .rnaseq-file-error { color:#934019; font-size:13px; }
body.analyzer #RNAseq_uploadForm [hidden] { display:none !important; }
body.analyzer #RNAseq_uploadForm #RNAseq_uploadButton { width:100%; min-height:44px; padding:13px 16px; border-radius:8px; font-size:15px; box-sizing:border-box; }
body.analyzer #RNAseq_uploadForm button:disabled { opacity:.6; cursor:wait; }
@media (max-width:480px) { body.analyzer #RNAseq_uploadForm .rnaseq-mates { grid-template-columns:1fr; } }
body.analyzer #RNAseq_uploadForm label { margin-right:0; }
body.analyzer .analyzer-sequencing-workflow .rnaseq-bulk-drop { text-align:center;padding:12px 14px;border:2px dashed #a8c2db;border-radius:12px;background:#f6faff; }
body.analyzer .analyzer-sequencing-workflow .rnaseq-bulk-drop.has-files { display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;padding:8px 12px;text-align:left; }
body.analyzer .analyzer-sequencing-workflow .rnaseq-bulk-drop.has-files p { margin:0; }
body.analyzer #RNAseq_uploadForm .rnaseq-sample-heading .rnaseq-sample-name { min-width:0; }
body.analyzer #RNAseq_uploadForm .rnaseq-sample-heading .removeSampleButton { flex-shrink:0;margin-left:auto; }
body.analyzer .analyzer-sequencing-workflow .rnaseq-bulk-drop.dragging { background:#e4f1ff;border-color:#2168af; }
body.analyzer .analyzer-sequencing-workflow .rnaseq-bulk-drop p { margin:10px 0 0;font-size:13px;color:#526a80; }
body.analyzer .analyzer-sequencing-workflow .rnaseq-bulk-drop button { width:auto;margin:0;padding:10px 20px;border:0;border-radius:8px;background:#2366c7;color:white;font:inherit;cursor:pointer; }
body.analyzer #RNAseq_uploadForm .rnaseq-layout-options { font-size:13px;margin:12px 0;color:#526a80; }
body.analyzer #RNAseq_uploadForm .rnaseq-sample-editor > summary { cursor:pointer;font-size:12px;color:#526a80;overflow-wrap:anywhere; }
body.analyzer #RNAseq_uploadForm .rnaseq-sample-editor[open] .rnaseq-mates { margin-top:12px; }
body.analyzer #RNAseq_uploadForm .RNAseq_sample { padding:10px 14px;margin:8px 0; }
body.analyzer #RNAseq_uploadForm .rnaseq-sample-name { margin:4px 0; }
body.analyzer #RNAseq_uploadForm .rnaseq-batch-fields { display:grid;grid-template-columns:minmax(130px,1fr) minmax(0,2fr);gap:16px;align-items:start; }
body.analyzer #RNAseq_uploadForm .rnaseq-batch-fields .rnaseq-species-row, body.analyzer #RNAseq_uploadForm #RNAseq_libraryAssistant { margin:0;min-width:0; }
body.analyzer #RNAseq_uploadForm > .method-check { display:block;font-size:13px;font-weight:normal;line-height:1.5;margin:12px 0;width:100%; }
body.analyzer #RNAseq_uploadForm > .method-check input { width:auto;margin-right:6px; }
body.analyzer #RNAseq_uploadForm #RNAseq_bulk_status { color:#526a80;font-size:13px; }
body.analyzer #RNAseq_uploadForm p:empty { display:none; }
body.analyzer #RNAseq_pending { padding:14px;border:1px solid #a8c2db;border-radius:10px;margin-top:12px; }
body.analyzer #RNAseq_pending_list > div { display:flex;align-items:center;gap:12px;margin:8px 0; }
body.analyzer #RNAseq_pending_list label { flex:1;min-width:0;overflow-wrap:anywhere;font-size:13px; }
body.analyzer #RNAseq_pending input[type="checkbox"] { width:auto; }
body.analyzer #RNAseq_pending button { width:auto;cursor:pointer; }
body.analyzer #RNAseq_pair_r1 { width:100%;min-width:0; }
@media(max-width:580px) { body.analyzer #RNAseq_uploadForm .rnaseq-batch-fields { grid-template-columns:1fr; } }
body.analyzer #RNAseq_uploadForm .rnaseq-mates:has(.RNAseq-r2-field[style*="none"]) { grid-template-columns:1fr; }
body.analyzer :is(#RNAseq_uploadForm, #aqseq_uploadForm, .analyzer-shared-settings) .analyzer-choice { position:relative; min-width:0; margin:8px 0; }
body.analyzer :is(#RNAseq_uploadForm, #aqseq_uploadForm, .analyzer-shared-settings) .analyzer-choice .analyzer-choice-source { position:absolute; opacity:0; pointer-events:none; width:1px; min-height:1px; height:1px; }
body.analyzer :is(#RNAseq_uploadForm, #aqseq_uploadForm, .analyzer-shared-settings) .analyzer-choice .analyzer-choice-control { display:block; width:100%; height:44px; min-height:44px; margin:0; padding:10px 30px 10px 12px; box-sizing:border-box; border:1px solid #cbd9e7; border-radius:8px; background:white; color:#17354f; font:inherit; font-size:14px; text-align:left; box-shadow:none; text-overflow:ellipsis; }
body.analyzer :is(#RNAseq_uploadForm, #aqseq_uploadForm, .analyzer-shared-settings) .analyzer-choice::after { content:'⌄'; position:absolute; right:12px; top:10px; pointer-events:none; color:#526a80; }
body.analyzer :is(#RNAseq_uploadForm, #aqseq_uploadForm, .analyzer-shared-settings) .analyzer-choice-control:focus { outline:2px solid #8ebbe8; outline-offset:1px; }
body.analyzer :is(#RNAseq_uploadForm, #aqseq_uploadForm, .analyzer-shared-settings) .analyzer-choice-list { position:absolute; z-index:50; top:calc(100% + 4px); left:0; right:0; max-height:280px; overflow:auto; padding:4px; border:1px solid #cbd9e7; border-radius:8px; background:white; color:#17354f; box-shadow:0 6px 18px #17354f22; font-size:14px; }
body.analyzer :is(#RNAseq_uploadForm, #aqseq_uploadForm) .analyzer-choice-list [role="option"] { padding:10px 8px; min-height:40px; box-sizing:border-box; border-radius:4px; cursor:pointer; overflow-wrap:anywhere; }
body.analyzer :is(#RNAseq_uploadForm, #aqseq_uploadForm) .analyzer-choice-list [role="option"]:hover, body.analyzer :is(#RNAseq_uploadForm, #aqseq_uploadForm) .analyzer-choice-list .active { background:#eaf3ff; }
body.analyzer :is(#RNAseq_uploadForm, #aqseq_uploadForm) .analyzer-choice-list [aria-selected="true"] { font-weight:600; background:#f0f6fc; }
body.analyzer :is(#RNAseq_uploadForm, #aqseq_uploadForm) .analyzer-choice-list [aria-disabled="true"] { color:#687786; cursor:not-allowed; background:#f4f6f8; }
body.analyzer :is(#RNAseq_uploadForm, #aqseq_uploadForm) .analyzer-choice-list p { padding:8px; margin:0; }
body.analyzer :is(#RNAseq_uploadForm, #aqseq_uploadForm) .analyzer-choice-status { display:block; margin-top:4px; font-size:12px; color:#63788b; }
/* Pool owns its raw inputs; ordinary selections stay in the DOM for recovery. */
.rnaseq-pool-mode #RNAseq_bulk_drop,
.rnaseq-pool-mode #RNAseq_bulk_status,
.rnaseq-pool-mode #RNAseq_TPM,
.rnaseq-pool-mode #RNAseq_pending,
.rnaseq-pool-mode .rnaseq-layout-options,
.rnaseq-pool-mode #RNAseq_kit_state,
.rnaseq-pool-mode #RNAseq_uploadButton,
.rnaseq-pool-mode #RNAseq_batch_summary { display: none !important; }
body.analyzer #RNAseq_uploadForm #RNAseq_pool_upload:not([hidden]) { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
#RNAseq_pool_upload input[type="file"], #RNAseq_pool_upload select { max-width: 100%; min-width: 0; }
#RNAseq_pool_upload p { overflow-wrap: anywhere; }
#RNAseq_pool_upload > label { width: auto; max-width: 100%; display: block; }
#RNAseq_pool_upload > h4 { margin: 0; }
#RNAseq_pool_upload > select { width: 100%; min-height: 42px; }
#RNAseq_pool_submit[hidden], #RNAseq_pool_status[hidden] { display: none !important; }
/* The shared intake replaces empty sample slots and separate Add sample buttons. */
.analyzer-empty-sample, .analyzer-legacy-add { display: none !important; }
.analyzer-bulk-intake { width: 100%; }
.analyzer-sample-actions { display: flex; gap: 12px; margin: 12px 0; }
.analyzer-sample-editor { padding: 16px; border: 1px solid #d8e3ee; border-radius: 12px; background: white; margin-top: 12px; }
.analyzer-sample-editor > summary { cursor: pointer; overflow-wrap: anywhere; color: #526a80; font-size: 13px; }
.analyzer-bulk-intake .rnaseq-bulk-drop { border: 2px dashed #9cb5ce; border-radius: 12px; padding: 24px; text-align: center; }
.analyzer-bulk-intake .rnaseq-bulk-drop.dragging { background: #eaf3ff; border-color: #2f6fed; }
.analyzer-bulk-intake input[type="file"][hidden] { display: none !important; }

body.analyzer .analyzer-sequencing-workflow .analyzer-fastq-section > label[hidden] { display:none !important; }
.analyzer-email-row { display: block !important; width: 100%; }
.analyzer-email-row > label { display: block; width: 100% !important; margin-bottom: 8px; }
.analyzer-email-row > input { box-sizing: border-box; width: 100% !important; max-width: none !important; padding: 10px; border: 1px solid #cbd9e7; border-radius: 8px; }
.analyzer-submit-button { width: 100%; padding: 12px !important; border-radius: 8px; }
.analyzer-request-confirmation { padding: 20px; border: 1px solid #cbd9e7; border-radius: 12px; background: #f6faff; }
.analyzer-request-confirmation dd { margin: 4px 0 12px; overflow-wrap: anywhere; }
