/* Presentation-only migration. Form bindings, scientific values and states are unchanged. */
@font-face {
  font-family: Newsreader;
  src: url('../assets/fonts/Newsreader-Regular.ttf') format('truetype');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
body.app-theme {
  --canvas: var(--an-white);
  --surface: var(--an-white);
  --surface-muted: var(--an-surface);
  --black: var(--an-white);
  --white: var(--an-ink);
  --ink: var(--an-ink);
  --muted: var(--an-body);
  --subtle: var(--an-body);
  --blue: var(--an-primary);
  --blue-deep: var(--an-primary-hover);
  --blue-bright: var(--an-primary);
  --blue-tint: var(--an-tint);
  --navy: var(--an-surface);
  --orange: var(--an-primary);
  --orange-hover: var(--an-primary-hover);
  --border: var(--an-rule);
  --border-strong: var(--an-rule);
  background: var(--an-white);
  color: var(--an-body);
  font-family: var(--an-font);
}
.app-theme :is(h1,h2,h3,h4,strong,dt,label) { color: var(--an-ink); }
.app-theme :is(h1,h2,h3,h4) { font-family: var(--an-font); }
.app-theme:lang(bn) { --an-font: 'Noto Sans Bengali', sans-serif; }
.app-theme main a:not(.button) { color: var(--an-primary); }
.app-theme .button { border-radius: 3px; min-height: 46px; font-size: 14px; box-shadow: none; }
.app-theme .button.primary { background: var(--an-primary); border-color: var(--an-primary); color: var(--an-white); }
.app-theme .button.primary:is(:hover,:active):not(:disabled) { background: var(--an-primary-hover); border-color: var(--an-primary-hover); }
.app-theme .button.secondary { background: var(--an-white); border: 1px solid var(--an-rule); color: var(--an-primary); box-shadow: none; }
.app-theme .button.secondary:hover:not(:disabled) { background: var(--an-surface); border-color: var(--an-primary); }
.app-theme :is(a,button,input,select,textarea,summary):focus-visible { outline: 2px solid var(--an-focus); outline-offset: 4px; }
body.app-theme :is(input[type='text'],input[type='email'],input[type='password'],input[type='number'],select,textarea) {
  color: var(--an-ink); background: var(--an-white); border: 1px solid var(--an-rule);
  border-radius: 3px; min-height: 48px; font-size: 16px;
}
body.app-theme :is(input,select,textarea):focus { border-color: var(--an-primary); outline-color: var(--an-primary); box-shadow: none; }
body.app-theme :is(input,select,textarea)[aria-invalid='true'] { border-color: var(--red); outline-color: var(--red); }
.app-theme .page-sequence { display: none; }
.app-theme .eyebrow { color: var(--an-body); font-size: 12px; letter-spacing: .07em; }
.app-theme .page-heading { border-left: 0; padding: 0 0 32px; }
.app-theme .page-heading h1, .app-theme .account-form-section h1, .app-theme .account-detail h1 { color: var(--an-ink); font-size: clamp(34px,3.2vw,46px); line-height: 1.15; }
.app-theme .status-page { max-width: 1000px; padding-block: 64px 88px; }
.app-theme .lookup-card { padding: 24px 0; border: 0; border-block: 1px solid var(--an-rule); border-radius: 0; box-shadow: none; background: var(--an-white); }
.app-theme .status-help { margin-top: 24px; padding: 20px; border: 0; border-radius: 0; background: var(--an-surface); }
.app-theme :is(.form-card,.progress-card,.receipt,.status-card) { border-color: var(--an-rule); border-radius: 3px; background: var(--an-white); box-shadow: none; }
.app-theme .account-main { padding-block: 64px 88px; }
.app-theme .account-form-section { max-width: 500px; }
.app-theme .account-form { border-top: 1px solid var(--an-rule); }
.app-theme .account-lead, .app-theme .account-kicker { color: var(--an-body); }
.app-theme .account-info { border-color: var(--an-rule); background: transparent; }
.app-theme .account-info h3 { font-size: 18px; margin-bottom: 8px; }
.app-theme .account-info h3:not(:first-child) { margin-top: 24px; }
.app-theme .account-table-wrap { border-radius: 0; border-color: var(--an-rule); }
.app-theme .account-identity { color: var(--an-ink); font-size: clamp(20px,2.2vw,28px); font-weight: 500; }
.app-theme .password-control button { color: var(--an-primary); font-size: 13px; }
.app-theme .account-signout { color: var(--an-primary); }
.app-theme .workspace-hero, .app-theme .detail-hero { background: var(--an-white); border-bottom: 1px solid var(--an-rule); }
.app-theme .workspace-mode { background: var(--an-white); border-radius: 3px; box-shadow: none; }
.app-theme .workspace-mode.is-selected { background: var(--an-surface); border-color: var(--an-primary); box-shadow: inset 0 0 0 1px var(--an-primary); }
.app-theme .workspace-review { background: var(--an-surface); border-radius: 3px; }
.app-theme .concept-note { background: transparent; border: 0; border-top: 1px solid var(--an-rule); padding: 16px 0 0; color: var(--an-body); }
.app-theme :is(.comp-hero-copy h1,.detail-hero h1) { color: var(--an-ink); font-size: clamp(38px,4vw,58px); font-weight: 600; letter-spacing: -.04em; }
.app-theme :is(.comp-hero-copy h1 em,.detail-hero h1 em) { color: var(--an-ink); }
.app-theme :is(.comp-figure,.workflow-figure-wrap,.detail-hero-aside,.diagram-sheet) { background: var(--an-surface); clip-path: none; border-radius: 0; box-shadow: none; }
.app-theme .comp-figure { border-block: 1px solid var(--an-rule); }
.app-theme :is(.alignment-blocks .shared,.workflow-figure .shared) { fill: var(--an-primary); }
.app-theme :is(.alignment-blocks .unique,.workflow-figure .unique) { fill: var(--an-cyan); }
.app-theme :is(.figure-head,.alignment-labels text,.diagram-labels text) { color: var(--an-body); fill: var(--an-body); }
.app-theme.wgs-page .hero-band { background: var(--an-white); border-bottom: 1px solid var(--an-rule); }
.app-theme.wgs-page .hero { padding-block: 52px; }
.app-theme.wgs-page .hero h1 { color: var(--an-ink); font-family: var(--an-font); font-size: clamp(36px,3.5vw,48px); line-height: 1.12; letter-spacing: -.04em; }
.app-theme.wgs-page .hero-copy { color: var(--an-body); }
.app-theme.wgs-page .research-nav-band { background: var(--an-surface); color: var(--an-body); border-bottom: 1px solid var(--an-rule); }
.app-theme.wgs-page .research-nav-band :is(a,.workspace-name) { color: var(--an-body); }
.app-theme.wgs-page .research-nav-band a[aria-current='page'] { color: var(--an-primary); }
.app-theme .wgs-process-visual { background: var(--an-surface); border: 1px solid var(--an-rule); border-radius: 0; box-shadow: none; }
.app-theme .process-visual-heading { background: transparent; border-color: var(--an-rule); color: var(--an-ink); }
.app-theme .technical-flow .flow-index { background: var(--an-white); border-color: var(--an-rule); color: var(--an-primary); font-size: 11px; }
.app-theme .technical-flow small { color: var(--an-body); font-size: 12px; }
.app-theme .technical-flow strong { color: var(--an-ink); font-size: 14px; }
.app-theme .wgs-reference-visual :is(span,small) { color: var(--an-body); font-size: 12px; }
.app-theme.wgs-page .scientific-data { background: var(--an-white); }
.app-theme.wgs-page .science-workspace { border-radius: 0; box-shadow: none; border-color: var(--an-rule); }
.app-theme.wgs-page .workspace-caption { background: var(--an-surface); color: var(--an-ink); border-bottom: 1px solid var(--an-rule); }
.app-theme.wgs-page .workspace-caption > span:last-child { color: var(--an-body); font-size: 12px; }
.app-theme.wgs-page :is(.hero-footnote,.wgs-research-note,.plot-note,.preview-provenance,.workspace-caption,.scientific-previews th,.scientific-previews td,.scientific-previews figcaption > span,.report-file-list small,.process-visual-heading > span,.plot-coordinate) { font-size: 12px; }
.app-theme.wgs-page .scientific-previews > figure { border-color: var(--an-rule); background: var(--an-white); }
.app-theme.wgs-page :is(.workflow-band,.closing-band) { background: var(--an-surface); border-color: var(--an-rule); }
.app-theme.wgs-page .process-grid li span { background: var(--an-white); border-color: var(--an-rule); color: var(--an-primary); font-size: 11px; }
.app-theme.wgs-page .process-grid li small { font-size: 12px; }
.app-theme :is(.pipeline-code,.pipeline-tools,.pipeline-note,.paired-files > span,.wgs-metadata > div > div > span,.delivery-format) { font-size: 12px; }
.app-theme .start-option { border-radius: 3px; background: var(--an-white); box-shadow: none; }
/* Match the approved display face on detail, status and account surfaces. */
.app-theme :is(.detail-hero,.status-page,.account-main) h1 {
  font-family: Newsreader, 'Noto Sans Bengali', serif;
  font-weight: 400;
  letter-spacing: -.03em;
}
.app-theme:lang(bn) :is(.detail-hero,.status-page,.account-main) h1 {
  font-family: 'Noto Sans Bengali', sans-serif;
  letter-spacing: 0;
  line-height: 1.4;
}
.app-theme :is(.detail-hero-copy > p,.detail-lead,.concept-step p,.detail-side li,.detail-side > p,.detail-hero-aside span,.detail-hero-aside small) {
  color: var(--an-body);
}
.app-theme .detail-hero-aside strong { color: var(--an-ink); }
.app-theme :is(.detail-side,.detail-bottom-nav) {
  background: var(--an-surface);
  border-color: var(--an-rule);
}
.app-theme .concept-step:last-child { border-color: var(--an-rule); }
@media (max-width: 760px) {
  .app-theme .status-page, .app-theme .account-main { padding-block: 40px 60px; }
  .app-theme .lookup-card { gap: 20px; }
  .app-theme .lookup-card .button { width: 100%; }
  .app-theme.wgs-page .hero { padding-block: 36px; }
  .app-theme .wgs-process-visual { min-width: 0; }
}
