/* Bioinformatics workspace: local project, dataset, workflow and run registry. */
.bioinfo-subpage-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 16px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:color-mix(in srgb,var(--paper) 94%,transparent)}
.bioinfo-subpage-tabs button{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:10px 14px;color:var(--muted);background:transparent;border:0;border-right:1px solid var(--line);font:800 13px var(--font-interface);cursor:pointer}
.bioinfo-subpage-tabs button:last-child{border-right:0}
.bioinfo-subpage-tabs button span{color:var(--accent-deep);font:800 9px var(--font-latin);letter-spacing:.12em}
.bioinfo-subpage-tabs button.active{color:var(--ink);background:color-mix(in srgb,var(--accent) 13%,var(--paper));box-shadow:inset 0 -3px 0 var(--accent)}
.bioinfo-subpage[hidden]{display:none!important}
.bioinfo-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;width:min(100%,620px);margin-left:auto}
.bioinfo-toolbar-actions .inline-search{flex:0 1 min(300px,40vw);width:min(300px,40vw);max-width:none}
.bioinfo-table-panel{overflow:hidden}
.bioinfo-table-panel .data-table{min-width:1050px}
.bioinfo-table-panel .data-table tbody tr{cursor:pointer}

.bioinformatics-heading>div:first-child:not(.heading-visual){max-width:50%}
.heading-visual-bioinformatics{--heading-signal:#8fbd25;--heading-signal-soft:rgba(143,189,37,.17);isolation:isolate}
.heading-visual-bioinformatics::before{background:radial-gradient(circle at 67% 57%,rgba(143,189,37,.18) 0 3px,transparent 4px),radial-gradient(circle at 54% 35%,rgba(81,170,166,.16) 0 4px,transparent 5px),linear-gradient(118deg,transparent 0 62%,rgba(233,154,53,.11) 62.3% 68%,transparent 68.3%),linear-gradient(rgba(82,105,92,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(82,105,92,.08) 1px,transparent 1px)!important;background-size:auto,auto,auto,22px 22px,22px 22px!important}
.heading-visual-bioinformatics .heading-monogram{font-size:12px;letter-spacing:.04em}
.bioinfo-protein-structure{position:absolute;left:4%;bottom:12px;z-index:2;width:38%;height:auto;overflow:visible;color:#50685d;opacity:.82}
.bioinfo-protein-structure .protein-backbone,.bioinfo-protein-structure .protein-helix{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.bioinfo-protein-structure .protein-backbone{stroke-width:2.1}.bioinfo-protein-structure .protein-backbone path:last-child{stroke:#d5903d!important}
.bioinfo-protein-structure .protein-backbone path:last-child{stroke-width:1;opacity:.68}
.bioinfo-protein-structure .protein-helix{stroke:#8fbd25;stroke-width:1.5;opacity:.8}
.bioinfo-protein-structure .protein-nodes{fill:var(--paper);stroke:#4d9991;stroke-width:2}
.bioinfo-rnaseq{position:absolute;left:39%;bottom:20px;z-index:2;display:grid;grid-template-columns:56px 1fr;grid-template-rows:repeat(4,4px) auto;gap:5px 8px;width:31%;color:#526d5e;font-family:var(--font-latin)!important}
.bioinfo-rnaseq b{grid-row:1/5;align-self:center;font-size:10px;letter-spacing:.08em;writing-mode:vertical-rl;transform:rotate(180deg)}
.bioinfo-rnaseq i{display:block;height:3px;background:linear-gradient(90deg,currentColor 0 34%,transparent 34% 39%,currentColor 39% 68%,transparent 68% 73%,currentColor 73%);opacity:.84}
.bioinfo-rnaseq i:nth-of-type(1){color:#8fbd25}.bioinfo-rnaseq i:nth-of-type(2){width:82%;margin-left:13%;color:#51aaa6}
.bioinfo-rnaseq i:nth-of-type(3){width:94%;margin-left:3%;color:#d5903d}
.bioinfo-rnaseq i:nth-of-type(4){width:71%;margin-left:19%}
.bioinfo-rnaseq small{grid-column:1/-1;margin-top:2px;font-size:7px;font-weight:800;letter-spacing:.12em;white-space:nowrap}
.bioinfo-math-symbol{position:absolute;z-index:2;color:#596b61;font:800 13px/1 var(--font-latin);letter-spacing:.04em}
.bioinfo-math-symbol.math-log{left:43%;top:88px;color:#c17f35}
.bioinfo-math-symbol.math-sum{right:15%;bottom:28px;color:#799f2b;font-size:16px}

.bioinfo-detail-hero{color:#26332d!important;background:linear-gradient(105deg,rgba(143,189,37,.22),rgba(248,250,243,.98) 40%,rgba(81,170,166,.14))!important;border-color:rgba(104,145,61,.3)!important}
.bioinfo-detail-hero :is(h3,p){color:#26332d!important}
.bioinfo-detail-hero .record-detail-code{color:#668c20!important}
.bioinfo-detail-hero .status-chip{color:#2d3b33;background:rgba(247,250,243,.9);border-color:rgba(117,153,56,.3)}
.bioinfo-code-block{margin:0;padding:13px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--soft);font:600 12px/1.6 Consolas,'Courier New',monospace;white-space:pre-wrap;overflow-wrap:anywhere}
.dark-theme .bioinfo-subpage-tabs{background:color-mix(in srgb,var(--paper) 92%,#08101a)}
.dark-theme .bioinfo-detail-hero{color:#f3f7f2!important;background:linear-gradient(108deg,rgba(104,139,43,.28),rgba(42,55,48,.98) 40%,rgba(27,40,38,.99))!important;border-color:rgba(143,189,37,.34)!important}
.dark-theme .bioinfo-detail-hero :is(h3,p){color:#f3f7f2!important}
.dark-theme .bioinfo-detail-hero .record-detail-code{color:#b8da6b!important}
.dark-theme .bioinfo-detail-hero .status-chip{color:#edf5f0;background:rgba(22,34,31,.84);border-color:rgba(143,189,37,.36)}
.dark-theme .bioinfo-protein-structure{color:#a8b9ae}.dark-theme .bioinfo-protein-structure .protein-nodes{fill:#26302b;stroke:#71b8af}.dark-theme .bioinfo-rnaseq{color:#b8c8bf}.dark-theme .bioinfo-math-symbol.math-log{color:#e1a75e}.dark-theme .bioinfo-math-symbol.math-sum{color:#b3d866}

body.background-all-lives #view-bioinformatics .page-heading{--page-collage-accent:#2457c6}
body.background-all-lives #view-bioinformatics .heading-visual{background-image:url('../images/theme-atlas/all-lives-bioinformatics-collage-v1.svg?v=0.3.1')!important;background-size:auto 190%!important;background-position:58% 50%!important;background-repeat:no-repeat!important;filter:saturate(.58) contrast(.94);mix-blend-mode:multiply;opacity:.64}
body.background-all-lives #view-bioinformatics .heading-visual>*{display:none!important}
body.background-all-lives :is(.bioinfo-subpage-tabs,.bioinfo-code-block){border-radius:0}
body.background-all-lives .bioinfo-subpage-tabs button.active{color:#fff;background:var(--atlas-blue);box-shadow:inset 0 -3px 0 var(--atlas-red)}
body.dark-theme.background-all-lives #view-bioinformatics .heading-visual{filter:invert(1) grayscale(1) brightness(1.28) contrast(1.15);mix-blend-mode:screen;opacity:.34}

@media(max-width:1000px){
  .bioinformatics-heading>div:first-child:not(.heading-visual){max-width:58%}
  .bioinfo-protein-structure{left:2%;width:46%;opacity:.58}
  .bioinfo-rnaseq{left:42%;width:34%}
  .bioinfo-math-symbol.math-log{display:none}
}
@media(max-width:700px){
  .bioinfo-subpage-tabs{grid-template-columns:repeat(4,minmax(92px,1fr));overflow-x:auto;border-radius:14px}
  .bioinfo-subpage-tabs button{padding:8px;font-size:11px}
  .bioinfo-toolbar-actions{width:100%;flex-wrap:wrap}
  .bioinfo-toolbar-actions .inline-search{flex:1 1 100%;max-width:none}
  .bioinformatics-heading>div:first-child:not(.heading-visual){width:64%!important;max-width:64%}
  .heading-visual-bioinformatics{width:42%!important;opacity:.4}
  .bioinfo-protein-structure{left:0;bottom:18px;width:68%}
  .bioinfo-rnaseq,.bioinfo-math-symbol{display:none}
  body.background-all-lives #view-bioinformatics .heading-visual{background-size:auto 160%!important;opacity:.25}
}
/* Bioinformatics unified project flow 2026-08-24 */
.bioinfo-flow-workspace{overflow:hidden;padding:0;background:var(--paper)}
.bioinfo-flow-toolbar{gap:18px;border-bottom:1px solid var(--line)}
.bio-project-flow-list{display:grid;gap:12px;padding:16px;background:color-mix(in srgb,var(--soft) 62%,transparent)}
.bio-project-map-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--paper);transition:border-color .18s ease,box-shadow .18s ease}
.bio-project-map-card.expanded{border-color:color-mix(in srgb,var(--accent) 52%,var(--line));box-shadow:0 14px 30px rgba(42,54,48,.07)}
.bio-project-map-header,.bio-dataset-map-header{position:relative}
.bio-project-map-toggle,.bio-dataset-map-toggle{width:100%;color:var(--ink);font:inherit;text-align:left;background:transparent;border:0;cursor:pointer}
.bio-project-map-toggle{display:grid;grid-template-columns:112px minmax(220px,1.25fr) minmax(138px,.55fr) auto 34px;align-items:center;gap:16px;min-height:84px;padding:15px 60px 15px 18px}
.bio-project-map-toggle:hover,.bio-dataset-map-toggle:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}
.bio-project-code,.bio-dataset-glyph{font:800 10px/1.2 var(--font-latin);letter-spacing:.1em;color:var(--accent-deep)}
.bio-project-heading,.bio-project-metrics,.bio-dataset-map-toggle>span:nth-child(2){display:grid;gap:5px}
.bio-project-heading strong,.bio-dataset-map-toggle strong{font-size:15px;line-height:1.3}
.bio-project-heading small,.bio-project-metrics small,.bio-dataset-map-toggle small,.bio-dataset-location{color:var(--muted);font-size:11px;line-height:1.45}
.bio-project-metrics{padding-left:16px;border-left:1px solid var(--line)}
.bio-flow-chevron{display:grid!important;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;color:var(--ink)!important;font:700 16px/1 var(--font-latin)}
.bio-flow-detail-button{position:absolute;top:50%;right:14px;z-index:2;display:grid;place-items:center;width:32px;height:32px;padding:0;transform:translateY(-50%);color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:50%;font:800 15px var(--font-latin);cursor:pointer}
.bio-flow-detail-button:hover{color:var(--accent-deep);border-color:var(--accent)}
.bio-project-map-body{padding:0 16px 16px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--soft) 56%,var(--paper))}
.bio-project-action-strip,.bio-dataset-action-strip{display:flex;justify-content:flex-end;gap:8px;padding:12px 0}
.bio-dataset-flow-list{display:grid;gap:10px}
.bio-dataset-map-card{overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--paper)}
.bio-dataset-map-card.expanded{border-color:color-mix(in srgb,#51aaa6 48%,var(--line))}
.bio-dataset-map-toggle{display:grid;grid-template-columns:64px minmax(230px,1fr) minmax(170px,.55fr) 34px;align-items:center;gap:14px;min-height:70px;padding:12px 58px 12px 14px}
.bio-dataset-glyph{display:grid;place-items:center;width:50px;height:30px;border:1px solid color-mix(in srgb,#51aaa6 50%,var(--line));color:#397e78;background:color-mix(in srgb,#51aaa6 10%,var(--paper))}
.bio-dataset-location{text-align:right;overflow-wrap:anywhere}
.bio-dataset-map-body{padding:14px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--soft) 72%,transparent)}
.bio-analysis-flow{display:grid;grid-template-columns:minmax(170px,.7fr) 74px minmax(260px,1.55fr);align-items:stretch;gap:12px}
.bio-flow-source-node{display:grid;align-content:center;gap:6px;min-height:108px;padding:16px;color:var(--ink);text-align:left;background:color-mix(in srgb,#51aaa6 10%,var(--paper));border:1px solid color-mix(in srgb,#51aaa6 43%,var(--line));border-radius:10px;font:inherit;cursor:pointer}
.bio-flow-source-node span,.bio-pipeline-node-main span:first-child{color:#397e78;font:800 9px var(--font-latin);letter-spacing:.12em}
.bio-flow-source-node strong{font-size:14px}.bio-flow-source-node small{color:var(--muted);font-size:11px}
.bio-flow-connector{position:relative;display:grid;place-items:center;color:var(--muted);font:800 8px var(--font-latin);letter-spacing:.08em}
.bio-flow-connector i{position:absolute;right:-5px;left:-5px;top:50%;height:2px;background:linear-gradient(90deg,#51aaa6,var(--accent))}
.bio-flow-connector i::after{content:"";position:absolute;right:-1px;top:50%;width:8px;height:8px;border-top:2px solid var(--accent);border-right:2px solid var(--accent);transform:translateY(-50%) rotate(45deg)}
.bio-flow-connector span{position:relative;z-index:1;margin-top:-28px;padding:2px 5px;background:var(--soft)}
.bio-pipeline-node-list{display:grid;gap:9px}
.bio-pipeline-flow-node{position:relative;display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-left:3px solid color-mix(in srgb,var(--accent) 68%,#51aaa6);border-radius:10px;background:var(--paper)}
.bio-pipeline-flow-node.is-running{box-shadow:inset 0 0 0 1px color-mix(in srgb,#51aaa6 22%,transparent)}
.bio-pipeline-flow-node.is-running::before{content:"";position:absolute;top:15px;left:-6px;width:9px;height:9px;border-radius:50%;background:#51aaa6;box-shadow:0 0 0 4px color-mix(in srgb,#51aaa6 18%,transparent)}
.bio-pipeline-node-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}
.bio-pipeline-node-main>button,.bio-pipeline-node-main>div{display:grid;gap:4px;padding:0;color:var(--ink);text-align:left;background:transparent;border:0;font:inherit;cursor:pointer}
.bio-pipeline-node-main>div{cursor:default}
.bio-pipeline-node-main strong{font-size:13px;line-height:1.35}
.bio-pipeline-node-main small{color:var(--muted);font-size:10px;line-height:1.4}
.bio-run-node{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:8px 10px;color:var(--ink);text-align:left;background:var(--soft);border:1px solid var(--line);border-radius:8px;font:inherit;cursor:pointer}
.bio-run-node span{font:800 9px var(--font-latin);letter-spacing:.06em;color:var(--accent-deep)}
.bio-run-node small{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.bio-run-node b{font-size:14px}
.bio-dataset-action-strip{padding-bottom:0}
.bio-flow-empty{display:grid;place-items:center;min-height:74px;padding:18px;color:var(--muted);border:1px dashed var(--line);background:color-mix(in srgb,var(--paper) 72%,transparent);font-size:12px;text-align:center}
.bio-flow-empty-main{min-height:180px}

/* Match bioinformatics record headers to reagent inventory in both display modes. */
body:not(.dark-theme) #recordDetailDialog .bioinfo-detail-hero{color:#22312b!important;background:linear-gradient(105deg,rgba(189,224,78,.34),rgba(248,250,243,.98) 40%,rgba(226,236,228,.98))!important;border-color:rgba(116,151,46,.32)!important}
body:not(.dark-theme) #recordDetailDialog .bioinfo-detail-hero h3{color:#1d2b25!important}
body:not(.dark-theme) #recordDetailDialog .bioinfo-detail-hero p{color:#52635b!important}
body:not(.dark-theme) #recordDetailDialog .bioinfo-detail-hero .record-detail-code{color:#63851e!important}
body.dark-theme #recordDetailDialog .bioinfo-detail-hero{color:#f3f7f2!important;background:linear-gradient(108deg,rgba(164,207,57,.2),rgba(48,67,58,.98) 40%,rgba(29,42,36,.99))!important;border-color:rgba(174,213,72,.38)!important}
body.dark-theme #recordDetailDialog .bioinfo-detail-hero :is(h3,p){color:#f3f7f2!important}
body.dark-theme #recordDetailDialog .bioinfo-detail-hero .record-detail-code{color:#c4e36b!important}

.dark-theme .bio-project-flow-list{background:color-mix(in srgb,var(--soft) 78%,#08110d)}
.dark-theme :is(.bio-project-map-card,.bio-dataset-map-card,.bio-pipeline-flow-node,.bio-flow-detail-button){background:var(--paper)}
.dark-theme .bio-flow-connector span{background:var(--soft)}
body.background-all-lives :is(.bio-project-map-card,.bio-dataset-map-card,.bio-flow-source-node,.bio-pipeline-flow-node,.bio-run-node,.bio-flow-empty){border-radius:0}
body.background-all-lives .bio-project-map-card.expanded{border-color:var(--atlas-blue);box-shadow:5px 5px 0 color-mix(in srgb,var(--atlas-blue) 14%,transparent)}
body.background-all-lives .bio-flow-connector i{background:linear-gradient(90deg,var(--atlas-blue),var(--atlas-red))}
body.background-all-lives .bio-flow-connector i::after{border-color:var(--atlas-red)}

@media(max-width:900px){
  .bio-project-map-toggle{grid-template-columns:92px minmax(180px,1fr) auto 32px}
  .bio-project-metrics{display:none}
  .bio-analysis-flow{grid-template-columns:1fr}
  .bio-flow-connector{min-height:34px}
  .bio-flow-connector i{top:0;bottom:0;left:50%;width:2px;height:auto;background:linear-gradient(#51aaa6,var(--accent))}
  .bio-flow-connector i::after{right:auto;top:auto;bottom:-1px;left:50%;transform:translateX(-50%) rotate(135deg)}
  .bio-flow-connector span{margin:0 0 0 58px}
}
@media(max-width:700px){
  .bioinfo-flow-toolbar{align-items:stretch}
  .bio-project-flow-list{padding:10px}
  .bio-project-map-toggle{grid-template-columns:1fr auto;gap:8px;min-height:92px;padding:13px 52px 13px 13px}
  .bio-project-code{grid-column:1}.bio-project-heading{grid-column:1}.bio-project-map-toggle>.status-chip{grid-column:2;grid-row:1}.bio-project-map-toggle>.bio-flow-chevron{grid-column:2;grid-row:2}
  .bio-project-action-strip{justify-content:flex-start;overflow-x:auto}.bio-project-action-strip .button{flex:0 0 auto}
  .bio-dataset-map-toggle{grid-template-columns:48px minmax(0,1fr) 30px;gap:9px;padding:11px 48px 11px 11px}
  .bio-dataset-location{display:none}.bio-dataset-glyph{width:42px}
  .bio-dataset-map-body{padding:10px}
}
/* File-browser hierarchy for projects, datasets, workflows and run scripts. */
.bio-project-flow-list{display:block;padding:0;background:var(--paper)}
.bio-file-browser{min-height:360px;padding:18px;background:color-mix(in srgb,var(--soft) 56%,var(--paper))}
.bio-file-breadcrumb{display:flex;align-items:center;gap:9px;min-height:38px;margin-bottom:18px;padding:0 4px 10px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}
.bio-file-breadcrumb :is(button,b){color:var(--ink);font:800 13px var(--font-interface);background:none;border:0}
.bio-file-breadcrumb button{padding:0;cursor:pointer}.bio-file-breadcrumb button:hover{color:var(--accent-deep)}
.bio-file-breadcrumb>span:last-child{margin-left:auto}
.bio-folder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 16px;padding-top:9px}
.bio-folder-card{position:relative;min-width:0;min-height:148px;margin-top:12px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));border-radius:9px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 11%,var(--paper)),var(--paper) 64%);box-shadow:0 8px 19px rgba(42,54,48,.055);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.bio-folder-card::before{content:"";position:absolute;left:-1px;top:-13px;width:42%;height:18px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));border-bottom:0;border-radius:8px 13px 0 0;background:color-mix(in srgb,var(--accent) 13%,var(--paper));clip-path:polygon(0 0,82% 0,100% 100%,0 100%)}
.bio-folder-card:hover{z-index:1;transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 72%,var(--line));box-shadow:0 13px 25px rgba(42,54,48,.1)}
.bio-folder-open{position:relative;z-index:1;display:grid;align-content:start;gap:8px;width:100%;min-height:146px;padding:20px 42px 14px 16px;color:var(--ink);text-align:left;background:transparent;border:0;font:inherit;cursor:pointer}
.bio-folder-kind{color:var(--accent-deep);font:800 9px/1.2 var(--font-latin);letter-spacing:.13em}
.bio-folder-open>strong{overflow:hidden;font-size:16px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.bio-folder-open>small{overflow:hidden;color:var(--muted);font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}
.bio-folder-footer{align-self:end;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding-top:10px;border-top:1px solid var(--line);font-size:10px}
.bio-folder-footer i{overflow:hidden;color:var(--muted);font-style:normal;text-overflow:ellipsis;white-space:nowrap}.bio-folder-footer b{flex:none;color:var(--accent-deep)}
.bio-folder-detail{position:absolute;right:10px;top:12px;z-index:3;display:grid;place-items:center;width:29px;height:29px;padding:0;color:var(--muted);background:color-mix(in srgb,var(--paper) 86%,transparent);border:1px solid var(--line);border-radius:50%;font:800 12px var(--font-latin);cursor:pointer}
.bio-folder-detail:hover{color:var(--ink);border-color:var(--accent)}
.bio-workflow-folder{border-color:color-mix(in srgb,#51aaa6 52%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,#51aaa6 14%,var(--paper)),var(--paper) 64%)}
.bio-workflow-folder::before{border-color:color-mix(in srgb,#51aaa6 52%,var(--line));background:color-mix(in srgb,#51aaa6 17%,var(--paper))}
.bio-workflow-folder .bio-folder-kind{color:#397e78}
.bio-folder-summary{display:flex;align-items:center;gap:10px;margin:0 0 20px;padding:14px 16px;border:1px solid var(--line);background:var(--paper)}
.bio-folder-summary>div{display:grid;gap:4px;min-width:0;margin-right:auto}.bio-folder-summary>div>span{color:var(--accent-deep);font:800 9px var(--font-latin);letter-spacing:.12em}.bio-folder-summary>div>strong{font-size:16px}.bio-folder-summary>div>small{color:var(--muted);font-size:11px}
.bio-dataset-profile{border:1px solid var(--line);background:var(--paper)}
.bio-dataset-profile>header{display:flex;align-items:center;gap:14px;padding:16px;border-bottom:1px solid var(--line)}
.bio-dataset-profile>header>div{display:grid;gap:4px;margin-right:auto}.bio-dataset-profile>header span,.bio-method-heading span,.bio-workflow-library-head span{color:var(--accent-deep);font:800 9px var(--font-latin);letter-spacing:.12em}.bio-dataset-profile h3,.bio-method-heading h3,.bio-workflow-library-head h3{margin:0;font-size:18px}.bio-dataset-profile>header small{color:var(--muted);font-size:10px}
.bio-dataset-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line)}
.bio-dataset-facts>div{display:grid;gap:6px;min-height:100px;padding:15px;background:color-mix(in srgb,var(--soft) 58%,var(--paper))}
.bio-dataset-facts span{color:var(--muted);font-size:11px}.bio-dataset-facts strong{overflow-wrap:anywhere;font-size:14px}.bio-dataset-facts small{color:var(--muted);font-size:10px}
.bio-method-heading,.bio-workflow-library-head{display:flex;align-items:center;gap:14px;margin:22px 0 12px;padding:0 2px}.bio-method-heading>div,.bio-workflow-library-head>div{display:grid;gap:4px;margin-right:auto}
.bio-method-file-list{display:grid;gap:9px}
.bio-method-file{display:grid;grid-template-columns:54px minmax(0,1fr) minmax(128px,.42fr) 34px auto;align-items:center;gap:14px;min-height:88px;padding:12px 14px;border:1px solid var(--line);border-left:4px solid color-mix(in srgb,var(--accent) 70%,#51aaa6);background:var(--paper)}
.bio-method-file.is-running{box-shadow:inset 0 0 0 1px color-mix(in srgb,#51aaa6 22%,transparent)}
.bio-method-file-icon{display:grid;place-items:center;width:48px;height:38px;color:#397e78;background:color-mix(in srgb,#51aaa6 12%,var(--paper));border:1px solid color-mix(in srgb,#51aaa6 42%,var(--line));font:800 9px var(--font-latin);letter-spacing:.08em}
.bio-method-file>div:nth-child(2){display:grid;gap:4px;min-width:0}.bio-method-file>div:nth-child(2)>span{color:var(--accent-deep);font-size:10px}.bio-method-file>div:nth-child(2)>strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.bio-method-file>div:nth-child(2)>small{color:var(--muted);font-size:10px}
.bio-method-status{display:grid;justify-items:start;gap:5px}.bio-method-status>small{color:var(--muted);font-size:10px}.bio-method-status>b{color:var(--muted);font-size:9px}
.bio-method-file>button{display:grid;place-items:center;min-width:32px;height:32px;padding:0 8px;color:var(--ink);background:var(--soft);border:1px solid var(--line);font:800 10px var(--font-latin);cursor:pointer}.bio-method-file>button:hover{border-color:var(--accent);color:var(--accent-deep)}
.bio-script-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.bio-script-file{display:grid;gap:10px;min-width:0;padding:16px;border:1px solid var(--line);border-top:3px solid color-mix(in srgb,#51aaa6 58%,var(--accent));background:var(--paper)}
.bio-script-file header,.bio-script-file footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.bio-script-file header>span{color:#397e78;font:800 9px var(--font-latin);letter-spacing:.12em}.bio-script-file header>button{width:29px;height:29px;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:50%;cursor:pointer}.bio-script-file>strong{font-size:15px}.bio-script-file>small{color:var(--muted);font-size:10px}.bio-script-file pre{max-height:94px;margin:0;padding:11px;overflow:auto;color:var(--ink);background:var(--soft);border:1px solid var(--line);font:600 10px/1.55 Consolas,'Courier New',monospace;white-space:pre-wrap}.bio-script-file footer{padding-top:9px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.bio-script-file footer b{color:var(--accent-deep)}
.dark-theme .bio-file-browser{background:color-mix(in srgb,var(--soft) 80%,#08110d)}
.dark-theme :is(.bio-folder-card,.bio-folder-summary,.bio-dataset-profile,.bio-method-file,.bio-script-file){box-shadow:none}
body.background-all-lives :is(.bio-folder-card,.bio-folder-summary,.bio-dataset-profile,.bio-method-file,.bio-script-file,.bio-method-file>button){border-radius:0}
body.background-all-lives .bio-folder-card{box-shadow:4px 4px 0 color-mix(in srgb,var(--atlas-blue) 12%,transparent)}
body.background-all-lives .bio-folder-card:hover{box-shadow:5px 5px 0 color-mix(in srgb,var(--atlas-red) 14%,transparent)}
@media(max-width:960px){.bio-folder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bio-script-grid{grid-template-columns:1fr}.bio-method-file{grid-template-columns:48px minmax(0,1fr) auto}.bio-method-status{grid-column:2}.bio-method-file>button{grid-row:1/3;grid-column:3}}
@media(max-width:700px){.bio-file-browser{padding:12px}.bio-folder-grid{grid-template-columns:1fr;gap:17px}.bio-folder-card,.bio-folder-open{min-height:132px}.bio-folder-summary{align-items:flex-start;flex-wrap:wrap}.bio-folder-summary>div{flex:1 1 100%}.bio-dataset-facts{grid-template-columns:1fr}.bio-dataset-facts>div{min-height:82px}.bio-method-heading,.bio-workflow-library-head{align-items:flex-start;flex-wrap:wrap}.bio-method-heading>div,.bio-workflow-library-head>div{flex:1 1 100%}.bio-method-file{grid-template-columns:42px minmax(0,1fr) auto;gap:9px;padding:10px}.bio-method-file-icon{width:40px}.bio-method-file>div:nth-child(2)>strong{white-space:normal}.bio-method-file>button:last-child{grid-row:auto;grid-column:2/4;justify-self:stretch}}

/* Computer-folder browser: every record uses a real open-folder silhouette. */
.bioinfo-flow-workspace,.bioinfo-flow-toolbar{background:var(--paper)}
.bio-file-browser{position:relative;background:color-mix(in srgb,var(--soft) 42%,var(--paper));box-shadow:inset 0 0 0 1px var(--line)}
.bio-folder-grid{grid-template-columns:repeat(auto-fill,minmax(180px,200px));justify-content:start;gap:18px 12px;padding:18px 2px 5px}
.bio-folder-card{isolation:isolate;position:relative;width:100%;max-width:200px;min-height:154px;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;filter:drop-shadow(0 9px 8px rgba(72,55,20,.16));transition:transform .18s ease,filter .18s ease}
.bio-folder-card::before,.bio-folder-card::after{display:none!important}
.bio-folder-art{position:absolute;inset:0;z-index:0;display:block;pointer-events:none}
.bio-folder-art svg{display:block;width:100%;height:100%;overflow:visible}
.bio-folder-back{stroke:#b47c20;stroke-width:2.2}
.bio-folder-front{stroke:#bd8422;stroke-width:2.2}
.bio-folder-card:hover,.bio-folder-card:focus-within{z-index:2;transform:translateY(-4px);border:0;box-shadow:none;filter:drop-shadow(0 15px 12px rgba(42,54,48,.18))}
.bio-folder-open{z-index:2;align-content:center;justify-items:center;gap:7px;min-height:154px;padding:47px 31px 10px;color:#272217;text-align:center}
.bio-folder-open>strong,.bio-folder-open>small{max-width:100%;text-align:center}
.bio-folder-card .bio-folder-kind,.bio-folder-card .bio-folder-footer b{color:#715313}
.bio-folder-card .bio-folder-open>small,.bio-folder-card .bio-folder-footer i{color:#615846}
.bio-folder-open::after{content:"";position:absolute;right:15px;bottom:15px;width:38px;height:5px;border-top:2px solid rgba(100,72,16,.64);border-bottom:1px solid rgba(100,72,16,.36);opacity:.82}
.bio-folder-detail{z-index:3;top:43px;right:12px;color:#5d4b24;background:rgba(255,238,172,.76);border-color:rgba(122,86,20,.34);box-shadow:0 2px 7px rgba(72,55,20,.12)}
.bio-folder-footer{display:none}
.bio-folder-footer::before{content:"";position:absolute;left:0;top:-11px;width:58px;height:2px;background:linear-gradient(90deg,var(--accent),#51aaa6)}
.bio-workflow-folder .bio-folder-back,.bio-workflow-folder .bio-folder-front{stroke:#a87420}
.bio-analysis-folder-grid,.bio-pipeline-folder-grid{margin-top:2px}
.bio-analysis-folder.is-running .bio-folder-front{stroke:#6e9e29;stroke-width:2.8}
.bio-analysis-folder .bio-folder-kind,.bio-pipeline-folder .bio-folder-kind{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dark-theme :is(.bioinfo-flow-workspace,.bioinfo-flow-toolbar){background:var(--paper)}
.dark-theme .bio-file-browser{background:color-mix(in srgb,var(--soft) 72%,var(--paper));box-shadow:inset 0 0 0 1px var(--line)}
.dark-theme .bio-folder-card{filter:drop-shadow(0 11px 12px rgba(0,0,0,.28))}
body.background-all-lives .bio-folder-card,body.background-all-lives .bio-folder-card:hover{box-shadow:none}
@media(max-width:960px){.bio-folder-grid{grid-template-columns:repeat(auto-fill,minmax(180px,200px));justify-content:start}}
@media(max-width:700px){.bio-folder-grid{grid-template-columns:200px;justify-content:center;gap:17px}.bio-folder-card,.bio-folder-open{min-height:146px}.bio-folder-open{min-height:146px;padding:44px 29px 9px}.bio-folder-detail{top:41px}.bio-folder-art svg{height:100%}}

/* Keep the complete bioinformatics workspace on the shared light/dark palette. */
#view-bioinformatics,
#recordDetailDialog{
  --paper:var(--surface);
  --soft:var(--surface-2);
  --accent:var(--acid);
  --accent-deep:color-mix(in srgb,var(--ink) 66%,var(--acid-strong));
}
#view-bioinformatics{color:var(--ink)}
#view-bioinformatics :is(.bioinfo-flow-workspace,.bioinfo-flow-toolbar,.bio-project-flow-list){
  color:var(--ink);
  background:var(--surface);
  border-color:var(--line);
}
#view-bioinformatics .bio-file-browser{
  color:var(--ink);
  background:color-mix(in srgb,var(--surface-2) 72%,var(--surface));
  box-shadow:inset 0 0 0 1px var(--line);
}
#view-bioinformatics :is(.bio-file-breadcrumb,.bio-folder-summary,.bio-dataset-profile,.bio-method-file,.bio-script-file){
  color:var(--ink);
  background:var(--surface);
  border-color:var(--line);
}
#view-bioinformatics :is(.bio-file-breadcrumb,.bio-dataset-profile>header,.bio-dataset-facts,.bio-folder-summary,.bio-method-file,.bio-script-file,.bio-script-file footer){
  border-color:var(--line);
}
#view-bioinformatics :is(.bio-dataset-facts>div,.bioinfo-code-block,.bio-script-file pre,.bio-method-file>button,.bio-flow-empty){
  color:var(--ink);
  background:var(--surface-2);
  border-color:var(--line);
}
#view-bioinformatics :is(.bio-file-breadcrumb>span,.bio-dataset-facts span,.bio-dataset-facts small,.bio-folder-summary small,.bio-method-file small,.bio-script-file small,.bio-script-file footer){
  color:var(--muted);
}
#view-bioinformatics .inline-search{
  color:var(--ink);
  background:color-mix(in srgb,var(--surface-2) 82%,var(--surface));
  border-color:var(--line-dark);
}
#view-bioinformatics .inline-search input{
  color:var(--ink);
  background:transparent;
}
#view-bioinformatics .inline-search>span{color:var(--muted)}
#view-bioinformatics .bio-file-breadcrumb{padding-top:4px}
#view-bioinformatics .bio-folder-card{
  --bio-folder-back:color-mix(in srgb,var(--surface-2) 78%,var(--accent) 22%);
  --bio-folder-front:color-mix(in srgb,var(--surface) 72%,var(--accent) 28%);
  --bio-folder-line:color-mix(in srgb,var(--ink) 34%,var(--accent) 66%);
}
#view-bioinformatics .bio-folder-back{
  fill:var(--bio-folder-back)!important;
  fill-opacity:.72;
  stroke:var(--bio-folder-line);
}
#view-bioinformatics .bio-folder-front{
  fill:var(--bio-folder-front)!important;
  fill-opacity:.78;
  stroke:var(--bio-folder-line);
}
#view-bioinformatics .bio-folder-open{color:var(--ink)}
#view-bioinformatics .bio-folder-card :is(.bio-folder-kind,.bio-folder-open>small){color:var(--muted)}
#view-bioinformatics .bio-folder-open::after{border-color:color-mix(in srgb,var(--ink) 32%,transparent)}
#view-bioinformatics .bio-folder-detail{
  color:var(--ink);
  background:color-mix(in srgb,var(--surface) 72%,transparent);
  border-color:var(--line-dark);
}
#view-bioinformatics .bioinfo-protein-structure .protein-nodes{fill:var(--surface)}
body #recordDetailDialog .bioinfo-detail-hero:is(.bioinfo-detail-hero){
  color:var(--ink)!important;
  background:linear-gradient(105deg,color-mix(in srgb,var(--acid) 16%,var(--surface)),var(--surface) 42%,color-mix(in srgb,var(--cyan) 10%,var(--surface)))!important;
  border-color:var(--line)!important;
}
body #recordDetailDialog .bioinfo-detail-hero:is(.bioinfo-detail-hero) :is(h3,p){color:var(--ink)!important}
body #recordDetailDialog .bioinfo-detail-hero:is(.bioinfo-detail-hero) .record-detail-code{color:var(--accent-deep)!important}
body #recordDetailDialog .bioinfo-detail-hero:is(.bioinfo-detail-hero) .status-chip{
  color:var(--ink);
  background:var(--surface-2);
  border-color:var(--line);
}
body.dark-theme #view-bioinformatics,
body.dark-theme #recordDetailDialog{
  --accent-deep:color-mix(in srgb,var(--ink) 78%,var(--acid));
}
body.dark-theme #view-bioinformatics .bio-file-browser{
  background:color-mix(in srgb,var(--surface-2) 78%,var(--surface));
}

@media(min-width:701px){
  #view-bioinformatics .bio-file-breadcrumb,
  #view-bioinformatics .bio-workflow-library-head{padding-left:18px}
  #view-bioinformatics .bio-folder-grid{padding-left:18px}
}
