/* Focused layouts for data visualization and analysis requests. */
#view-tools #atlasExplorer, #view-atlas-search .request-page {
  --workflow-primary: #284b73;
  --workflow-primary-hover: #1d3b5e;
  --workflow-on-primary: #fff;
  --workflow-warning: #925126;
  --workflow-warning-bg: #fff7ef;
}
:root[data-theme="dark"] :is(#view-tools #atlasExplorer, #view-atlas-search .request-page) {
  --workflow-primary: #b6d0f0;
  --workflow-primary-hover: #d0e2fa;
  --workflow-on-primary: #183554;
  --workflow-warning: #f0c49c;
  --workflow-warning-bg: #3a3040;
}
#view-tools #atlasExplorer :is(.explorer-import, .explorer-capabilities, .explorer-panel, .explorer-main),
#view-atlas-search .request-page :is(.request-section, .request-summary) {
  border: 1px solid var(--portal-line);
  border-radius: 14px;
  background: var(--portal-card);
  box-shadow: none;
}
#view-tools #atlasExplorer { padding-top: 24px; }
#view-tools #atlasExplorer .explorer-overview { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin-top: 0; }
.explorer-import { min-width: 0; scroll-margin-top: 128px; }
.explorer-import > summary, .explorer-capabilities > summary {
  padding: 18px 22px;
  color: var(--portal-ink);
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
}
.explorer-import > summary::marker, .explorer-capabilities > summary::marker { color: var(--ui-label); font-size: 12px; }
.explorer-import__body { padding: 0 22px 22px; }
.explorer-import__actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 12px 20px; margin-bottom: 18px; }
.explorer-import__actions .forms-link { margin: 0 auto 0 0; font-size: 13px; font-weight: 600; }
.explorer-demo-link, .explorer-change-data {
  border: 0;
  padding: 4px 0;
  background: transparent;
  color: var(--ui-label);
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
.explorer-demo-link:hover, .explorer-change-data:hover { text-decoration: underline; }
.explorer-import-tabs { display: flex; gap: 24px; margin-bottom: 16px; border-bottom: 1px solid var(--portal-line); }
.explorer-import-tabs button {
  padding: 10px 0 12px;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
.explorer-import-tabs [aria-selected="true"] { border-bottom-color: var(--portal-blue); color: var(--portal-ink); }
#view-tools #atlasExplorer .explorer-source { position: relative; border-radius: 10px; box-shadow: none; transform: none; font-size: 14px; }
#view-tools #atlasExplorer .explorer-source:hover { border-color: var(--portal-input-line); box-shadow: none; transform: none; }
#view-tools #atlasExplorer .explorer-source--results { min-height: 100px; border: 1px dashed var(--portal-input-line); background: var(--portal-input); padding: 20px; cursor: pointer; }
#view-tools #atlasExplorer .explorer-source--results:focus-within { outline: 2px solid var(--portal-blue); outline-offset: 3px; }
#view-tools #atlasExplorer .explorer-source__icon { background: var(--ui-icon-bg); color: var(--ui-icon); border-radius: 8px; }
#view-tools #atlasExplorer .explorer-source strong { color: var(--portal-ink); font-size: 15px; font-weight: 650; }
#view-tools #atlasExplorer .explorer-source small, #view-tools #atlasExplorer .explorer-file [data-file-name] { font-size: 13px; }
#view-tools #atlasExplorer .explorer-source--matrix { border: 0; padding: 0; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px 18px; }
#explorerMatrixSource > :is(.explorer-source__icon, strong) { display: none; }
#view-tools #atlasExplorer .explorer-file { position: relative; grid-column: auto; display: grid; gap: 10px; margin: 0; min-height: 84px; padding: 14px; border: 1px dashed var(--portal-input-line); background: var(--portal-input); }
#view-tools #atlasExplorer .explorer-file small { white-space: normal; }
#view-tools #atlasExplorer .explorer-file [data-file-name] { max-width: 100%; }
#view-tools #atlasExplorer .explorer-file:focus-within { outline: 2px solid var(--portal-blue); outline-offset: 3px; }
#view-tools #atlasExplorer .explorer-value-scale { grid-column: 1; margin: 0; font-size: 13px; }
#view-tools #atlasExplorer .explorer-source__row { grid-column: 2; margin: 0; align-items: end; }
#view-tools #atlasExplorer #explorerMatrixBtn { min-height: 44px; border-radius: 8px; box-shadow: none; background: var(--workflow-primary); color: var(--workflow-on-primary); font-weight: 600; }
#view-tools #atlasExplorer .explorer-capabilities > summary { padding: 13px 22px; font-size: 13px; font-weight: 600; }
#view-tools #atlasExplorer .explorer-matrix-card { border: 0; border-radius: 0; box-shadow: none; padding: 0 22px 18px; }
#view-tools #atlasExplorer .explorer-matrix-card__head h2 { font-size: 15px; }
#view-tools #atlasExplorer .explorer-matrix-card__head p { font-size: 13px; }
#view-tools #atlasExplorer .cap--m::before { border-color: var(--ui-icon); }
#view-tools #atlasExplorer .explorer-legend { font-size: 12px; }
#view-tools #atlasExplorer .explorer-workspace { grid-template-columns: 260px minmax(0, 1fr); margin-top: 20px; gap: 20px; }
#view-tools #atlasExplorer .explorer-panel { gap: 16px; padding: 20px; top: 126px; }
.explorer-panel > h2 { margin: 0; color: var(--portal-ink); font-size: 16px; font-weight: 700; }
#view-tools #atlasExplorer .explorer-panel label > span { color: var(--ui-label); font-size: 13px; font-weight: 600; }
#view-tools #atlasExplorer .explorer-dataset strong { font-size: 14px; font-weight: 600; word-break: normal; overflow-wrap: anywhere; }
#view-tools #atlasExplorer .explorer-dataset small { font-size: 12px; line-height: 1.6; }
#view-tools #atlasExplorer .explorer-badge, #view-tools #atlasExplorer .explorer-badge:is(.is-demo, .is-partner) { background: var(--ui-icon-bg); color: var(--ui-label); border-radius: 5px; font-size: 12px; font-weight: 600; }
.explorer-change-data { justify-self: start; margin-top: 6px; }
.explorer-thresholds { min-width: 0; border: 0; padding: 0; margin: 0; }
.explorer-thresholds legend { padding: 0; margin-bottom: 8px; color: var(--portal-ink); font-size: 13px; font-weight: 600; }
#view-tools #atlasExplorer .explorer-thresholds label > span { font-size: 12px; }
.explorer-display-options { border-top: 1px solid var(--portal-line); padding-top: 12px; }
.explorer-display-options > summary { color: var(--ui-label); cursor: pointer; font-size: 13px; font-weight: 600; }
.explorer-display-options > label { margin-top: 12px; }
#view-tools #atlasExplorer .explorer-report button { min-height: 42px; border-radius: 8px; box-shadow: none; background: var(--workflow-primary); color: var(--workflow-on-primary); font-weight: 600; }
#view-tools #atlasExplorer .explorer-report button b { font-weight: 600; }
#view-tools #atlasExplorer .explorer-report small { font-size: 12px; line-height: 1.6; }
#view-tools #atlasExplorer .explorer-main { padding: 20px; }
#view-tools #atlasExplorer .explorer-tabs { gap: 0 18px; padding-bottom: 0; }
#view-tools #atlasExplorer .explorer-tabs button { min-height: 42px; border: 0; border-bottom: 2px solid transparent; padding: 8px 0 12px; border-radius: 0; background: transparent; color: var(--muted); font-size: 13px; font-weight: 600; box-shadow: none; }
#view-tools #atlasExplorer .explorer-tabs button.is-active { border-bottom-color: var(--portal-blue); background: transparent; color: var(--portal-ink); }
#view-tools #atlasExplorer .explorer-note { padding: 10px 12px; background: var(--portal-soft); font-size: 13px; line-height: 1.65; }
#view-tools #atlasExplorer .explorer-compare__card { border-radius: 10px; padding: 16px 12px 8px; }
#view-tools #atlasExplorer .explorer-compare__card h3 { color: var(--portal-ink); font-size: 14px; font-weight: 650; }
#view-tools #atlasExplorer .explorer-compare__card p { font-size: 12px; line-height: 1.6; }
#view-tools #atlasExplorer .cmp-kpi { border-radius: 8px; padding: 14px 12px; background: var(--portal-input); }
#view-tools #atlasExplorer .cmp-kpi--accent { background: var(--portal-soft); border: 1px solid var(--portal-line); }
#view-tools #atlasExplorer .cmp-kpi strong { color: var(--portal-ink); }
#view-tools #atlasExplorer .cmp-kpi span { font-size: 12px; font-weight: 600; }
.explorer-results-table { margin-top: 18px; border-top: 1px solid var(--portal-line); padding-top: 14px; }
.explorer-results-table > summary { color: var(--ui-label); font-size: 14px; font-weight: 600; cursor: pointer; }
#view-tools #atlasExplorer .explorer-table-head { margin-top: 12px; }
#view-tools #atlasExplorer .explorer-table-head small { font-size: 12px; line-height: 1.6; }
#view-tools #atlasExplorer .explorer-table { font-size: 13px; }
#view-tools #atlasExplorer .explorer-error { border: 1px solid var(--portal-line); background: var(--portal-soft); color: var(--portal-ink); font-size: 14px; line-height: 1.6; }
#view-tools #atlasExplorer .explorer-error[data-kind="error"] { color: var(--workflow-warning); background: var(--workflow-warning-bg); border-color: currentColor; }

/* Request form: one task per section, instructions available on demand. */
#view-atlas-search .request-page .request-layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; }
#view-atlas-search .request-page .request-start-banner { border: 0; border-bottom: 1px solid var(--portal-line); background: transparent; border-radius: 0; padding: 0 0 16px; }
#view-atlas-search .request-page .request-start-banner__icon { display: none; }
#view-atlas-search .request-page .request-start-banner p { font-size: 13px; }
#view-atlas-search .request-page .request-start-banner button { background: var(--portal-card); border-radius: 8px; font-weight: 600; }
#view-atlas-search .request-page .request-section { padding: 26px; }
#view-atlas-search .request-page .request-section__head { margin-bottom: 24px; }
#view-atlas-search .request-page .request-section__head h2 { font-size: 19px; }
#view-atlas-search .request-page :is(.request-section__head p, .request-help, .comparison-description) { font-size: 13px; line-height: 1.65; }
#view-atlas-search .request-page .request-section__num { border-radius: 7px; }
#view-atlas-search .request-page .pick-group { margin-bottom: 26px; }
#view-atlas-search .request-page :is(.pick-group__label, .field > label) { font-size: 14px; font-weight: 600; color: var(--ui-label); }
#view-atlas-search .request-page :is(.pick-card, #omicsChips .chip-add) { border-radius: 10px; font-weight: 600; }
#view-atlas-search .request-page #omicsChips .chip-add { min-width: 120px; }
#view-atlas-search .request-page .request-steps { margin-top: 16px; }
#view-atlas-search .request-page .request-steps li.is-done { border-color: var(--portal-input-line); }
#view-atlas-search .request-page .request-steps li.is-done span { background: var(--ui-icon-bg); color: var(--ui-label); }
#view-atlas-search .request-page .request-steps li:focus-visible { outline: 2px solid var(--portal-blue); outline-offset: 3px; }
#view-atlas-search .request-page .request-summary { padding: 22px; top: 126px; }
#view-atlas-search .request-page .request-summary h2 { margin-bottom: 18px; color: var(--portal-ink); font-size: 17px; }
#view-atlas-search .request-page .request-summary__block > span { font-size: 12px; font-weight: 500; }
#view-atlas-search .request-page .request-checklist { gap: 16px; }
#view-atlas-search .request-page .request-checklist b { color: var(--portal-ink); font-size: 13px; font-weight: 600; }
#view-atlas-search .request-page .request-checklist em { margin-top: 3px; font-size: 12px; line-height: 1.5; }
#view-atlas-search .request-page .request-checklist small { font-size: 11.5px; font-weight: 500; }
#view-atlas-search .request-page .request-checklist li.is-ok .request-checklist__mark { border-color: var(--ui-icon); background: var(--ui-icon); }
#view-atlas-search .request-page .request-summary__notice { border-top: 1px solid var(--portal-line); margin: 20px 0 0; padding-top: 14px; }
#view-atlas-search .request-page .input-mode { border-radius: 10px; background: var(--portal-soft); padding: 4px; }
#view-atlas-search .request-page .input-mode button { min-height: 44px; font-size: 14px; font-weight: 600; box-shadow: none; border-radius: 7px; }
#view-atlas-search .request-page .input-mode button.is-active { background: var(--portal-card); color: var(--portal-ink); box-shadow: 0 1px 3px rgba(18,45,80,.08); }
#view-atlas-search .request-page .processed-format { gap: 10px; margin-bottom: 22px; }
#view-atlas-search .request-page .processed-format label { min-height: 84px; padding: 14px; border-width: 1px; border-radius: 10px; }
#view-atlas-search .request-page .processed-format label:has(input:checked) { border-color: var(--portal-blue); background: var(--portal-soft); box-shadow: none; }
#view-atlas-search .request-page .processed-format__card b { font-size: 13px; font-weight: 600; }
#view-atlas-search .request-page .processed-format__card small { font-size: 12px; font-weight: 400; }
#view-atlas-search .request-page .processed-format__card em { padding: 0; border-radius: 0; background: transparent; color: var(--ui-label); font-size: 11px; font-weight: 600; }
#view-atlas-search .request-page .csv-intake { border: 0; border-top: 1px solid var(--portal-line); border-radius: 0; background: transparent; padding: 20px 0 0; }
#view-atlas-search .request-page .csv-intake__head h3 { font-size: 16px; font-weight: 650; }
#view-atlas-search .request-page .csv-intake__head p { font-size: 13px; line-height: 1.6; }
#view-atlas-search .request-page .csv-intake__guide { font-weight: 600; border-radius: 7px; border-color: var(--portal-input-line); color: var(--ui-label); }
#view-atlas-search .request-page .csv-slot { border-width: 1px; border-radius: 10px; padding: 18px; }
#view-atlas-search .request-page .csv-slot__title strong { font-weight: 600; }
#view-atlas-search .request-page .csv-slot__icon { border-radius: 8px; background: var(--ui-icon-bg); color: var(--ui-label); }
#view-atlas-search .request-page .csv-slot__pick { border-radius: 7px; background: var(--workflow-primary); color: var(--workflow-on-primary); font-weight: 600; }
#view-atlas-search .request-page .csv-slot.has-file .csv-slot__pick { background: var(--portal-card); color: var(--ui-label); }
#view-atlas-search .request-page .csv-slot__req { border: 0; padding: 0; font-size: 11px; font-weight: 400; }
#view-atlas-search .request-page :is(.request-comparison-info, .request-file-guide, .request-notes) { margin-top: 14px; font-size: 13px; }
#view-atlas-search .request-page :is(.request-comparison-info, .request-file-guide, .request-notes) > summary { color: var(--ui-label); cursor: pointer; font-weight: 600; line-height: 1.6; }
#view-atlas-search .request-page .request-comparison-info .comparison-description { margin-top: 10px; }
#view-atlas-search .request-page .request-notes > label { margin-top: 12px; }
#view-atlas-search .request-page .request-notes label > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
#view-atlas-search .request-page .request-notes textarea { min-height: 90px; }
#view-atlas-search .request-page .excel-request__intro { border: 0; padding: 0; background: transparent; }
#view-atlas-search .request-page .excel-request__intro strong { font-size: 16px; font-weight: 650; }
#view-atlas-search .request-page .excel-request__scope { font-size: 12px; }
#view-atlas-search .request-page .excel-request__grid { grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 18px; }
#view-atlas-search .request-page .excel-request__details { border: 0; padding: 0; box-shadow: none; background: transparent; }
#view-atlas-search .request-page .request-file-guide { border-top: 1px solid var(--portal-line); padding-top: 14px; }
#view-atlas-search .request-page .metadata-workflow-guide { margin-top: 14px; }
#view-atlas-search .request-page .request-file-guide .excel-sheet-guide { margin-top: 16px; }
#view-atlas-search .request-page .request-mode-intro { border: 0; padding: 0 0 12px; background: transparent; }
#view-atlas-search .request-page .request-mode-intro strong { color: var(--portal-ink); font-size: 16px; }
#view-atlas-search .request-page .request-mode-intro p { font-size: 13px; line-height: 1.6; }
#view-atlas-search .request-page :is(.request-step-nav__next, #searchBtn.request-submit) { border-radius: 8px; box-shadow: none; background: var(--workflow-primary); color: var(--workflow-on-primary); font-weight: 600; }
#view-atlas-search .request-page :is(.request-step-nav__next, #searchBtn.request-submit):hover { background: var(--workflow-primary-hover); }
#view-atlas-search .request-page #searchBtn[aria-disabled="true"] { background: var(--portal-soft); color: var(--muted); border: 1px solid var(--portal-line); }
#view-atlas-search .request-page .request-next { background: var(--portal-input); border-radius: 10px; }
#view-atlas-search .request-page .request-next ol { gap: 16px; }
#view-atlas-search .request-page .request-next span { font-size: 13px; }

@media (max-width: 1080px) {
  #view-tools #atlasExplorer .explorer-workspace { grid-template-columns: minmax(0, 1fr); }
  #view-tools #atlasExplorer .explorer-panel { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #view-tools #atlasExplorer .explorer-panel > :is(h2, .explorer-dataset, .explorer-report) { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
  #view-atlas-search .request-page .request-layout { grid-template-columns: minmax(0, 1fr); }
  #view-atlas-search .request-page .request-summary { position: static; }
}
@media (max-width: 640px) {
  .explorer-import > summary { padding: 16px; }
  .explorer-import__body { padding: 0 16px 16px; }
  .explorer-import__actions { justify-content: flex-start; }
  .explorer-import__actions .forms-link { flex-basis: 100%; }
  #view-tools #atlasExplorer .explorer-source--matrix { grid-template-columns: minmax(0, 1fr); }
  #view-tools #atlasExplorer :is(.explorer-value-scale, .explorer-source__row) { grid-column: 1; }
  #view-tools #atlasExplorer .explorer-panel { grid-template-columns: minmax(0, 1fr); }
  #view-tools #atlasExplorer .explorer-panel > * { grid-column: 1; }
  #view-tools #atlasExplorer .explorer-panel__pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #view-tools #atlasExplorer .explorer-main { padding: 16px 12px; }
  #view-tools #atlasExplorer .explorer-tabs { gap: 0 16px; }
  #view-tools #atlasExplorer .explorer-compare__kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #view-tools #atlasExplorer .explorer-compare__grid { grid-template-columns: minmax(0, 1fr); }
  #view-atlas-search .request-page .request-section { padding: 20px 16px; }
  #view-atlas-search .request-page .request-start-banner { display: flex; align-items: flex-start; flex-direction: column; gap: 10px; }
  #view-atlas-search .request-page .processed-format { grid-template-columns: minmax(0, 1fr); }
  #view-atlas-search .request-page .processed-format label { min-height: 64px; }
  #view-atlas-search .request-page .id-input-row { flex-wrap: wrap; }
  #view-atlas-search .request-page .id-input-row input { flex-basis: 100%; }
}
#view-tools #atlasExplorer .cmp-matrix { font-size: 13px; line-height: 1.6; }
#view-tools #atlasExplorer .cmp-matrix th, #view-tools #atlasExplorer .cmp-matrix td { padding: 10px; }
#view-tools #atlasExplorer .cmp-matrix thead th { font-size: 12px; }
#view-tools #atlasExplorer .modebar { background: transparent !important; }
#view-atlas-search .request-page aside.request-summary { box-shadow: none; background-image: none; }
#view-tools #atlasExplorer :is(.modebar-group, .modebar-btn) { background: transparent !important; }
@media (max-width: 640px) {
  #view-atlas-search .request-page .input-mode { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #view-atlas-search .request-page .input-mode button { font-size: 13px; }
}

/* Three tasks; guidance stays subordinate to the task being performed. */
.request-task-nav { gap: 8px; }
.request-task-nav > button { border-radius: 8px; }
.request-task-nav .request-task-nav__help:not(.is-active) { background: transparent; color: var(--ui-label); font-weight: 500; }
.request-task-nav .page-tabs__link--tight { margin-left: auto; }
.workflow-task-context { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 10px 24px; margin-bottom: 18px; }
.workflow-task-context p { margin: 0; color: var(--portal-ink); font-size: 15px; line-height: 1.7; }
.workflow-task-context a { color: var(--ui-label); font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
.explorer-demo-context { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 20px; margin-bottom: 18px; padding: 16px 20px; border: 1px solid var(--portal-line); border-radius: 10px; background: var(--portal-soft); }
.explorer-demo-context p { flex: 1 1 380px; margin: 0; color: var(--portal-ink); font-size: 14px; line-height: 1.7; }
.explorer-demo-context button { padding: 8px 12px; border: 1px solid var(--portal-input-line); border-radius: 6px; background: var(--portal-card); color: var(--ui-label); font: inherit; font-size: 13px; cursor: pointer; }
.request-data-types, .workflow-help-types { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0 0 20px; padding: 0; border: 0; }
.request-data-types legend, .workflow-help-types legend { margin-bottom: 10px; padding: 0; color: var(--portal-ink); font-size: 14px; font-weight: 600; }
.request-data-types label, .workflow-help-types label { position: relative; cursor: pointer; }
.request-data-types input, .workflow-help-types input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.request-data-types span, .workflow-help-types span { display: block; padding: 10px 18px; border: 1px solid var(--portal-input-line); border-radius: 7px; color: var(--ui-label); background: var(--portal-card); font-size: 14px; }
.request-data-types input:checked + span, .workflow-help-types input:checked + span { border-color: var(--ui-label); color: var(--portal-ink); background: var(--portal-soft); font-weight: 600; }
.request-data-types input:disabled + span { opacity: .45; cursor: not-allowed; }
.request-data-types input:focus-visible + span, .workflow-help-types input:focus-visible + span { outline: 2px solid var(--portal-blue); outline-offset: 3px; }
#view-atlas-search .processed-format { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.workflow-input-scope { padding: 12px 16px; border-left: 3px solid var(--ui-label); background: var(--portal-soft); color: var(--portal-ink); font-size: 14px; line-height: 1.7; }
.workflow-file-dialog { width: min(780px, calc(100vw - 32px)); max-height: 85vh; padding: 24px; border: 1px solid var(--portal-line); border-radius: 14px; background: var(--portal-card); color: var(--portal-ink); overflow: auto; }
.workflow-file-dialog::backdrop { background: rgba(8, 24, 48, .5); }
.workflow-file-dialog > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.workflow-file-dialog h2 { margin: 0; font-size: 20px; }
.workflow-file-dialog header button { padding: 7px 12px; border: 1px solid var(--portal-line); border-radius: 6px; background: var(--portal-card); color: var(--ui-label); font: inherit; font-size: 13px; cursor: pointer; }
#workflowFileBody p { font-size: 14px; line-height: 1.8; }
#workflowFileBody a { color: var(--ui-label); }
#workflowFileBody .sf-downloads { display: grid; gap: 20px; margin-top: 24px; }
#workflowFileBody .sf-download-group header, #workflowFileBody .sf-download-group li { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 10px 0; border-bottom: 1px solid var(--portal-line); }
#workflowFileBody .sf-download-group h4 { margin: 0; font-size: 15px; }
#workflowFileBody ul { margin: 0; padding: 0; list-style: none; }
#workflowFileBody li > div { display: flex; flex-wrap: wrap; gap: 8px; }
#workflowFileBody code { font-size: 13px; overflow-wrap: anywhere; }
.workflow-file-dialog :is(button,a):focus-visible { outline: 2px solid var(--portal-blue); outline-offset: 3px; }
@media (max-width: 640px) {
  .request-task-nav { flex-wrap: wrap; }
  .request-task-nav .page-tabs__link--tight { margin-left: 0; }
  .request-task-nav > button { min-height: 42px; padding: 10px 12px; font-size: 13px; }
  .request-data-types { gap: 8px; }
  .request-data-types span { padding: 10px 12px; }
  .workflow-file-dialog { padding: 18px 16px; }
}

/* Data-specific examples: list, article, and the existing chart workspace. */
#atlasExplorer[hidden], #visualizationExamples[hidden], #visualizationWorkspaceNav[hidden] { display: none; }
.viz-examples, .viz-workspace-nav { max-width: 1320px; margin: 0 auto; padding: 30px 24px 12px; color: var(--portal-ink); }
.viz-list-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.viz-list-head h2 { margin: 0 0 8px; font-size: 23px; letter-spacing: -.035em; }
.viz-list-head p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.viz-list-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 20px; }
.viz-demo-link { color: var(--ui-label); font-size: 13px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.viz-demo-link:hover { color: var(--portal-blue); text-decoration: underline; }
.viz-demo-link:focus-visible { outline: 2px solid var(--portal-blue); outline-offset: 5px; border-radius: 2px; }
.viz-list { display: grid; gap: 14px; }
.viz-entry { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 26px 28px; border: 1px solid var(--portal-line); border-radius: 14px; background: var(--portal-card); color: inherit; text-decoration: none; transition: border-color .15s; }
.viz-entry:hover { border-color: var(--portal-blue); }
.viz-entry h3 { margin: 8px 0; font-size: 19px; letter-spacing: -.025em; line-height: 1.5; }
.viz-entry p { margin: 0 0 12px; color: var(--muted); font-size: 14px; line-height: 1.7; }
.viz-entry small, .viz-category { font-size: 12px; color: var(--ui-label); font-weight: 600; }
.viz-entry-end { display: grid; gap: 16px; text-align: right; flex-shrink: 0; font-size: 13px; color: var(--muted); }
.viz-entry-end b { font-weight: 600; color: var(--portal-blue); }
.viz-primary, .viz-secondary { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 10px 17px; border: 1px solid var(--portal-input-line); border-radius: 8px; background: var(--portal-card); color: var(--portal-ink); text-decoration: none; font: inherit; font-size: 13px; font-weight: 600; white-space: nowrap; cursor: pointer; }
.viz-primary { border-color: var(--portal-blue); background: var(--portal-blue); color: white; }
.viz-primary:hover { filter: brightness(1.08); }
.viz-secondary:hover { border-color: var(--portal-blue); }
:root[data-theme="dark"] .viz-primary { color: #10263e; }
.viz-back { display: inline-flex; margin-bottom: 18px; color: var(--ui-label); text-decoration: none; font-size: 13px; font-weight: 600; }
.viz-back:hover { color: var(--portal-blue); }
.viz-article { border: 1px solid var(--portal-line); border-radius: 16px; background: var(--portal-card); overflow: hidden; }
.viz-article-head { padding: 30px 32px; border-bottom: 1px solid var(--portal-line); }
.viz-article-head h2 { margin: 10px 0 12px; font-size: 27px; line-height: 1.45; letter-spacing: -.035em; }
.viz-article-head > p { margin: 0 0 16px; font-size: 15px; line-height: 1.8; }
.viz-article-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; color: var(--muted); font-size: 13px; }
.viz-synthetic { padding: 4px 8px; border-radius: 5px; background: var(--ui-icon-bg); color: var(--ui-label); font-size: 11px; font-weight: 600; }
.viz-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.viz-article-head .viz-actions { margin-top: 22px; }
.viz-article-body { padding: 28px 32px; }
.viz-article-body h3 { margin: 0 0 12px; font-size: 18px; }
.viz-article-body h4 { margin: 16px 0 10px; font-size: 14px; }
.viz-article-body p, .viz-processing li { color: var(--muted); font-size: 14px; line-height: 1.85; }
.viz-explanation { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 36px; }
.viz-file { min-width: 0; margin-top: 24px; }
.viz-file h4 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; }
.viz-file code { font-size: 11px; font-weight: 400; color: var(--muted); overflow-wrap: anywhere; }
.viz-table-scroll { overflow-x: auto; border: 1px solid var(--portal-line); border-radius: 8px; }
.viz-file table { width: 100%; border-collapse: collapse; white-space: nowrap; font-size: 11px; font-variant-numeric: tabular-nums; }
.viz-file th, .viz-file td { padding: 10px 12px; border-bottom: 1px solid var(--portal-line); text-align: left; }
.viz-file th { color: var(--ui-label); background: var(--portal-input); font-weight: 600; }
.viz-file tr:last-child td { border: 0; }
.viz-file .viz-table-caption { margin: 6px 0 0; font-size: 11px; }
.viz-processing ol { display: grid; gap: 16px; margin: 0; padding-left: 20px; }
.viz-processing li::marker { color: var(--portal-blue); font-weight: 700; }
.viz-processing .viz-scope { padding-top: 18px; margin-top: 24px; border-top: 1px solid var(--portal-line); font-size: 12px; }
.viz-preview { border-top: 1px solid var(--portal-line); margin-top: 32px; padding-top: 28px; }
.viz-preview figure { margin: 0; }
.viz-preview img { display: block; width: 100%; max-height: 500px; height: auto; object-fit: contain; border: 1px solid var(--portal-line); border-radius: 10px; background: white; }
.viz-preview figcaption { margin-top: 8px; font-size: 12px; color: var(--muted); }
.viz-article-foot { display: flex; align-items: end; justify-content: space-between; flex-wrap: wrap; gap: 24px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--portal-line); }
.viz-downloads { display: flex; flex-wrap: wrap; gap: 10px 20px; }
.viz-downloads a { color: var(--portal-blue); font-size: 12px; overflow-wrap: anywhere; }
.viz-workspace-nav { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-bottom: 0; }
.viz-workspace-nav .viz-back { margin: 0; flex-shrink: 0; }
.viz-workspace-nav > span { color: var(--muted); font-size: 12px; }
.viz-workspace-nav > span > span { margin: 0 8px; }
.viz-status { padding: 20px 0; color: var(--muted); font-size: 14px; }
#view-tools .workflow-task-context, #view-tools .explorer-capabilities { display: none; }
@media (max-width: 760px) {
  .viz-examples, .viz-workspace-nav { padding: 22px 16px 8px; }
  .viz-list-head { align-items: start; flex-direction: column; gap: 14px; }
  .viz-list-head h2 { font-size: 21px; }
  .viz-entry { padding: 22px 20px; align-items: start; flex-direction: column; gap: 14px; }
  .viz-entry h3 { font-size: 18px; }
  .viz-entry-end { display: flex; align-items: center; justify-content: space-between; width: 100%; text-align: left; }
  .viz-article-head, .viz-article-body { padding: 24px 20px; }
  .viz-article-head h2 { font-size: 23px; }
  .viz-explanation { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .viz-workspace-nav { align-items: start; flex-direction: column; }
}

/* 의뢰 작성 2단계: 데이터 처리 기준과 업로드 주의 문구 (js/submission-notes.js) */
#view-atlas-search .request-page .data-notes { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 36px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--portal-line); font-size: 13px; }
#view-atlas-search .request-page #rawInputPanel .data-notes { margin: 0 0 20px; padding-top: 0; border-top: 0; }
#view-atlas-search .request-page .data-notes h4 { margin: 0 0 8px; color: var(--portal-ink); font-size: 14px; font-weight: 650; }
#view-atlas-search .request-page .data-notes dl { display: grid; gap: 6px; margin: 0; }
#view-atlas-search .request-page .data-notes dd { margin: 0; }
#view-atlas-search .request-page .data-notes__rules div { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 12px; line-height: 1.6; }
#view-atlas-search .request-page .data-notes__rules dt { color: var(--muted); }
#view-atlas-search .request-page .data-notes__rules dd { color: var(--portal-ink); word-break: keep-all; }
#view-atlas-search .request-page .data-notes__mistakes div { color: var(--portal-ink); line-height: 1.6; word-break: keep-all; }
#view-atlas-search .request-page .data-notes__mistakes :is(dt, dd) { display: inline; }
#view-atlas-search .request-page .data-notes__mistakes dd { color: var(--muted); }
#view-atlas-search .request-page .data-notes__mistakes dd::before { content: " → "; }
#view-atlas-search .request-page .data-notes code { padding: 0; background: none; color: inherit; font-size: .94em; }
#view-atlas-search .request-page .data-notes__auto { margin: 10px 0 0; color: var(--muted); font-size: 12.5px; }
#view-atlas-search .request-page .csv-slot__warn { margin: 8px 0 0; padding: 8px 12px; border-radius: 6px; background: #fdf4e7; color: #8a4b08; font-size: 12.5px; line-height: 1.55; list-style: none; }
#view-atlas-search .request-page .csv-slot__warn li + li { margin-top: 4px; }
:root[data-theme="dark"] #view-atlas-search .request-page .csv-slot__warn { background: #3a2c17; color: #f1c893; }
@media (max-width: 760px) {
  #view-atlas-search .request-page .data-notes { grid-template-columns: minmax(0, 1fr); gap: 18px; }
}
