/* Expand the existing page container only when it contains this form. */
#page-wrapper #content:has(.bio-request) {
  width: 100%;
  max-width: none;
  padding-left: clamp(12px, 2vw, 32px);
  padding-right: clamp(12px, 2vw, 32px);
}
/* CHAMPS specimen application. All rules scoped to this block. */
.bio-request .bio-browse-nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 28px 0 24px; }
.bio-request .bio-browse-nav a { display: flex; align-items: center; justify-content: space-between; padding: 16px; border: 1px solid #cbd8db; border-radius: 4px; background: #fff; color: #234f60; font-size: 15px; font-weight: 700; line-height: 1.4; text-decoration: none; }
.bio-request .bio-browse-nav a:hover { background: #edf6fa; border-color: #2780a3; }
.bio-request .bio-browse-nav .bio-browse-form { background: #285c38; border-color: #285c38; color: #fff; }
.bio-request .bio-browse-nav .bio-browse-form:hover { background: #214d2f; }
.bio-request .bio-browse-panel { margin: 0 0 14px; border: 1px solid #cbd8db; border-radius: 4px; background: #fff; scroll-margin-top: 60px; }
.bio-request .bio-browse-panel > summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 24px; list-style: none; cursor: pointer; color: #263c35; font-size: 20px; font-weight: 700; }
.bio-request .bio-browse-panel > summary::-webkit-details-marker { display: none; }
.bio-request .bio-browse-panel > summary::after { content: '+'; color: #287c9b; font-size: 26px; font-weight: 400; }
.bio-request .bio-browse-panel[open] > summary { border-bottom: 1px solid #dce5e3; background: #f4f8fa; }
.bio-request .bio-browse-panel[open] > summary::after { content: '−'; }
.bio-request .bio-browse-nav a:focus-visible, .bio-request .bio-browse-panel > summary:focus-visible { outline: 2px solid #287c9b; outline-offset: 3px; }
.bio-request .bio-browse-content { padding: 24px; }
.bio-request .bio-browse-content > .bio-collection, .bio-request .bio-browse-content > .bio-preparation, .bio-request .bio-browse-content > .bio-review-guide { margin: 0; padding: 0; border: 0; }
.bio-request .bio-browse-content > .bio-collection > .bio-overline, .bio-request .bio-browse-content > .bio-collection > h3, .bio-request .bio-browse-content > .bio-preparation > div:first-child, .bio-request .bio-browse-content .bio-flow-connector { display: none; }
.bio-request .bio-browse-content > .bio-preparation { display: block; }
@media (max-width: 900px) { .bio-request .bio-browse-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .bio-request .bio-browse-nav { grid-template-columns: minmax(0, 1fr); gap: 8px; } .bio-request .bio-browse-panel > summary { padding: 16px; font-size: 17px; } .bio-request .bio-browse-content { padding: 16px; } }
.bio-request {
  --bio-ink: #193c3e;
  --bio-accent: #286632;
  --bio-lime: #93d500;
  --bio-line: #dce5e3;
  --bio-muted: #526767;
  width: 100%;
  max-width: none;
  margin: 40px auto;
  color: var(--bio-ink);
  background: #f5f8f7;
  border: 1px solid var(--bio-line);
  border-radius: 24px;
  font: 400 16px/1.65 "Lato", sans-serif;
  box-shadow: 0 16px 60px #193c3e09;
  isolation: isolate;
}
.bio-request, .bio-request * { box-sizing: border-box; }
.bio-request .bio-header {
  position: relative;
  overflow: hidden;
  padding: clamp(28px, 5vw, 64px);
  background: radial-gradient(ellipse at 100% 0%, #276264 0%, transparent 65%), #143638;
  border-radius: 23px 23px 0 0;
  color: #fff;
}
.bio-request .bio-header::after {
  content: "";
  position: absolute;
  right: -85px;
  top: -150px;
  width: 400px;
  height: 400px;
  border: 1px solid #ffffff16;
  border-radius: 50%;
  box-shadow: 0 0 0 50px #ffffff04, 0 0 0 100px #ffffff03;
  pointer-events: none;
  z-index: -1;
}
.bio-request .bio-header { isolation: isolate; }
.bio-request p { margin: 0 0 18px; }
.bio-request .bio-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 36px;
  color: #dcf0df;
  font-size: 11px;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.bio-request .bio-brand-mark { flex: 0 0 11px; height: 11px; border-radius: 50%; background: var(--bio-lime); box-shadow: 0 0 0 5px #93d50015; }
.bio-request .bio-kicker { color: #b7e66b; font-size: 14px; font-weight: 550; margin-bottom: 12px; }
.bio-request h2 { max-width: 780px; margin: 0 0 22px; color: #fff; font: 550 clamp(32px, 4.4vw, 54px)/1.08 "Lato", sans-serif; letter-spacing: -.045em; text-transform: none; }
.bio-request .bio-intro { max-width: 610px; color: #d8e6e4; font-size: 17px; line-height: 1.75; }
.bio-request .bio-header-meta { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: 32px; padding-top: 22px; border-top: 1px solid #ffffff26; color: #d8e6e4; font-size: 12px; letter-spacing: .02em; }
.bio-request .bio-header-meta span::before { content: ""; display: inline-block; width: 5px; height: 5px; margin: 0 9px 2px 0; border-radius: 50%; background: #67cceb; }
.bio-request .bio-workspace { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 32px; padding: 36px; align-items: start; }
.bio-request .bio-sidebar { position: sticky; top: 100px; padding-top: 12px; }
.bio-request .bio-nav-title { margin-bottom: 20px; color: var(--bio-muted); font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.bio-request .bio-nav { list-style: none; counter-reset: bio-step; padding: 0; margin: 0; }
.bio-request .bio-nav li { counter-increment: bio-step; margin: 0 0 6px; }
.bio-request .bio-nav a { display: flex; align-items: center; gap: 11px; padding: 9px 8px; border-radius: 10px; color: var(--bio-ink); font-size: 13px; font-weight: 550; text-decoration: none; }
.bio-request .bio-nav a::before { content: counter(bio-step, decimal-leading-zero); display: grid; place-items: center; flex: 0 0 30px; height: 30px; border: 1px solid var(--bio-line); border-radius: 50%; background: #fff; color: var(--bio-muted); font-size: 10px; font-weight: 650; }
.bio-request .bio-nav a:hover { background: #e8efe9; }
.bio-request .bio-sidebar-note { margin-top: 30px; padding: 24px 8px 0; border-top: 1px solid var(--bio-line); color: var(--bio-muted); font-size: 13px; }
.bio-request .bio-sidebar-note strong { display: block; margin-bottom: 10px; color: var(--bio-ink); font-weight: 650; }
.bio-request .bio-sidebar-note span { font-size: 11px; }
.bio-request .bio-main { min-width: 0; }
.bio-request .bio-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; min-height: 1px !important; padding: 0 !important; opacity: 0 !important; }
.bio-request .bio-form-message { margin: 0 0 22px; padding: 18px 20px; border: 1px solid var(--bio-line); border-left: 4px solid var(--bio-accent); border-radius: 10px; background: #fff; color: var(--bio-ink); }
.bio-request > .bio-form-message { margin: 24px 36px 0; }
.bio-request .bio-form-message strong { display: block; margin-bottom: 4px; }
.bio-request .bio-form-message p { margin: 0; }
.bio-request .bio-form-message--success { border-color: #cfe2c6; border-left-color: #438b42; background: #f4faef; }
.bio-request .bio-form-message--error { border-color: #ead2cb; border-left-color: #a43d2b; background: #fff7f3; }
.bio-request .bio-notice { padding: 17px 20px; background: #fff9eb; border: 1px solid #e9daba; border-radius: 12px; font-size: 13px; color: #69562a; }
.bio-request .bio-notice strong { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.bio-request .bio-notice p { margin: 4px 0 0; }
.bio-request .bio-guidance { margin: 16px 0 24px; padding: 18px 20px; border: 1px solid var(--bio-line); border-radius: 12px; background: #fff; font-size: 14px; }
.bio-request summary { cursor: pointer; font-weight: 650; color: var(--bio-ink); }
.bio-request summary::marker { color: var(--bio-accent); }
.bio-request .bio-guidance[open] summary { margin-bottom: 18px; }
.bio-request .bio-guidance p:last-child { margin-bottom: 0; }
.bio-request .bio-section { min-width: 0; margin: 30px 0; padding: 12px clamp(20px, 3vw, 32px) 30px; border: 1px solid var(--bio-line); border-radius: 16px; background: #fff; box-shadow: 0 4px 16px #193c3e03; scroll-margin-top: 120px; }
.bio-request .bio-section > legend { float: none; display: flex; align-items: center; gap: 12px; width: auto; max-width: 100%; margin: 0 0 4px; padding: 0 10px; color: var(--bio-ink); font: 650 clamp(18px, 2vw, 22px)/1.35 "Lato", sans-serif; letter-spacing: -.025em; }
.bio-request .bio-section-number { display: grid; place-items: center; flex: 0 0 36px; height: 36px; border: 1px solid #d6e6cb; border-radius: 11px; background: #f1f7e9; color: var(--bio-accent); font-size: 12px; letter-spacing: 0; }
.bio-request .bio-section-intro { margin-bottom: 28px; font-size: 14px; color: var(--bio-muted); }
.bio-request h3 { margin: 30px 0 16px; color: var(--bio-ink); font: 650 17px/1.4 "Lato", sans-serif; letter-spacing: -.015em; }
.bio-request .bio-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.bio-request .bio-field { display: flex; flex-direction: column; gap: 9px; min-width: 0; margin: 0 0 24px; color: #29494a; font-size: 13px; line-height: 1.6; font-weight: 600; }
.bio-request .bio-grid .bio-field { margin: 0; }
.bio-request .bio-field > span > span { color: var(--bio-accent); }
.bio-request :is(input, select, textarea) { display: block; width: 100%; min-width: 0; max-width: 100%; min-height: 48px; margin: 0; padding: 12px 14px; border: 1px solid #bacdca; border-radius: 9px; background: #fcfdfd; color: var(--bio-ink); font: 400 16px/1.5 "Lato", sans-serif; box-shadow: inset 0 1px 2px #193c3e03; transition: border-color .15s, box-shadow .15s; }
.bio-request :is(input, select, textarea):hover { border-color: #769c95; }
.bio-request :is(input, select, textarea):focus { border-color: #3d7862; background: #fff; box-shadow: 0 0 0 4px #3d786214; }
.bio-request textarea { resize: vertical; min-height: 128px; }
.bio-request input[type=file] { padding: 12px; border-style: dashed; background: #f6f9f7; font-size: 13px; }
.bio-request input[type=file]::file-selector-button { margin-right: 12px; padding: 8px 12px; border: 1px solid #c9d9d1; border-radius: 6px; background: #fff; color: var(--bio-accent); font: 600 12px/1.4 "Lato", sans-serif; cursor: pointer; }
.bio-request :is(input, select, textarea, button, summary, a):focus-visible { outline: 3px solid #0783b0; outline-offset: 3px; }
.bio-request .bio-row { min-width: 0; padding: 18px; margin: 22px 0; border: 1px solid #e1e9e6; border-radius: 12px; background: #f6f9f8; }
.bio-request .bio-row > legend { float: none; width: auto; max-width: 100%; margin: 0; padding: 0 8px; color: #45615e; font: 650 13px/1.5 "Lato", sans-serif; }
.bio-request .bio-row p { font-size: 13px; color: var(--bio-muted); }
.bio-request button { min-height: 46px; padding: 12px 20px; border: 1px solid var(--bio-accent); border-radius: 9px; background: var(--bio-accent); color: #fff; font: 650 13px/1.5 "Lato", sans-serif; cursor: pointer; transition: background .15s, box-shadow .15s; }
.bio-request button:hover { background: #1e5127; box-shadow: 0 3px 10px #193c3e16; }
.bio-request button.bio-secondary, .bio-request button.bio-remove { background: #fff; color: var(--bio-accent); border-color: #bdcfc3; box-shadow: none; }
.bio-request button.bio-secondary::before { content: "+"; margin-right: 9px; font-size: 18px; line-height: 1; }
.bio-request button.bio-secondary:hover, .bio-request button.bio-remove:hover { background: #edf4eb; border-color: var(--bio-accent); }
.bio-request button.bio-remove { margin-top: 18px; min-height: 44px; font-size: 12px; }
.bio-request [hidden] { display: none !important; }
.bio-request .bio-help { font-size: 12px; line-height: 1.7; color: var(--bio-muted); }
.bio-request .bio-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; padding: 26px; border: 1px solid #d4e4cb; border-radius: 14px; background: #eef5e7; }
.bio-request .bio-review-copy { flex: 1 1 210px; }
.bio-request .bio-review-copy strong { font-size: 16px; font-weight: 650; }
.bio-request .bio-review-copy p { margin: 5px 0 0; color: var(--bio-muted); font-size: 12px; }
.bio-request .bio-actions [data-status] { flex-basis: 100%; margin: 0; padding-top: 16px; border-top: 1px solid #cdddc6; font-size: 14px; }
.bio-request .bio-actions p:empty { display: none; }
.bio-request a { color: var(--bio-accent); text-underline-offset: 3px; }
@media (max-width: 1000px) {
  .bio-request .bio-workspace { grid-template-columns: minmax(0, 1fr); padding: 24px; gap: 24px; }
  .bio-request .bio-sidebar { position: static; padding: 0; }
  .bio-request .bio-nav-title { margin-bottom: 10px; }
  .bio-request .bio-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
  .bio-request .bio-nav a { font-size: 12px; }
  .bio-request .bio-sidebar-note { display: none; }
}
@media (max-width: 640px) {
  .bio-request { margin: 20px auto; border-radius: 16px; }
  .bio-request .bio-header { padding: 28px 22px; border-radius: 15px 15px 0 0; }
  .bio-request .bio-eyebrow { font-size: 9px; margin-bottom: 28px; }
  .bio-request .bio-intro { font-size: 15px; }
  .bio-request .bio-workspace { padding: 20px 12px; }
  .bio-request .bio-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bio-request .bio-nav a { padding: 6px 2px; gap: 7px; }
  .bio-request .bio-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .bio-request .bio-section { padding: 12px 16px 24px; }
  .bio-request .bio-section > legend { padding: 0 5px; gap: 8px; }
  .bio-request .bio-section-number { flex-basis: 30px; height: 30px; border-radius: 8px; }
  .bio-request .bio-row { padding: 14px; }
  .bio-request .bio-actions { padding: 20px; }
  .bio-request button { width: 100%; }
  .bio-request .bio-header-meta { gap: 8px 18px; }
}
@media (prefers-reduced-motion: reduce) { .bio-request *, .bio-request *::before { transition: none !important; } }
@media print {
  .bio-request { max-width: none; border: 0; box-shadow: none; background: #fff; }
  .bio-request .bio-header { background: #fff; color: #000; padding: 20px 0; }
  .bio-request .bio-header :is(h2, p, span) { color: #000; }
  .bio-request .bio-workspace { display: block; padding: 0; }
  .bio-request .bio-sidebar, .bio-request button, .bio-request .bio-actions { display: none; }
  .bio-request .bio-section { break-inside: avoid; box-shadow: none; }
}

/* Researcher introduction, above the application. */
.bio-request .bio-overview { background: #fff; padding: clamp(24px, 4.5vw, 64px); padding-bottom: 0; }
.bio-request .bio-overview section { min-width: 0; }
.bio-request .bio-overline { margin: 0 0 16px; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--bio-accent); }
.bio-request .bio-overview h3 { margin: 0 0 20px; font-size: clamp(25px, 2.8vw, 38px); font-weight: 550; line-height: 1.18; letter-spacing: -.035em; }
.bio-request .bio-overview h4 { margin: 20px 0 16px; color: var(--bio-ink); font: 600 23px/1.25 "Lato", sans-serif; letter-spacing: -.02em; }
.bio-request .bio-about, .bio-request .bio-preparation { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: clamp(28px, 6vw, 96px); padding-bottom: 56px; }
.bio-request .bio-lead { max-width: 330px; color: var(--bio-muted); font-size: 19px; }
.bio-request .bio-about-copy { max-width: 900px; }
.bio-request .bio-start-link { display: inline-flex; align-items: center; gap: 28px; padding: 13px 20px; margin-top: 14px; border-radius: 8px; background: var(--bio-accent); color: #fff; font-size: 14px; font-weight: 600; text-decoration: none; }
.bio-request .bio-start-link:hover { background: #1e5127; }
.bio-request .bio-storage-note { padding: 22px 26px; margin-top: 26px; background: #f5f8f1; border-left: 3px solid var(--bio-lime); border-radius: 0 10px 10px 0; }
.bio-request .bio-storage-note strong { display: block; margin-bottom: 8px; font-size: 14px; }
.bio-request .bio-storage-note p { margin: 0; color: var(--bio-muted); font-size: 14px; }
.bio-request .bio-collection, .bio-request .bio-review-guide { padding: 48px 0; border-top: 1px solid var(--bio-line); }
.bio-request .bio-overview-heading { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 36px; margin-bottom: 28px; }
.bio-request .bio-overview-heading > p { max-width: 650px; color: var(--bio-muted); font-size: 14px; }
.bio-request .bio-specimen-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.bio-request .bio-specimen-card { padding: clamp(22px, 3vw, 40px); border: 1px solid #dce6d4; border-top: 3px solid var(--bio-lime); border-radius: 14px; background: #f8faf5; }
.bio-request .bio-specimen-card--blue { background: #f4f9fb; border-color: #d7e7ed; border-top-color: #06a7e0; }
.bio-request .bio-card-tag { display: inline-block; padding: 4px 10px; border: 1px solid #c8d9bd; border-radius: 5px; color: #365c2e; font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.bio-request .bio-specimen-card--blue .bio-card-tag { color: #235b70; border-color: #bddae5; }
.bio-request .bio-specimen-card p, .bio-request .bio-specimen-card dd { font-size: 14px; color: var(--bio-muted); }
.bio-request .bio-specimen-card dl { margin: 24px 0 0; }
.bio-request .bio-specimen-card dt { margin: 18px 0 6px; font-size: 14px; font-weight: 650; }
.bio-request .bio-specimen-card dd { margin: 0; }
.bio-request .bio-card-footnote { margin: 28px 0 0; padding-top: 20px; border-top: 1px solid #d7e7ed; }
.bio-request .bio-data-band { display: grid; grid-template-columns: 1fr 1.3fr; gap: 30px; margin-bottom: 56px; padding: 32px; background: #edf4f3; border-radius: 12px; }
.bio-request .bio-data-band h3 { font-size: 27px; margin-bottom: 0; }
.bio-request .bio-data-band p:not(.bio-overline) { font-size: 15px; }
.bio-request .bio-data-band a, .bio-request .bio-final-guidance a { font-size: 14px; font-weight: 600; }
.bio-request .bio-preparation > div > p:not(.bio-overline) { color: var(--bio-muted); font-size: 15px; }
.bio-request .bio-checklist { list-style: none; counter-reset: bio-prep; padding: 0; margin: 0; }
.bio-request .bio-checklist li { position: relative; counter-increment: bio-prep; padding: 0 0 24px 48px; }
.bio-request .bio-checklist li::before { content: counter(bio-prep); position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #eff5e8; color: var(--bio-accent); font-size: 12px; font-weight: 700; }
.bio-request .bio-checklist strong, .bio-request .bio-checklist span { display: block; }
.bio-request .bio-checklist strong { margin-bottom: 5px; font-size: 16px; }
.bio-request .bio-checklist span { color: var(--bio-muted); font-size: 14px; }
.bio-request .bio-process { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; margin: 0; padding: 0; list-style: none; }
.bio-request .bio-process li { padding-top: 24px; border-top: 2px solid #dce8dc; }
.bio-request .bio-process-number { font-size: 12px; font-weight: 650; color: var(--bio-accent); }
.bio-request .bio-process h4 { font-size: 18px; margin: 14px 0; }
.bio-request .bio-process p { color: var(--bio-muted); font-size: 14px; }
.bio-request .bio-review-note { padding: 20px 24px; margin: 24px 0 0; border: 1px solid var(--bio-line); border-radius: 10px; font-size: 13px; color: var(--bio-muted); }
.bio-request .bio-faq-panel[open] > summary { background: #f0f5e8; color: #30352e; border-bottom-color: #cfddbf; }
.bio-request .bio-faq-panel > summary::after { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border: 1px solid #93d500; border-radius: 50%; color: #365c2e; font-size: 22px; line-height: 1; }
.bio-request .bio-faq-list { display: grid; gap: 14px; }
.bio-request .bio-faq-item { padding: clamp(20px, 2.4vw, 30px); border: 1px solid #d9ded3; border-left: 5px solid #93d500; background: #fff; box-shadow: 0 3px 12px #30352e08; }
.bio-request .bio-faq-item:nth-child(even) { border-left-color: #06a7e0; }
.bio-request .bio-faq-item h4 { display: flex; align-items: flex-start; gap: 14px; margin: 0 0 16px; color: #30352e; font-size: clamp(18px, 1.65vw, 22px); font-weight: 900; line-height: 1.35; letter-spacing: -.02em; }
.bio-request .bio-faq-number { display: inline-grid; place-items: center; flex: 0 0 38px; min-height: 34px; padding: 3px 6px; border: 1px solid #d3e2c4; background: #f0f5e8; color: #365c2e; font-size: 12px; line-height: 1; letter-spacing: .04em; }
.bio-request .bio-faq-item:nth-child(even) .bio-faq-number { border-color: #c4e4ef; background: #eff8fb; color: #17617e; }
.bio-request .bio-faq-item h5 { display: table; margin: 24px 0 9px; padding: 5px 10px; border-left: 3px solid #93d500; background: #f3f5f0; color: #3c4938; font-size: 13px; font-weight: 900; letter-spacing: .035em; }
.bio-request .bio-faq-item p { color: #5e5d5b; font-size: 15px; line-height: 1.7; }
.bio-request .bio-faq-item .bio-process { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
.bio-request .bio-faq-item .bio-process li { padding: 18px 16px; border: 1px solid #dce5e3; border-top: 3px solid #93d500; background: #f8faf6; }
.bio-request .bio-faq-item .bio-process p { margin: 0; font-size: 13px; }
.bio-request .bio-faq-item .bio-process-number { display: grid; place-items: center; width: 28px; height: 28px; margin: 0 0 12px; border: 1px solid #d3e2c4; background: #fff; color: #365c2e; }
.bio-request .bio-faq-item a { color: #286632; font-weight: 700; text-decoration-thickness: 1px; }
.bio-request .bio-final-guidance { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; padding: 40px 0 52px; border-top: 1px solid var(--bio-line); }
.bio-request .bio-final-guidance h3 { font-size: 22px; letter-spacing: -.02em; }
.bio-request .bio-final-guidance p:not(.bio-overline) { font-size: 14px; color: var(--bio-muted); }
.bio-request .bio-application-heading { padding: 38px 0; border-top: 1px solid var(--bio-line); scroll-margin-top: 100px; }
.bio-request .bio-application-heading h3 { margin-bottom: 12px; }
.bio-request .bio-application-heading > p:last-child { color: var(--bio-muted); margin: 0; }
.bio-request .bio-contact-line a { overflow-wrap: anywhere; }
@media (max-width: 1000px) {
  .bio-request .bio-process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bio-request .bio-about, .bio-request .bio-preparation { gap: 30px; }
}
@media (max-width: 700px) {
  .bio-request .bio-about, .bio-request .bio-preparation, .bio-request .bio-overview-heading, .bio-request .bio-specimen-cards, .bio-request .bio-data-band, .bio-request .bio-final-guidance, .bio-request .bio-process { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .bio-request .bio-faq-item { padding: 18px 16px; }
  .bio-request .bio-faq-item .bio-process { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .bio-request .bio-overview { padding: 28px 20px 0; }
  .bio-request .bio-about, .bio-request .bio-preparation { padding-bottom: 32px; }
  .bio-request .bio-data-band { padding: 24px; margin-bottom: 36px; }
  .bio-request .bio-collection, .bio-request .bio-review-guide { padding: 32px 0; }
  .bio-request .bio-overview-heading { gap: 0; }
}
@media print {
  .bio-request .bio-overview { padding: 0; }
  .bio-request .bio-overview section, .bio-request .bio-process li { break-inside: avoid; }
  .bio-request .bio-start-link { display: none; }
}

/* Source-document copy: inline emphasis and numbered review paragraphs. */
.bio-request .bio-checklist li { color: var(--bio-ink); font-size: 15px; }
.bio-request .bio-checklist li strong { display: inline; font-size: inherit; margin: 0; }
.bio-request .bio-process-number { display: block; margin-bottom: 16px; }
.bio-request .bio-specimen-card h4:first-child { margin-top: 0; }

/* CHAMPS identity: Lato, heavy headings, lime, blue and warm grey. */
.bio-request { --bio-ink: #30352e; --bio-muted: #5e5d5b; }
.bio-request .bio-overview h3 { font-weight: 900; letter-spacing: -.025em; color: #30352e; }
.bio-request .bio-overview h4 { font-weight: 900; }
.bio-request .bio-about { row-gap: 44px; }
.bio-request .bio-storage-note {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(240px, .75fr) minmax(0, 1.7fr);
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: #fff;
  border-top: 1px solid #c8ccc4;
  border-bottom: 1px solid #c8ccc4;
}
.bio-request .bio-storage-location {
  position: relative;
  padding: clamp(26px, 3vw, 44px);
  background: #93d500;
  color: #263716;
}
.bio-request .bio-storage-marker { display: block; margin-bottom: 28px; }
.bio-request .bio-storage-marker svg { display: block; }
.bio-request .bio-storage-location h4 {
  margin: 0 0 12px;
  font-size: clamp(30px, 3vw, 46px);
  line-height: 1;
  color: #263716;
  font-weight: 900;
  letter-spacing: -.035em;
}
.bio-request .bio-storage-location p { max-width: 310px; color: #263716; font-size: 14px; line-height: 1.5; }
.bio-request .bio-storage-copy { display: flex; align-items: center; padding: clamp(26px, 4vw, 60px); }
.bio-request .bio-storage-copy p { max-width: 850px; color: #5e5d5b; font-size: clamp(16px, 1.25vw, 20px); line-height: 1.8; }
.bio-request .bio-storage-copy { border-top: 4px solid #06a7e0; }
.bio-request .bio-overview .bio-specimen-card { border-radius: 0; background: #fff; border-width: 0 0 1px; border-color: #c8ccc4; border-top: 6px solid #93d500; }
.bio-request .bio-overview .bio-specimen-card--blue { border-top-color: #06a7e0; }
.bio-request .bio-data-band { border-radius: 0; background: #f3f4f1; }
.bio-request .bio-start-link { border-radius: 0; background: #93d500; color: #263716; font-weight: 900; }
.bio-request .bio-start-link:hover { background: #80bb00; }
@media (max-width: 700px) {
  .bio-request .bio-storage-note { grid-template-columns: minmax(0, 1fr); }
  .bio-request .bio-storage-location { padding: 26px; }
  .bio-request .bio-storage-marker { float: right; margin: 0 0 16px 20px; }
  .bio-request .bio-storage-copy { padding: 26px 0; border-top: 0; }
}
@media print {
  .bio-request .bio-storage-note { break-inside: avoid; }
  .bio-request .bio-storage-location { background: #fff; border-right: 1px solid #ccc; }
}

/* Compact storage strip. */
.bio-request .bio-storage-note { grid-template-columns: 180px minmax(0, 1fr); }
.bio-request .bio-storage-location { display: flex; align-items: center; gap: 10px; padding: 14px 18px; }
.bio-request .bio-storage-marker { flex: 0 0 24px; margin: 0; }
.bio-request .bio-storage-marker svg { width: 24px; height: 24px; }
.bio-request .bio-storage-location h4 { margin: 0; font-size: 20px; line-height: 1.2; letter-spacing: -.02em; }
.bio-request .bio-storage-location p { display: none; }
.bio-request .bio-storage-copy { padding: 12px 22px; border-top-width: 2px; }
.bio-request .bio-storage-copy p { max-width: none; font-size: 14px; line-height: 1.5; }
.bio-request .bio-storage-location { justify-content: center; text-align: center; }
.bio-request .bio-storage-location h4 { width: 100%; text-align: center; }
.bio-request .bio-storage-copy { display: flex; align-items: center; min-width: 0; }
.bio-request .bio-storage-copy p { width: 100%; max-width: none; margin: 0; }
@media (max-width: 700px) {
  .bio-request .bio-storage-note { grid-template-columns: minmax(0, 1fr); }
  .bio-request .bio-storage-location { padding: 10px; }
  .bio-request .bio-storage-marker { float: none; margin: 0; }
  .bio-request .bio-storage-location h4 { font-size: 18px; }
  .bio-request .bio-storage-copy { padding: 12px; }
  .bio-request .bio-storage-copy p { font-size: 13px; }
}

/* Request form anchor: CHAMPS lime with a distinct directional control. */
.bio-request .bio-start-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  min-height: 52px;
  padding: 6px 6px 6px 20px;
  border: 1px solid #82bd00;
  border-radius: 6px;
  background: #93d500;
  color: #203014;
  font: 700 16px/1.3 "Lato", sans-serif;
  text-decoration: none;
  box-shadow: 0 2px 0 #6e9f00;
  transition: background .15s, box-shadow .15s;
}
.bio-request .bio-start-icon {
  display: grid;
  place-items: center;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  background: #203014;
  color: #c0ef5b;
  border-radius: 3px;
}
.bio-request .bio-start-icon svg { display: block; }
.bio-request .bio-start-link:hover { background: #a4e51e; color: #203014; box-shadow: 0 3px 0 #6e9f00; }
.bio-request .bio-start-link:active { box-shadow: none; }
.bio-request .bio-start-link:focus-visible { outline: 3px solid #0783b0; outline-offset: 5px; }
@media (prefers-reduced-motion: reduce) { .bio-request .bio-start-link { transition: none; } }

/* Keep the location strip within the introduction's body column. */
.bio-request .bio-about-copy .bio-storage-note { margin-top: 24px; }

/* Application actions beside the introduction. */
.bio-request .bio-entry-actions { display: flex; flex-direction: column; align-items: stretch; gap: 12px; max-width: 340px; margin-top: 28px; }
.bio-request .bio-entry-actions .bio-start-link { margin: 0 0 4px; }
.bio-request button.bio-entry-check { border: 1px solid #426e25; border-radius: 6px; color: #2c511c; background: #fff; text-align: left; padding: 13px 20px; font-size: 15px; }
.bio-request button.bio-entry-check:hover { background: #f2f8e8; box-shadow: none; }
.bio-request .bio-entry-pending { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.bio-request .bio-entry-pending button:disabled { border: 1px solid #d5d9d0; border-radius: 6px; padding: 11px 10px; background: #f3f4f1; color: #656b60; cursor: not-allowed; box-shadow: none; font-size: 13px; }
.bio-request .bio-entry-help { margin: 4px 0 0; color: #5e5d5b; font-size: 13px; line-height: 1.6; }
@media print { .bio-request .bio-entry-actions { display: none; } }

/* Specimen catalogue: category headers and aligned reference rows. */
.bio-request .bio-collection > h3 { max-width: 900px; margin-bottom: 30px; }
.bio-request .bio-specimen-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; align-items: start; }
.bio-request .bio-overview .bio-specimen-card { min-width: 0; padding: 0; border: 1px solid #d4dbcc; border-radius: 0; background: #fff; }
.bio-request .bio-overview .bio-specimen-card--blue { border-color: #c9dce5; }
.bio-request .bio-specimen-heading { display: flex; align-items: center; gap: 20px; padding: 24px 28px; background: #93d500; color: #243615; min-height: 100px; }
.bio-request .bio-specimen-card--blue .bio-specimen-heading { background: #06a7e0; color: #102e3c; }
.bio-request .bio-specimen-heading svg { flex: 0 0 40px; display: block; }
.bio-request .bio-specimen-heading h4 { margin: 0; color: inherit; font: 900 clamp(20px, 1.7vw, 27px)/1.2 "Lato", sans-serif; letter-spacing: -.025em; }
.bio-request .bio-specimen-body { padding: 26px 28px 12px; }
.bio-request .bio-specimen-body > p { font-size: 15px; line-height: 1.7; max-width: 80ch; }
.bio-request .bio-specimen-body > p:last-of-type { font-size: 12px; font-weight: 700; letter-spacing: .025em; margin: 24px 0 12px; color: #526044; }
.bio-request .bio-specimen-card--blue .bio-specimen-body > p:last-of-type { margin-top: 0; color: #315b6d; }
.bio-request .bio-specimen-body dl { margin: 0; }
.bio-request .bio-specimen-item { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 20px; padding: 20px 0; border-top: 1px solid #dfe6d8; }
.bio-request .bio-specimen-card--blue .bio-specimen-item { border-color: #dce8ed; }
.bio-request .bio-specimen-item dt { margin: 0; font-size: 15px; font-weight: 900; color: #34472b; }
.bio-request .bio-specimen-card--blue .bio-specimen-item dt { color: #214e61; }
.bio-request .bio-specimen-item dd { margin: 0; font-size: 15px; line-height: 1.65; color: #5e5d5b; }
@media (max-width: 1000px) {
  .bio-request .bio-specimen-cards { grid-template-columns: minmax(0, 1fr); }
  .bio-request .bio-specimen-heading { min-height: 0; }
}
@media (max-width: 640px) {
  .bio-request .bio-specimen-heading { padding: 20px; gap: 16px; }
  .bio-request .bio-specimen-body { padding: 20px 20px 8px; }
  .bio-request .bio-specimen-item { grid-template-columns: minmax(0, 1fr); gap: 6px; padding: 16px 0; }
}
@media print {
  .bio-request .bio-specimen-cards { display: block; }
  .bio-request .bio-specimen-card { margin-bottom: 20px; break-inside: avoid; }
}

/* Methodology icon language: black pictograms with CHAMPS accent discs. */
.bio-request .bio-specimen-heading .bio-method-icon { flex: 0 0 64px; width: 64px; height: 64px; object-fit: contain; }
.bio-request .bio-specimen-heading { background: #f2f8e8; border-bottom: 3px solid #93d500; }
.bio-request .bio-specimen-card--blue .bio-specimen-heading { background: #f0f8fb; border-bottom: 3px solid #06a7e0; }
.bio-request .bio-specimen-item { grid-template-columns: 200px minmax(0, 1fr); align-items: center; }
.bio-request .bio-specimen-item dt { display: flex; align-items: center; gap: 14px; }
.bio-request .bio-specimen-item .bio-method-icon { display: block; flex: 0 0 50px; width: 50px; height: 50px; }
@media (max-width: 640px) {
  .bio-request .bio-specimen-item { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .bio-request .bio-specimen-item dd { padding-left: 64px; }
  .bio-request .bio-specimen-heading .bio-method-icon { flex-basis: 52px; width: 52px; height: 52px; }
}

/* Compact catalogue with individually scannable specimen options. */
.bio-request .bio-specimen-heading { min-height: 0; padding: 14px 20px; gap: 14px; }
.bio-request .bio-specimen-heading .bio-method-icon { flex-basis: 46px; width: 46px; height: 46px; }
.bio-request .bio-specimen-heading h4 { font-size: clamp(19px, 1.5vw, 24px); }
.bio-request .bio-specimen-body { padding: 16px 20px 4px; }
.bio-request .bio-specimen-body > p { font-size: 14px; line-height: 1.55; margin-bottom: 12px; }
.bio-request .bio-specimen-body > p:last-of-type { margin: 12px 0 6px; }
.bio-request .bio-specimen-card--blue .bio-specimen-body > p:last-of-type { margin-top: 0; font-size: 14px; font-weight: 400; line-height: 1.55; letter-spacing: normal; color: #5e5d5b; }
.bio-request .bio-specimen-item { grid-template-columns: 165px minmax(0, 1fr); gap: 14px; padding: 12px 0; }
.bio-request .bio-specimen-item dt { gap: 10px; font-size: 14px; }
.bio-request .bio-specimen-item .bio-method-icon { flex-basis: 40px; width: 40px; height: 40px; }
.bio-request .bio-specimen-item dd { font-size: 14px; line-height: 1.5; }
.bio-request .bio-specimen-options { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.bio-request .bio-specimen-options li { margin: 0; padding: 5px 9px; border: 1px solid #d4e2c4; background: #f3f8ed; border-radius: 3px; color: #34472b; font-size: 13px; line-height: 1.4; }
.bio-request .bio-specimen-card--blue .bio-specimen-options li { border-color: #c7dfe9; background: #eff7fb; color: #214e61; }
.bio-request .bio-specimen-card--blue .bio-specimen-item:last-child .bio-specimen-options li { background: #fff8e6; border-color: #e3d2a8; color: #635020; }
@media (max-width: 640px) {
  .bio-request .bio-specimen-item { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .bio-request .bio-specimen-item dd { padding-left: 50px; }
  .bio-request .bio-specimen-heading { padding: 14px 16px; }
  .bio-request .bio-specimen-body { padding: 14px 16px 4px; }
}

/* Small decorative specimen pictograms; labels remain the accessible content. */
.bio-request .bio-specimen-options li { display: inline-flex; align-items: center; gap: 6px; }
.bio-request .bio-chip-icon { display: block; flex: 0 0 18px; width: 18px; height: 18px; }
.bio-request .bio-specimen-options li > span { min-width: 0; }

/* Specimen items use standalone methodology-style pictograms, not chips. */
.bio-request .bio-specimen-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 20px;
}
.bio-request .bio-specimen-options li,
.bio-request .bio-specimen-card--blue .bio-specimen-options li,
.bio-request .bio-specimen-card--blue .bio-specimen-item:last-child .bio-specimen-options li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #30352e;
  font-size: 13px;
  line-height: 1.4;
}
.bio-request .bio-chip-icon {
  display: block;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  color: #161616;
}
.bio-request .bio-specimen-card--blue .bio-specimen-icon-accent { fill: #ebe717; }
@media (max-width: 1200px) and (min-width: 1001px) {
  .bio-request .bio-specimen-options { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
  .bio-request .bio-specimen-options { grid-template-columns: minmax(0, 1fr); gap: 10px; }
}

/* Compact introductory area without reducing readable text or tap targets. */
.bio-request .bio-overview { padding-top: 24px; }
.bio-request .bio-about { grid-template-columns: minmax(300px, .85fr) minmax(0, 1.65fr); column-gap: clamp(24px, 3vw, 48px); row-gap: 20px; padding-bottom: 24px; }
.bio-request .bio-about > div:first-child > .bio-overline { margin-bottom: 6px; }
.bio-request .bio-about h3 { margin-bottom: 12px; font-size: clamp(26px, 2.4vw, 34px); }
.bio-request .bio-entry-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; max-width: 520px; gap: 8px; margin-top: 12px; }
.bio-request .bio-entry-actions .bio-start-link { min-height: 44px; margin: 0; padding: 5px 5px 5px 12px; gap: 10px; font-size: 14px; }
.bio-request .bio-entry-actions .bio-start-icon { flex-basis: 30px; width: 30px; height: 30px; }
.bio-request button.bio-entry-check { min-height: 44px; padding: 8px 12px; font-size: 13px; text-align: center; }
.bio-request .bio-entry-pending { grid-column: 1 / -1; gap: 8px; }
.bio-request .bio-entry-pending button:disabled { min-height: 44px; padding: 8px 10px; }
.bio-request .bio-entry-help { grid-column: 1 / -1; margin: 2px 0 0; font-size: 12px; line-height: 1.5; }
.bio-request .bio-about-copy { max-width: none; }
.bio-request .bio-about-copy > p { margin-bottom: 0; font-size: 15px; line-height: 1.55; }
.bio-request .bio-about-copy .bio-storage-note { margin-top: 14px; grid-template-columns: 150px minmax(0, 1fr); }
.bio-request .bio-storage-location { padding: 10px 12px; gap: 8px; }
.bio-request .bio-storage-location h4 { font-size: 18px; }
.bio-request .bio-storage-copy { padding: 8px 14px; }
.bio-request .bio-storage-copy p { font-size: 13px; line-height: 1.5; }
@media (max-width: 900px) {
  .bio-request .bio-about { grid-template-columns: minmax(0, 1fr); }
  .bio-request .bio-entry-actions { max-width: none; }
}
@media (max-width: 480px) {
  .bio-request .bio-about-copy .bio-storage-note { grid-template-columns: minmax(0, 1fr); }
  .bio-request .bio-entry-actions { grid-template-columns: minmax(0, 1fr); }
}
@media print { .bio-request .bio-entry-actions { display: none; } }

/* Give the introduction body the remaining width and full column height. */
.bio-request .bio-about { grid-template-columns: minmax(300px, 400px) minmax(0, 1fr); align-items: stretch; }
.bio-request .bio-about-copy { display: flex; flex-direction: column; justify-content: space-between; width: 100%; min-width: 0; max-width: none; }
.bio-request .bio-about-copy > p,
.bio-request .bio-about-copy .bio-storage-note,
.bio-request .bio-about-copy .bio-storage-copy p { width: 100%; max-width: none; }
@media (max-width: 900px) { .bio-request .bio-about { grid-template-columns: minmax(0, 1fr); } }

/* Give the introduction paragraph more presence above the storage strip. */
.bio-request .bio-about-copy > p {
  padding-top: 12px;
  font-size: clamp(17px, 1.05vw, 19px);
  line-height: 1.65;
}
@media (max-width: 900px) {
  .bio-request .bio-about-copy > p { padding-top: 0; font-size: 17px; line-height: 1.6; }
}

/* Distinguish category headings from their individual specimen entries. */
.bio-request .bio-specimen-item { gap: 0; padding: 0; align-items: stretch; }
.bio-request .bio-specimen-item dt {
  padding: 12px 10px;
  background: #f0f5e8;
  border-right: 1px solid #cfddbf;
  align-self: stretch;
}
.bio-request .bio-specimen-item dd { align-self: center; padding: 12px 18px; }
.bio-request .bio-specimen-card--blue .bio-specimen-item dt {
  background: #edf5f9;
  border-right-color: #c8dde7;
}
@media (max-width: 640px) {
  .bio-request .bio-specimen-item { gap: 0; }
  .bio-request .bio-specimen-item dt { padding: 8px 10px; border-right: 0; border-bottom: 1px solid #cfddbf; }
  .bio-request .bio-specimen-card--blue .bio-specimen-item dt { border-bottom-color: #c8dde7; }
  .bio-request .bio-specimen-item dd { padding: 12px 10px; }
}

/* Restore moderate breathing room around the introduction. */
.bio-request .bio-overview { padding-top: 40px; }
.bio-request .bio-about { padding-bottom: 40px; }
.bio-request .bio-about-copy .bio-storage-note { margin-top: 24px; }
@media (max-width: 640px) {
  .bio-request .bio-overview { padding-top: 28px; }
  .bio-request .bio-about { padding-bottom: 28px; }
  .bio-request .bio-about-copy .bio-storage-note { margin-top: 20px; }
}

/* Quieter specimen panel headings. */
.bio-request .bio-specimen-heading,
.bio-request .bio-specimen-card--blue .bio-specimen-heading { padding: 12px 18px; gap: 12px; border-bottom-width: 2px; }
.bio-request .bio-overview .bio-specimen-heading h4 { font-size: clamp(17px, 1.2vw, 20px); font-weight: 700; line-height: 1.3; letter-spacing: -.01em; }
.bio-request .bio-specimen-heading .bio-method-icon { flex-basis: 36px; width: 36px; height: 36px; }

/* More compact specimen section title. */
.bio-request .bio-collection { padding-top: 24px; }
.bio-request .bio-collection > .bio-overline { margin-bottom: 10px; }
.bio-request .bio-collection > h3 { font-size: clamp(24px, 2.3vw, 30px); margin-bottom: 22px; }

/* Breathing room within the introduction action panel. */
.bio-request .bio-about > div:first-child > .bio-overline { margin-bottom: 12px; }
.bio-request .bio-entry-actions { margin-top: 22px; row-gap: 14px; column-gap: 12px; }
.bio-request .bio-entry-pending { gap: 12px; }
.bio-request .bio-entry-help { margin-top: 8px; line-height: 1.6; }

/* Distinct availability colors within the FFPE panel. */
.bio-request .bio-specimen-card--blue .bio-specimen-item:first-child dt {
  background: #eaf5fb;
  color: #205c78;
  border-right-color: #c4dfed;
}
.bio-request .bio-specimen-card--blue .bio-specimen-item:first-child .bio-method-icon circle[fill="#93d500"],
.bio-request .bio-specimen-card--blue .bio-specimen-item:first-child .bio-specimen-icon-accent { fill: #66c5e8; }
.bio-request .bio-specimen-card--blue .bio-specimen-item:last-child dt {
  background: #fff3db;
  color: #755016;
  border-right-color: #ead1a0;
}
.bio-request .bio-specimen-card--blue .bio-specimen-item:last-child .bio-method-icon circle[fill="#93d500"],
.bio-request .bio-specimen-card--blue .bio-specimen-item:last-child .bio-specimen-icon-accent { fill: #efbd50; }
@media (max-width: 640px) {
  .bio-request .bio-specimen-card--blue .bio-specimen-item:first-child dt { border-bottom-color: #c4dfed; }
  .bio-request .bio-specimen-card--blue .bio-specimen-item:last-child dt { border-bottom-color: #ead1a0; }
}

/* Subtle green variations distinguish the frozen specimen categories. */
.bio-request .bio-specimen-card:not(.bio-specimen-card--blue) .bio-specimen-item:nth-child(1) dt {
  background: #f1f7df; color: #3d5120; border-right-color: #d6e2b5;
}
.bio-request .bio-specimen-card:not(.bio-specimen-card--blue) .bio-specimen-item:nth-child(2) dt {
  background: #e9f3e8; color: #2f5134; border-right-color: #c8ddc8;
}
.bio-request .bio-specimen-card:not(.bio-specimen-card--blue) .bio-specimen-item:nth-child(3) dt {
  background: #eff1e4; color: #4b5130; border-right-color: #d6dac0;
}
@media (max-width: 640px) {
  .bio-request .bio-specimen-card:not(.bio-specimen-card--blue) .bio-specimen-item:nth-child(1) dt { border-bottom-color: #d6e2b5; }
  .bio-request .bio-specimen-card:not(.bio-specimen-card--blue) .bio-specimen-item:nth-child(2) dt { border-bottom-color: #c8ddc8; }
  .bio-request .bio-specimen-card:not(.bio-specimen-card--blue) .bio-specimen-item:nth-child(3) dt { border-bottom-color: #d6dac0; }
}

/* Associated data follows the FFPE panel within the right column. */
.bio-request .bio-specimen-right { display: grid; gap: 20px; min-width: 0; }
.bio-request .bio-specimen-right .bio-data-band {
  display: block;
  margin: 0;
  padding: 20px 24px;
  border: 0;
  border-left: 3px solid #4c9c2e;
  border-radius: 0;
  background: #f5f7f3;
  box-shadow: none;
}
.bio-request .bio-specimen-right .bio-data-band .bio-overline { margin-bottom: 8px; }
.bio-request .bio-specimen-right .bio-data-band h3 { margin: 0 0 8px; color: #263b2c; font-size: 20px; line-height: 1.25; }
.bio-request .bio-specimen-right .bio-data-band p:not(.bio-overline) { max-width: 72ch; margin: 0; color: #4f5a52; font-size: 14px; line-height: 1.55; }
.bio-request .bio-specimen-right .bio-data-band a { color: #28623a; text-decoration-thickness: 1px; text-underline-offset: 2px; }
@media (max-width: 640px) {
  .bio-request .bio-specimen-right { gap: 16px; }
  .bio-request .bio-specimen-right .bio-data-band { padding: 20px; }
}

/* Quiet item-level distinction, without returning to pill-shaped chips. */
.bio-request .bio-specimen-options li,
.bio-request .bio-specimen-card--blue .bio-specimen-options li,
.bio-request .bio-specimen-card--blue .bio-specimen-item:last-child .bio-specimen-options li {
  padding: 6px 8px;
  border: 0;
  border-radius: 2px;
  background: #f7f9f4;
  font-weight: 600;
}
.bio-request .bio-specimen-options li:nth-child(even) { background: #fafbf8; }
.bio-request .bio-specimen-card--blue .bio-specimen-options li { background: #f5f9fb; }
.bio-request .bio-specimen-card--blue .bio-specimen-item:last-child .bio-specimen-options li { background: #fcfaf5; }
.bio-request .bio-specimen-options .bio-specimen-detail { color: #62685f; font-weight: 400; }

/* Request guidance: compact illustrated checklist using source copy. */
.bio-request .bio-preparation {
  display: block;
  padding: 28px 0 36px;
  border-top: 1px solid #dce3d5;
}
.bio-request .bio-preparation > div:first-child { display: flex; align-items: baseline; gap: 18px; margin-bottom: 22px; }
.bio-request .bio-preparation .bio-overline { margin: 0; flex: 0 0 auto; }
.bio-request .bio-preparation h3 { font-size: clamp(24px, 2.3vw, 30px); margin: 0; }
.bio-request .bio-preparation .bio-checklist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.bio-request .bio-preparation .bio-checklist li {
  display: grid;
  grid-template-columns: 24px 42px minmax(0, 1fr);
  align-items: start;
  gap: 14px;
  padding: 18px 20px;
  border: 1px solid #e0e6d8;
  border-radius: 0;
  background: #fafbf7;
  font-size: 14px;
  line-height: 1.65;
  color: #41483d;
}
.bio-request .bio-preparation .bio-checklist li::before {
  position: static;
  content: counter(bio-prep, decimal-leading-zero);
  display: block;
  width: auto;
  height: auto;
  margin-top: 9px;
  background: none;
  border-radius: 0;
  color: #61754a;
  font: 700 11px/1.5 "Lato", sans-serif;
}
.bio-request .bio-prep-icon { display: block; width: 42px; height: 42px; }
.bio-request .bio-prep-text { min-width: 0; padding-top: 5px; }
.bio-request .bio-preparation .bio-checklist li:last-child { grid-column: 1 / -1; background: #f1f5eb; border-color: #d3dfc4; }
.bio-request .bio-preparation .bio-checklist strong { color: #2f4c20; }
@media (max-width: 700px) {
  .bio-request .bio-preparation > div:first-child { gap: 12px; }
  .bio-request .bio-preparation .bio-checklist { grid-template-columns: minmax(0, 1fr); }
  .bio-request .bio-preparation .bio-checklist li { padding: 14px; gap: 10px; grid-template-columns: 20px 36px minmax(0, 1fr); }
  .bio-request .bio-prep-icon { width: 36px; height: 36px; }
}
@media print { .bio-request .bio-preparation .bio-checklist li { break-inside: avoid; } }

/* More prominent request-guidance step numbers. */
.bio-request .bio-preparation .bio-checklist li { grid-template-columns: 38px 42px minmax(0, 1fr); }
.bio-request .bio-preparation .bio-checklist li::before { font-size: 26px; font-weight: 900; line-height: 1.2; margin-top: 5px; }
@media (max-width: 700px) {
  .bio-request .bio-preparation .bio-checklist li { grid-template-columns: 32px 36px minmax(0, 1fr); }
  .bio-request .bio-preparation .bio-checklist li::before { font-size: 23px; }
}

/* Guidance actions and synchronized quick-entry controls. */
.bio-request .bio-step-action, .bio-request .bio-step-entry summary {
  display: inline-flex; align-items: center; gap: 12px; min-height: 44px;
  margin-top: 12px; padding: 8px 12px; border: 1px solid #bdd0a6;
  background: #fff; color: #335821; font-size: 13px; font-weight: 700;
  text-decoration: none; cursor: pointer;
}
.bio-request .bio-step-entry summary::after { content: '+'; margin-left: 10px; }
.bio-request .bio-step-entry[open] summary::after { content: '−'; }
.bio-request .bio-step-entry summary::-webkit-details-marker { display: none; }
.bio-request .bio-step-action:hover, .bio-request .bio-step-entry summary:hover { background: #edf5df; }
.bio-request .bio-step-entry .bio-field { margin: 14px 0 0; }
.bio-request .bio-step-entry .bio-help { margin: 8px 0 0; }
.bio-request .bio-step-entry [data-sync-status]:empty { display: none; }
.bio-request .bio-step-entry textarea { min-height: 100px; }

/* Keep step actions below the copy, with a clear green interaction state. */
.bio-request .bio-step-action,
.bio-request .bio-step-entry summary {
  display: flex;
  width: fit-content;
  max-width: 100%;
  margin-top: 16px;
  border: 1px solid #4c9c2e;
  background: transparent;
  color: #335821;
  transition: background .15s, color .15s, border-color .15s;
}
.bio-request .bio-step-action:hover,
.bio-request .bio-step-entry summary:hover {
  background: #93d500;
  border-color: #93d500;
  color: #203014;
}
.bio-request .bio-step-action span { color: inherit; }
@media (prefers-reduced-motion: reduce) {
  .bio-request .bio-step-action, .bio-request .bio-step-entry summary { transition: none; }
}

/* A single icon-and-number composition for each request step. */
.bio-request .bio-preparation .bio-checklist li { grid-template-columns: 60px minmax(0, 1fr); gap: 18px; }
.bio-request .bio-preparation .bio-checklist li::before { display: none; }
.bio-request .bio-step-badge { position: relative; display: grid; place-items: center; width: 56px; height: 58px; }
.bio-request .bio-step-badge .bio-prep-icon { width: 46px; height: 46px; }
.bio-request .bio-step-number {
  position: absolute; right: -2px; bottom: -2px;
  display: grid; place-items: center;
  min-width: 28px; height: 25px; padding: 0 4px;
  border: 2px solid #fafbf7; border-radius: 4px;
  background: #335821; color: #fff;
  font: 900 13px/1 "Lato", sans-serif;
}
.bio-request .bio-preparation .bio-checklist li:last-child .bio-step-number { border-color: #f1f5eb; }
@media (max-width: 700px) {
  .bio-request .bio-preparation .bio-checklist li { grid-template-columns: 56px minmax(0, 1fr); gap: 12px; }
}

/* Override inherited checklist span styling on the number badge. */
.bio-request .bio-preparation .bio-checklist .bio-step-number {
  display: grid;
  place-items: center;
  color: #fff;
  font: 900 13px/1 "Lato", sans-serif;
}

/* Make the final request checklist step half-width and right-aligned. */
.bio-request .bio-preparation .bio-checklist li:last-child { grid-column: 2; }
@media (max-width: 700px) {
  .bio-request .bio-preparation .bio-checklist li:last-child { grid-column: 1; }
}

/* Live completion readout and submission state. */
.bio-request .bio-actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.bio-request .bio-completion { display: flex; align-items: flex-start; gap: 14px; padding: 18px 20px; border: 1px solid #d8dfd1; background: #f5f7f2; }
.bio-request .bio-completion-mark { position: relative; flex: 0 0 22px; width: 22px; height: 22px; margin-top: 1px; border: 2px solid #8b9283; border-radius: 50%; }
.bio-request .bio-completion[data-state="incomplete"] { border-color: #e5d19d; background: #fff9ea; }
.bio-request .bio-completion[data-state="incomplete"] .bio-completion-mark { border-color: #b17b14; }
.bio-request .bio-completion[data-state="complete"] { border-color: #b9d59a; background: #f1f8e9; }
.bio-request .bio-completion[data-state="complete"] .bio-completion-mark { border-color: #4c9c2e; background: #4c9c2e; }
.bio-request .bio-completion[data-state="complete"] .bio-completion-mark::after { content: ""; position: absolute; left: 5px; top: 2px; width: 6px; height: 11px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.bio-request .bio-completion strong { display: block; margin: 0 0 3px; color: #30352e; font-size: 16px; }
.bio-request .bio-completion p { margin: 0; color: #5e5d5b; font-size: 13px; }
.bio-request .bio-final-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.bio-request .bio-final-actions button { min-width: 190px; }
.bio-request .bio-final-actions button:disabled { border-color: #d5d9d0; background: #eef0eb; color: #72766d; cursor: not-allowed; box-shadow: none; }
.bio-request .bio-submit-note { margin: 0; color: #5e5d5b; font-size: 12px; }
.bio-request .bio-actions [data-status] { grid-column: auto; }
@media (max-width: 640px) { .bio-request .bio-final-actions { display: grid; grid-template-columns: 1fr; } .bio-request .bio-final-actions button { width: 100%; } }

/* Soften the Atlanta location panel and keep the storage rule green. */
.bio-request .bio-storage-location { background: #e5efd6; color: #314826; }
.bio-request .bio-storage-location h4,
.bio-request .bio-storage-location p { color: #314826; }
.bio-request .bio-storage-copy { border-top-color: #4c9c2e; }

/* Review process: connected steps with restrained CHAMPS color. */
.bio-request .bio-review-guide { position: relative; }
.bio-request .bio-review-guide > p { margin-bottom: 22px; color: #4c9c2e; font-weight: 700; font-size: 13px; }
.bio-request .bio-process { position: relative; gap: 14px; }
.bio-request .bio-process::before {
  content: ""; position: absolute; z-index: 0; left: 24px; right: 24px; top: 19px;
  height: 2px; background: linear-gradient(90deg, #93d500 0 32%, #06a7e0 32% 66%, #d9b75a 66% 100%);
}
.bio-request .bio-process li { position: relative; z-index: 1; min-width: 0; padding: 14px 16px 16px; border: 1px solid #dbe4d3; border-top: 0; background: #f8faf5; }
.bio-request .bio-process li:nth-child(2) { background: #f4f9fb; border-color: #d2e4eb; }
.bio-request .bio-process li:nth-child(3) { background: #f7f8f1; border-color: #e1e3d1; }
.bio-request .bio-process li:nth-child(4) { background: #fbf8ef; border-color: #e9dfc3; }
.bio-request .bio-process-number {
  display: grid; place-items: center; width: 38px; height: 38px; margin: 0 0 14px -5px;
  border: 4px solid #fff; border-radius: 50%; background: #4c9c2e; color: #fff;
  font: 900 11px/1 "Lato", sans-serif; box-shadow: 0 0 0 1px #4c9c2e;
}
.bio-request .bio-process li:nth-child(2) .bio-process-number { background: #06a7e0; box-shadow: 0 0 0 1px #06a7e0; }
.bio-request .bio-process li:nth-child(3) .bio-process-number { background: #718b38; box-shadow: 0 0 0 1px #718b38; }
.bio-request .bio-process li:nth-child(4) .bio-process-number { background: #b48a27; box-shadow: 0 0 0 1px #b48a27; }
.bio-request .bio-process p { margin: 0; font-size: 13px; line-height: 1.6; }
.bio-request .bio-review-note { border-left: 4px solid #06a7e0; background: #f2f8fa; }
.bio-request .bio-final-guidance { gap: 16px; }
.bio-request .bio-final-guidance > section { padding: 18px 20px; border-top: 3px solid #93d500; background: #f8faf5; }
.bio-request .bio-final-guidance > section:nth-child(2) { border-color: #06a7e0; background: #f4f9fb; }
.bio-request .bio-final-guidance > section:nth-child(3) { border-color: #718b38; background: #f7f8f1; }
.bio-request .bio-final-guidance > section .bio-overline { font-weight: 900; }
@media (max-width: 1000px) {
  .bio-request .bio-process::before { display: none; }
}
@media (max-width: 700px) {
  .bio-request .bio-process { gap: 10px; }
  .bio-request .bio-process li { padding: 12px 14px 14px; }
  .bio-request .bio-final-guidance > section { padding: 16px; }
}
@media print {
  .bio-request .bio-process::before { display: none; }
}

/* Bring the final review step back into the CHAMPS green palette. */
.bio-request .bio-process::before { background: linear-gradient(90deg, #93d500 0 32%, #06a7e0 32% 66%, #718b38 66% 100%); }
.bio-request .bio-process li:nth-child(4) { background: #f7f8f1; border-color: #dce2d0; }
.bio-request .bio-process li:nth-child(4) .bio-process-number { background: #718b38; box-shadow: 0 0 0 1px #718b38; }

/* Brighter CHAMPS palette for the review and follow-up sections. */
.bio-request .bio-process::before { background: linear-gradient(90deg, #93d500 0 32%, #06a7e0 32% 66%, #4c9c2e 66% 100%); }
.bio-request .bio-process li { background: #f2f8e8; border-color: #d4e6bd; }
.bio-request .bio-process li:nth-child(2) { background: #eaf7fc; border-color: #c2e5f2; }
.bio-request .bio-process li:nth-child(3) { background: #f5f8df; border-color: #e0e9ad; }
.bio-request .bio-process li:nth-child(4) { background: #eaf4e2; border-color: #cfe1bd; }
.bio-request .bio-process-number { background: #4c9c2e; box-shadow: 0 0 0 1px #4c9c2e; }
.bio-request .bio-process li:nth-child(2) .bio-process-number { background: #06a7e0; box-shadow: 0 0 0 1px #06a7e0; }
.bio-request .bio-process li:nth-child(3) .bio-process-number { background: #82bd00; box-shadow: 0 0 0 1px #82bd00; color: #243615; }
.bio-request .bio-process li:nth-child(4) .bio-process-number { background: #4c9c2e; box-shadow: 0 0 0 1px #4c9c2e; }
.bio-request .bio-review-note { background: #eaf7fc; border-color: #c2e5f2; border-left-color: #06a7e0; }
.bio-request .bio-final-guidance > section { background: #f2f8e8; }
.bio-request .bio-final-guidance > section:nth-child(2) { background: #eaf7fc; }
.bio-request .bio-final-guidance > section:nth-child(3) { background: #f5f8df; border-color: #82bd00; }
.bio-request .bio-final-guidance > section:nth-child(3) .bio-overline { color: #4c9c2e; }

/* Apply the clean white-card treatment to both levels of the review process. */
.bio-request .bio-review-guide .bio-process > li {
  background: #fff;
  border: 1px solid #dce5d6;
  border-left: 4px solid #4c9c2e;
  box-shadow: 0 2px 8px rgba(32, 40, 27, .045);
}
.bio-request .bio-review-guide .bio-process > li:nth-child(2) { border-left-color: #06a7e0; }
.bio-request .bio-review-guide .bio-process > li:nth-child(3) { border-left-color: #82bd00; }
.bio-request .bio-review-guide .bio-process > li:nth-child(4) { border-left-color: #4c9c2e; }
.bio-request .bio-review-guide .bio-final-guidance > section,
.bio-request .bio-review-guide .bio-final-guidance > section:nth-child(2),
.bio-request .bio-review-guide .bio-final-guidance > section:nth-child(3) {
  background: #fff;
  border: 1px solid #dce5d6;
  border-left: 4px solid #4c9c2e;
  box-shadow: 0 2px 8px rgba(32, 40, 27, .045);
}
.bio-request .bio-review-guide .bio-final-guidance > section:nth-child(2) { border-left-color: #06a7e0; }
.bio-request .bio-review-guide .bio-final-guidance > section:nth-child(3) { border-left-color: #82bd00; }

/* Use white panels throughout the form and keep section color on the edges. */
.bio-request .bio-workspace .bio-section-body { background: #fff; }
.bio-request .bio-workspace .bio-specimen-choice {
  background: #fff;
  border-left: 3px solid var(--section-highlight);
  border-bottom-color: var(--section-border);
}
.bio-request .bio-workspace .bio-row {
  background: #fff;
  border: 1px solid var(--section-border);
  border-left: 3px solid var(--section-highlight);
  box-shadow: 0 2px 8px rgba(32, 40, 27, .045);
}
.bio-request .bio-workspace .bio-row > legend {
  background: #fff;
  border-bottom-color: var(--section-border);
}

/* The shipment, attribution, and reference cards follow the review section. */
.bio-request .bio-main > .bio-final-guidance > section,
.bio-request .bio-main > .bio-final-guidance > section:nth-child(2),
.bio-request .bio-main > .bio-final-guidance > section:nth-child(3) {
  background: #fff;
  border: 1px solid #dce5d6;
  border-left: 4px solid #4c9c2e;
  box-shadow: 0 2px 8px rgba(32, 40, 27, .045);
}
.bio-request .bio-main > .bio-final-guidance > section:nth-child(2) { border-left-color: #06a7e0; }
.bio-request .bio-main > .bio-final-guidance > section:nth-child(3) { border-left-color: #82bd00; }

/* Compact repeatable fields and allow their labels and custom selects to wrap. */
.bio-request .bio-repeat[data-repeat="case_requirements"] .bio-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  align-items: start;
  gap: 10px 12px;
}
.bio-request .bio-repeat[data-repeat="case_requirements"] .bio-field:has([name$="[age_group]"]),
.bio-request .bio-repeat[data-repeat="case_requirements"] .bio-field:has([name$="[gestational_age]"]),
.bio-request .bio-repeat[data-repeat="case_requirements"] .bio-field:has([name$="[disease_category]"]) { grid-column: span 2; }
.bio-request .bio-repeat[data-repeat="case_requirements"] .bio-field:has([name$="[controls]"]) { grid-column: span 3; }
.bio-request .bio-repeat[data-repeat="frozen_specimens"] .bio-grid,
.bio-request .bio-section:has([name^="ffpe["]) .bio-row .bio-grid {
  align-items: start;
  gap: 10px 12px;
}
.bio-request .bio-workspace .bio-row .bio-field {
  min-width: 0;
  gap: 3px;
  margin: 0;
  font-size: 11px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.bio-request .bio-workspace .bio-row :is(input, textarea, .bio-select-trigger) {
  min-width: 0;
  min-height: 36px;
  padding: 6px 8px;
  font-size: 13px;
  line-height: 1.3;
}
.bio-request .bio-workspace .bio-row textarea { min-height: 54px; }
.bio-request .bio-workspace .bio-row .bio-select-trigger { align-items: center; }
.bio-request .bio-workspace .bio-row .bio-select-value {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  line-height: 1.2;
}
@media (max-width: 1000px) {
  .bio-request .bio-repeat[data-repeat="case_requirements"] .bio-field:has([name$="[controls]"]) { grid-column: span 1; }
}

/* Bridge the review timeline into shipment, attribution and references. */
.bio-request .bio-flow-connector {
  height: 34px;
  margin: -28px 0 0;
  background:
    linear-gradient(#4c9c2e,#4c9c2e) 16.66% 14px / 2px 20px no-repeat,
    linear-gradient(#06a7e0,#06a7e0) 50% 14px / 2px 20px no-repeat,
    linear-gradient(#4c9c2e,#4c9c2e) 83.33% 14px / 2px 20px no-repeat,
    linear-gradient(#4c9c2e,#4c9c2e) 87.5% 0 / 2px 14px no-repeat,
    linear-gradient(90deg,#4c9c2e 0 45%,#06a7e0 45% 68%,#4c9c2e 68% 100%) 16.66% 13px / 70.84% 2px no-repeat;
}
.bio-request .bio-final-guidance { position: relative; border-top: 0; padding-top: 0; }
@media (max-width: 1000px) {
  .bio-request .bio-flow-connector {
    height: 30px; margin: -16px 0 0;
    background: linear-gradient(#4c9c2e,#4c9c2e) 50% 0 / 2px 30px no-repeat;
  }
  .bio-request .bio-final-guidance { padding-top: 0; }
}
@media (max-width: 700px) {
  .bio-request .bio-flow-connector { margin: -16px 0 0; height: 24px; background: linear-gradient(#4c9c2e,#4c9c2e) 12px 0 / 2px 24px no-repeat; }
}

/* Match follow-up cards to the review cards; remove the awkward bridge. */
.bio-request .bio-flow-connector { display: none; }
.bio-request .bio-final-guidance {
  gap: 14px;
  padding-top: 40px;
  border-top: 1px solid #dce3d5;
}
.bio-request .bio-final-guidance > section {
  min-width: 0;
  padding: 14px 16px 16px;
  border: 1px solid #d4e6bd;
  border-top: 0;
  background: #f2f8e8;
}
.bio-request .bio-final-guidance > section:nth-child(2) {
  border-color: #c2e5f2;
  border-top: 0;
  background: #eaf7fc;
}
.bio-request .bio-final-guidance > section:nth-child(3) {
  border-color: #d4e6bd;
  border-top: 0;
  background: #f2f8e8;
}
.bio-request .bio-final-guidance > section .bio-overline { margin-bottom: 12px; }
.bio-request .bio-final-guidance > section h3 { margin: 0 0 14px; font-size: 18px; }
.bio-request .bio-final-guidance > section p:not(.bio-overline) { margin: 0; font-size: 13px; line-height: 1.6; }
@media (max-width: 1000px) { .bio-request .bio-final-guidance { padding-top: 28px; } }

/* Unify both process levels as one six-step card grid. */
.bio-request .bio-final-guidance {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  padding: 0;
  margin: 0;
  border: 0;
}
.bio-request .bio-final-guidance > section,
.bio-request .bio-final-guidance > section:nth-child(2),
.bio-request .bio-final-guidance > section:nth-child(3) {
  position: relative;
  min-width: 0;
  padding: 62px 16px 18px;
  border: 1px solid #d4e6bd;
  border-top: 0;
  background: #f2f8e8;
}
.bio-request .bio-final-guidance > section:nth-child(2) { background: #eaf7fc; border-color: #c2e5f2; }
.bio-request .bio-final-guidance > section:nth-child(3) { background: #f5f8df; border-color: #e0e9ad; }
.bio-request .bio-final-guidance > section .bio-overline {
  position: absolute;
  top: 14px;
  left: 16px;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  margin: 0;
  border: 4px solid #fff;
  border-radius: 50%;
  background: #4c9c2e;
  color: #fff;
  font: 900 11px/1 "Lato", sans-serif;
  box-shadow: 0 0 0 1px #4c9c2e;
}
.bio-request .bio-final-guidance > section:nth-child(2) .bio-overline { background: #06a7e0; box-shadow: 0 0 0 1px #06a7e0; }
.bio-request .bio-final-guidance > section:nth-child(3) .bio-overline { background: #82bd00; color: #243615; box-shadow: 0 0 0 1px #82bd00; }
.bio-request .bio-final-guidance > section h3 { margin: 0 0 14px; font-size: 17px; }
.bio-request .bio-final-guidance > section p:not(.bio-overline) { margin: 0; font-size: 13px; line-height: 1.6; }
.bio-request .bio-final-guidance > section:first-child { grid-column: 1 / 2; }
.bio-request .bio-final-guidance > section:nth-child(2) { grid-column: 2 / 3; }
.bio-request .bio-final-guidance > section:nth-child(3) { grid-column: 3 / 4; }
@media (max-width: 1000px) {
  .bio-request .bio-final-guidance { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0; }
  .bio-request .bio-final-guidance > section:first-child,
  .bio-request .bio-final-guidance > section:nth-child(2),
  .bio-request .bio-final-guidance > section:nth-child(3) { grid-column: auto; }
}
@media (max-width: 700px) {
  .bio-request .bio-final-guidance { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .bio-request .bio-final-guidance > section:first-child,
  .bio-request .bio-final-guidance > section:nth-child(2),
  .bio-request .bio-final-guidance > section:nth-child(3) { grid-column: auto; }
}

/* CHAMPS application: the same restrained panels and illustrated markers as the guide. */
.bio-request .bio-workspace { padding: 28px clamp(20px, 4.5vw, 64px) 44px; background: #fafcf8; border-top: 1px solid #d9e4cf; gap: 28px; grid-template-columns: 225px minmax(0, 1fr); }
.bio-request .bio-sidebar { padding: 18px 0 0; }
.bio-request .bio-nav-title { color: #335821; margin-bottom: 14px; }
.bio-request .bio-nav a { padding: 10px; border: 1px solid transparent; border-radius: 2px; font-weight: 700; }
.bio-request .bio-nav a::before { border: 3px solid #fff; background: #4c9c2e; color: #fff; box-shadow: 0 0 0 1px #b9ceaa; }
.bio-request .bio-nav a:hover, .bio-request .bio-nav a[aria-current="step"] { border-color: #c9ddad; background: #edf5df; }
.bio-request .bio-notice { border-radius: 2px; padding: 12px 16px; font-size: 12px; }
.bio-request .bio-fields > .bio-help { margin: 14px 0 20px; }
.bio-request .bio-section {
  --section-highlight: #93d500; --section-tint: #f2f8e8; --section-border: #d4e6bd; --section-ink: #335821;
  padding: 0; margin: 0 0 24px; border: 1px solid var(--section-border); border-radius: 0; background: #fff; box-shadow: none;
}
.bio-request .bio-section:nth-of-type(2), .bio-request .bio-section:nth-of-type(5) { --section-highlight: #66c5e8; --section-tint: #eaf7fc; --section-border: #c2e5f2; --section-ink: #205c78; }
.bio-request .bio-section:nth-of-type(3), .bio-request .bio-section:nth-of-type(6) { --section-tint: #f5f8df; --section-border: #e0e9ad; }
.bio-request .bio-section > legend { width: 100%; max-width: 100%; display: flex; align-items: center; gap: 16px; padding: 14px 22px; margin: 0; background: var(--section-tint); border-bottom: 2px solid var(--section-highlight); font-size: 20px; font-weight: 700; color: var(--section-ink); letter-spacing: -.015em; }
.bio-request .bio-section:has([name="study_description"]) > legend > span:nth-child(2) { margin-right: auto; }
.bio-request .bio-previous-samples-toggle { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: #37442f; font-size: 13px; font-weight: 600; letter-spacing: 0; line-height: 1.35; cursor: pointer; }
.bio-request .bio-previous-samples-toggle input { flex: 0 0 17px; width: 17px; height: 17px; min-height: 17px; margin: 0; padding: 0; accent-color: #4b9e38; }
.bio-request .bio-previous-samples-toggle { position: relative; gap: 11px; min-width: min(410px, 100%); max-width: 440px; margin-left: auto; padding: 9px 12px; border: 1px solid #a8c8d4; border-left: 4px solid #2c91b2; border-radius: 5px; background: #f2f9fb; color: #254d5c; transition: background .16s ease, border-color .16s ease, box-shadow .16s ease; }
.bio-request .bio-previous-samples-toggle:has(input:checked) { border-color: #75aa7a; border-left-color: #4b9e38; background: #f3f8ef; color: #315b37; box-shadow: 0 2px 7px rgba(42, 91, 54, .08); }
.bio-request .bio-previous-samples-toggle input { flex-basis: 18px; width: 18px; height: 18px; min-height: 18px; accent-color: #3284a0; }
.bio-request .bio-previous-samples-toggle:has(input:checked) input { accent-color: #4b9e38; }
.bio-request .bio-previous-samples-prompt { display: grid; gap: 2px; }
.bio-request .bio-previous-samples-prompt > span:first-child { color: inherit; font-size: 12px; font-weight: 800; }
.bio-request .bio-previous-samples-hint { color: #64746e; font-size: 10px; font-weight: 500; line-height: 1.35; }
.bio-request .bio-previous-samples-state { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; min-height: 22px; margin-left: auto; padding: 2px 7px; border: 1px solid #d1dedb; border-radius: 20px; background: #fff; color: #5e6b67; font-size: 10px; font-weight: 800; }
.bio-request .bio-previous-samples-toggle:has(input:checked) .bio-previous-samples-state { border-color: #a8c9a5; background: #e5f0df; color: #315b37; }
.bio-request .bio-previous-samples-details { grid-column: 2; min-width: 0; margin: 0; }
.bio-request .bio-previous-samples-details[hidden] { display: none !important; }
.bio-request .bio-previous-samples-details .bio-field { margin: 0; }
.bio-request .bio-previous-samples-details textarea { min-height: 72px; }
.bio-request .bio-form-badge { display: block; position: relative; flex: 0 0 46px; width: 46px; height: 46px; }
.bio-request .bio-form-badge svg { display: block; width: 40px; height: 40px; }
.bio-request .bio-form-badge .bio-section-number { position: absolute; right: -2px; bottom: -1px; display: grid; place-items: center; width: 24px; height: 22px; padding: 0; border: 2px solid var(--section-tint); border-radius: 3px; background: var(--section-ink); color: #fff; font: 900 10px/1 "Lato", sans-serif; }
.bio-request .bio-section-body { min-width: 0; padding: 24px; }
.bio-request .bio-section-body > :last-child { margin-bottom: 0; }
.bio-request .bio-section-body > h3 { margin: 26px 0 14px; padding-top: 18px; border-top: 1px solid var(--section-border); font-size: 16px; font-weight: 700; }
.bio-request .bio-section-body > p { color: #5e5d5b; font-size: 14px; }
.bio-request .bio-workspace .bio-field { color: #37442f; font-size: 13px; gap: 8px; }
.bio-request .bio-workspace :is(input, select, textarea) { border: 1px solid #c3cfb9; border-radius: 3px; background: #fff; min-height: 46px; padding: 10px 12px; box-shadow: none; }
.bio-request .bio-workspace :is(input, select, textarea):focus { border-color: #4c9c2e; box-shadow: 0 0 0 3px #93d50020; }
.bio-request .bio-workspace textarea { min-height: 110px; }
.bio-request .bio-workspace input[type=file] { padding: 16px; border: 1px dashed #9ab780; background: #f5f9ee; }
.bio-request .bio-workspace input[type=file]::file-selector-button { border-radius: 2px; border-color: #4c9c2e; padding: 9px 14px; }
.bio-request .bio-file-upload { display: grid; gap: 4px; min-width: 0; padding: 8px 12px; border: 1px dashed #9ab780; border-radius: 3px; background: #f5f9ee; }
.bio-request .bio-workspace .bio-file-upload input[type=file] { width: 100%; min-height: 38px; padding: 4px 0; border: 0; background: transparent; }
.bio-request .bio-file-upload .bio-file-size-hint { margin: 0; color: #586b50; font-size: 12px; line-height: 1.4; }
.bio-request .bio-file-upload .bio-file-feedback { margin: 0; font-size: 12px; line-height: 1.4; }
.bio-request .bio-workspace .bio-row { border-radius: 0; border-color: var(--section-border); background: var(--section-tint); padding: 18px; margin: 18px 0; }
.bio-request .bio-workspace .bio-row > legend { font-size: 13px; color: var(--section-ink); font-weight: 900; }
.bio-request .bio-workspace .bio-row .bio-field { font-weight: 600; }
.bio-request .bio-section:nth-of-type(2) .bio-section-body, .bio-request .bio-section:nth-of-type(3) .bio-section-body { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.bio-request .bio-section:nth-of-type(2) .bio-section-body > .bio-field, .bio-request .bio-section:nth-of-type(3) .bio-section-body > .bio-field { margin: 0; }
.bio-request .bio-section:has([name="pi_cv"]) .bio-section-body > .bio-field:has([name="pi_cv"]) { grid-column: 1; }
.bio-request .bio-section:has([name="pi_cv"]) .bio-section-body > .bio-field:has([name="experience"]) { grid-column: 2; }
.bio-request .bio-section:has([name="pi_cv"]) .bio-section-body > .bio-field:has([name="resources"]) { grid-column: 1; }
.bio-request .bio-section:has([name="pi_cv"]) .bio-section-body > .bio-field:has([name="funding"]) { grid-column: 2; }
.bio-request .bio-section:has([name="pi_cv"]) .bio-section-body { gap: 14px 20px; align-items: start; }
.bio-request .bio-section:has([name="pi_cv"]) .bio-section-body > .bio-field { min-width: 0; }
.bio-request .bio-workspace button { border-radius: 3px; }
.bio-request .bio-workspace button:not(:disabled) { border-color: #4c9c2e; background: #fff; color: #335821; box-shadow: none; }
.bio-request .bio-workspace button:not(:disabled):hover { background: #93d500; border-color: #93d500; color: #203014; }
.bio-request .bio-workspace .bio-actions { padding: 22px; border-radius: 0; background: #f2f8e8; }
.bio-request .bio-completion { border-radius: 0; background: #fff; }
.bio-request .bio-final-actions button[data-check] { background: #93d500; border-color: #82bd00; color: #203014; }
@media (max-width: 1000px) { .bio-request .bio-workspace { grid-template-columns: minmax(0, 1fr); padding: 24px; } }
@media (max-width: 640px) {
 .bio-request .bio-workspace { padding: 20px 12px; gap: 16px; }
 .bio-request .bio-section > legend { padding: 12px 14px; gap: 12px; font-size: 18px; }
 .bio-request .bio-section-body { padding: 16px; }
 .bio-request .bio-section:nth-of-type(2) .bio-section-body, .bio-request .bio-section:nth-of-type(3) .bio-section-body { grid-template-columns: minmax(0, 1fr); }
 .bio-request .bio-workspace .bio-row { padding: 14px; }
}

/* Clear the site's overlaid navigation before the portal heading. */
.bio-request .bio-header { padding-top: 180px; }
@media (max-width: 640px) {
  .bio-request .bio-header { padding-top: 150px; }
}
@media print { .bio-request .bio-header { padding-top: 20px; } }

/* Optional specimen groups retain entries when excluded. */
.bio-request .bio-specimen-choice { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 22px; padding: 12px 22px; border-bottom: 1px solid var(--section-border); background: var(--section-tint); }
.bio-request .bio-specimen-choice label { display: flex; align-items: center; gap: 10px; margin: 0; cursor: pointer; font-size: 14px; font-weight: 700; color: var(--section-ink); min-height: 28px; }
.bio-request .bio-workspace .bio-specimen-choice input[type=checkbox] { appearance: auto; display: inline-block; flex: 0 0 18px; width: 18px; height: 18px; min-height: 18px; padding: 0; margin: 0; accent-color: #4c9c2e; }
.bio-request .bio-skip-note { font-size: 12px; color: #5e5d5b; }
.bio-request .bio-section[data-skipped=true] .bio-specimen-choice { border-bottom: 0; }
.bio-request [data-sync-field]:disabled { background: #eef0eb; opacity: .65; cursor: not-allowed; }
@media (max-width: 640px) { .bio-request .bio-specimen-choice { padding: 12px 14px; } }

/* Give the content below the portal header a little more horizontal room. */
.bio-request .bio-overview { padding-left: clamp(32px, 5vw, 76px); padding-right: clamp(32px, 5vw, 76px); }
.bio-request .bio-workspace { padding-left: 48px; padding-right: 48px; }
.bio-request .bio-header { background: #143638; }
.bio-request .bio-header::after { display: none; }
.bio-request .bio-header--compact { min-height: clamp(300px, 34vw, 470px); display: flex; align-items: flex-end; padding-top: clamp(180px, 16vw, 240px); padding-bottom: clamp(40px, 6vw, 88px); }
.bio-request .bio-header--compact h2 { margin-bottom: 0; font-size: clamp(34px, 4vw, 58px); }
.bio-request .bio-about { grid-template-columns: minmax(300px, .85fr) minmax(0, 1.65fr); grid-template-rows: auto auto; align-items: start; column-gap: clamp(28px, 5vw, 80px); row-gap: 24px; }
.bio-request .bio-about > div:first-child { grid-column: 1; grid-row: 1; }
.bio-request .bio-about-copy { grid-column: 2; grid-row: 1; }
.bio-request .bio-storage-note { grid-column: 1; grid-row: 2; align-self: start; display: block; width: 100%; margin: 0; padding: 0; border-left: 0; border-top: 4px solid var(--bio-lime); border-radius: 0; }
.bio-request .bio-storage-location { display: flex; flex-direction: row; justify-content: center; align-items: center; gap: 12px; min-height: 0; padding: 10px 12px; text-align: center; }
.bio-request .bio-storage-marker { flex: none; margin: 0; }
.bio-request .bio-storage-marker svg { width: 36px; height: 36px; }
.bio-request .bio-storage-location h4 { margin: 0; font-size: 19px; line-height: 1.2; text-align: center; }
.bio-request .bio-storage-location p { display: none; }
.bio-request .bio-storage-copy { display: flex; align-items: center; width: 100%; min-width: 0; padding: 18px 22px; border-top: 0; border-left: 0; }
.bio-request .bio-storage-copy p { width: 100%; max-width: none; margin: 0; font-size: clamp(14px, 1.05vw, 17px); line-height: 1.5; }
.bio-request .bio-introduction-image { grid-column: 2; grid-row: 2; width: 100%; min-width: 0; margin: 0; overflow: hidden; background: #e8eeec; }
.bio-request .bio-introduction-image img { display: block; width: 100%; height: clamp(280px, 30vw, 460px); object-fit: cover; object-position: center 42%; }
.bio-request .bio-browse-nav { display: none; }
@media (max-width: 1000px) { .bio-request .bio-workspace { padding-left: 32px; padding-right: 32px; } }
@media (max-width: 640px) {
  .bio-request .bio-overview { padding-left: 20px; padding-right: 20px; }
  .bio-request .bio-workspace { padding-left: 18px; padding-right: 18px; }
  .bio-request .bio-header--compact { min-height: 290px; padding-top: 160px; padding-bottom: 36px; }
}
@media (max-width: 900px) {
  .bio-request .bio-about { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; }
  .bio-request .bio-about > div:first-child,
  .bio-request .bio-about-copy,
  .bio-request .bio-storage-note,
  .bio-request .bio-introduction-image { grid-column: 1; grid-row: auto; }
  .bio-request .bio-introduction-image img { height: clamp(240px, 55vw, 420px); }
}

/* Compact form sections and place their titles above the bordered content. */
.bio-request .bio-section { margin: 0 0 18px; padding: 0; border: 0; background: transparent; }
.bio-request .bio-section > legend { display: flex; align-items: center; gap: 10px; width: 100%; max-width: 100%; margin: 0 0 7px; padding: 0; border: 0; background: transparent; color: var(--section-ink); font-size: 18px; line-height: 1.3; }
.bio-request .bio-form-badge { flex-basis: 38px; width: 38px; height: 38px; }
.bio-request .bio-form-badge svg { width: 34px; height: 34px; }
.bio-request .bio-form-badge .bio-section-number { right: -1px; bottom: -1px; width: 20px; height: 19px; border-width: 1px; font-size: 9px; }
.bio-request .bio-section-body { padding: 16px 18px; border: 1px solid var(--section-border); background: #fff; }
.bio-request .bio-section:has(.bio-specimen-choice) .bio-section-body { border-top: 0; }
.bio-request .bio-specimen-choice { padding: 8px 16px; border: 1px solid var(--section-border); border-bottom: 0; }
.bio-request .bio-specimen-choice label { font-size: 12px; min-height: 24px; }
.bio-request .bio-workspace .bio-field { gap: 5px; margin-bottom: 14px; font-size: 12px; line-height: 1.45; }
.bio-request .bio-section-body > .bio-field:last-child, .bio-request .bio-section-body > .bio-grid:last-child .bio-field { margin-bottom: 0; }
.bio-request .bio-section-body > .bio-grid { gap: 14px 16px; }
.bio-request .bio-workspace :is(input, select, textarea) { min-height: 40px; padding: 8px 10px; font-size: 14px; line-height: 1.4; }
.bio-request .bio-workspace textarea { min-height: 72px; padding: 8px 10px; }
.bio-request .bio-workspace input[type=file] { min-height: 40px; padding: 8px; font-size: 12px; }
.bio-request .bio-workspace input[type=file]::file-selector-button { margin-right: 8px; padding: 6px 10px; font-size: 11px; }
.bio-request .bio-section:nth-of-type(2) .bio-section-body, .bio-request .bio-section:nth-of-type(3) .bio-section-body { gap: 14px 16px; }
.bio-request .bio-workspace .bio-row { margin: 12px 0; padding: 12px; }
.bio-request .bio-section-body > h3 { margin: 18px 0 10px; padding-top: 12px; font-size: 14px; }
.bio-request .bio-section-body > p { margin-bottom: 12px; font-size: 12px; }
@media (max-width: 640px) {
  .bio-request .bio-section > legend { font-size: 16px; }
  .bio-request .bio-section-body { padding: 12px; }
  .bio-request .bio-specimen-choice { padding: 7px 12px; }
}

/* Give the portal more breathing room, especially at the right page edge. */
#page-wrapper #content:has(.bio-request) { padding-left: clamp(24px, 2.8vw, 48px); padding-right: clamp(40px, 4.3vw, 72px); }
.bio-request .bio-overview { padding-left: clamp(36px, 5vw, 76px); padding-right: clamp(44px, 6vw, 92px); }
.bio-request .bio-workspace { padding-left: 56px; padding-right: 64px; }
/* Keep repeatable fieldset titles fully inside the top of their panels. */
.bio-request .bio-workspace .bio-row { border: 0; box-shadow: inset 0 0 0 1px var(--section-border); padding: 12px; background: var(--section-tint); }
.bio-request .bio-workspace .bio-row > legend { display: block; float: none; width: 100%; max-width: 100%; margin: 0 0 10px; padding: 7px 10px; border-bottom: 1px solid var(--section-border); background: #ffffffa8; color: var(--section-ink); font-size: 12px; line-height: 1.4; }
@media (max-width: 1000px) { .bio-request .bio-workspace { padding-left: 32px; padding-right: 40px; } }
@media (max-width: 640px) {
  #page-wrapper #content:has(.bio-request) { padding-left: 16px; padding-right: 22px; }
  .bio-request .bio-overview { padding-left: 20px; padding-right: 24px; }
  .bio-request .bio-workspace { padding-left: 18px; padding-right: 22px; }
  .bio-request .bio-workspace .bio-row { padding: 10px; }
  .bio-request .bio-workspace .bio-row > legend { padding: 6px 8px; margin-bottom: 8px; }
}

/* Compact, table-like layouts for repeatable form entries. */
.bio-request .bio-contact-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px 24px; align-items: start; }
.bio-request .bio-contact-primary { grid-column: 1; grid-row: 1; display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.bio-request .bio-contact-details { grid-column: 2; grid-row: 1 / span 2; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.bio-request .bio-contact-details > .bio-field:has([name="pi_address"]),
.bio-request .bio-contact-details > .bio-field:has([name="pi_email"]) { grid-column: 1 / -1; }
.bio-request .bio-contact-details > .bio-field:has([name="pi_address"]) textarea { min-height: 128px; }
.bio-request .bio-contact-investigators { grid-column: 1; grid-row: 2; min-width: 0; }
.bio-request .bio-contact-investigators > h3 { margin: 4px 0 12px; padding-top: 16px; border-top: 1px solid var(--section-border); }
.bio-request .bio-repeat[data-repeat="investigators"] .bio-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.2fr) minmax(0, .8fr); }
.bio-request .bio-repeat[data-repeat="case_requirements"] .bio-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.bio-request .bio-repeat[data-repeat="case_requirements"] .bio-field:has([name$="[description]"]),
.bio-request .bio-repeat[data-repeat="case_requirements"] .bio-field:has([name$="[notes]"]) { grid-column: 1 / -1; }
.bio-request .bio-repeat[data-repeat="case_requirements"] .bio-field:has([name$="[age_group]"]),
.bio-request .bio-repeat[data-repeat="case_requirements"] .bio-field:has([name$="[gestational_age]"]) { grid-column: span 1; }
.bio-request .bio-repeat[data-repeat="case_requirements"] .bio-field:has([name$="[disease_category]"]),
.bio-request .bio-repeat[data-repeat="case_requirements"] .bio-field:has([name$="[controls]"]) { grid-column: span 2; }
.bio-request .bio-repeat[data-repeat="frozen_specimens"] .bio-grid { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 16px 20px; align-items: stretch; }
.bio-request .bio-frozen-identity { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; align-content: start; }
.bio-request .bio-frozen-request-details { display: grid; grid-template-columns: minmax(70px, .34fr) minmax(0, .8fr) minmax(0, 1.2fr); gap: 12px; align-content: start; align-items: start; }
.bio-request .bio-frozen-request-details > .bio-field > span { min-height: 2.7em; }
.bio-request .bio-frozen-request-details > .bio-field:has([name$="[number]"]) input { width: 8ch; max-width: 100%; }
.bio-request .bio-frozen-request-details > .bio-field:has([name$="[amount]"]) input { width: 9ch; max-width: 100%; transition: width .16s ease; }
.bio-request .bio-frozen-request-details > .bio-field:has([name$="[notes]"]) { grid-column: 3; grid-row: 1; }
.bio-request .bio-frozen-request-details > .bio-field:has([name$="[notes]"]) textarea { min-height: 110px; }
.bio-request .bio-section:has([name^="ffpe["]) .bio-row .bio-grid { grid-template-columns: minmax(0, 1.5fr) minmax(88px, .6fr) minmax(0, 1.5fr); }
.bio-request .bio-section:has([name="study_description"]) .bio-section-body > .bio-field:has([name="study_description"]) { grid-column: 1; }
.bio-request .bio-section:has([name="study_description"]) .bio-section-body > .bio-field:has([name="study_attachment"]) { grid-column: 1; }
.bio-request .bio-section:has([name="study_description"]) .bio-section-body > .bio-field:has([name="study_attachment"]) { grid-column: 2; }
.bio-request .bio-section:has([name="study_description"]) .bio-section-body > .bio-field:has([name="supporting_findings"]),
.bio-request .bio-section:has([name="study_description"]) .bio-section-body > .bio-field:has([name="previous_samples_details"]) { grid-column: span 1; }
.bio-request .bio-section:has([name="study_description"]) .bio-previous-samples-details { grid-column: 2; }
@media (max-width: 1000px) {
  .bio-request .bio-contact-layout { grid-template-columns: minmax(0, 1fr); }
  .bio-request .bio-contact-primary, .bio-request .bio-contact-details, .bio-request .bio-contact-investigators { grid-column: 1; grid-row: auto; }
  .bio-request .bio-contact-primary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bio-request .bio-repeat[data-repeat="investigators"] .bio-grid,
  .bio-request .bio-repeat[data-repeat="case_requirements"] .bio-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bio-request .bio-section:has([name^="ffpe["]) .bio-row .bio-grid { grid-template-columns: minmax(0, 1.15fr) minmax(82px, .45fr) minmax(0, 1.15fr); gap: 10px; }
  .bio-request .bio-repeat[data-repeat="frozen_specimens"] .bio-grid { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 12px; }
  .bio-request .bio-repeat[data-repeat="case_requirements"] .bio-field:has([name$="[age_group]"]),
  .bio-request .bio-repeat[data-repeat="case_requirements"] .bio-field:has([name$="[gestational_age]"]),
  .bio-request .bio-repeat[data-repeat="case_requirements"] .bio-field:has([name$="[disease_category]"]),
  .bio-request .bio-repeat[data-repeat="case_requirements"] .bio-field:has([name$="[controls]"]) { grid-column: span 1; }
}
@media (max-width: 640px) {
  .bio-request .bio-section:has([name="study_description"]) > legend { flex-wrap: wrap; }
  .bio-request .bio-section:has([name="study_description"]) > legend .bio-previous-samples-toggle { flex-basis: calc(100% - 48px); max-width: none; margin-left: 48px; }
  .bio-request .bio-contact-primary,
  .bio-request .bio-contact-details,
  .bio-request .bio-repeat[data-repeat="investigators"] .bio-grid,
  .bio-request .bio-repeat[data-repeat="case_requirements"] .bio-grid,
  .bio-request .bio-repeat[data-repeat="frozen_specimens"] .bio-grid,
  .bio-request .bio-section:has([name^="ffpe["]) .bio-row .bio-grid { grid-template-columns: minmax(0, 1fr); }
  .bio-request .bio-section:has([name^="ffpe["]) .bio-row .bio-field > span { min-height: 0; }
  .bio-request .bio-frozen-request-details { grid-template-columns: minmax(0, .45fr) minmax(0, 1fr); }
  .bio-request .bio-frozen-identity > .bio-field { grid-column: 1; grid-row: auto; width: 100%; }
  .bio-request .bio-frozen-request-details > .bio-field:has([name$="[number]"]) { grid-column: 1; grid-row: 1; width: 100%; }
  .bio-request .bio-frozen-request-details > .bio-field:has([name$="[amount]"]) { grid-column: 2; grid-row: 1; width: 100%; }
  .bio-request .bio-frozen-request-details > .bio-field:has([name$="[notes]"]) { grid-column: 1 / -1; grid-row: 2; width: 100%; }
  .bio-request .bio-section:has([name="study_description"]) .bio-section-body > .bio-field:has([name="study_description"]),
  .bio-request .bio-section:has([name="study_description"]) .bio-section-body > .bio-field:has([name="study_attachment"]),
  .bio-request .bio-section:has([name="study_description"]) .bio-section-body > .bio-field:has([name="supporting_findings"]),
  .bio-request .bio-section:has([name="study_description"]) .bio-section-body > .bio-field:has([name="previous_samples_details"]) { grid-column: 1 / -1; }
  .bio-request .bio-section:has([name="study_description"]) .bio-previous-samples-details { grid-column: 1 / -1; }
  .bio-request .bio-section:has([name="pi_cv"]) .bio-section-body > .bio-field:has([name="pi_cv"]),
  .bio-request .bio-section:has([name="pi_cv"]) .bio-section-body > .bio-field:has([name="experience"]),
  .bio-request .bio-section:has([name="pi_cv"]) .bio-section-body > .bio-field:has([name="resources"]),
  .bio-request .bio-section:has([name="pi_cv"]) .bio-section-body > .bio-field:has([name="funding"]) { grid-column: 1 / -1; }
  .bio-request .bio-repeat[data-repeat="case_requirements"] .bio-field:has([name$="[age_group]"]),
  .bio-request .bio-repeat[data-repeat="case_requirements"] .bio-field:has([name$="[gestational_age]"]),
  .bio-request .bio-repeat[data-repeat="case_requirements"] .bio-field:has([name$="[disease_category]"]),
  .bio-request .bio-repeat[data-repeat="case_requirements"] .bio-field:has([name$="[controls]"]) { grid-column: 1 / -1; }
}

/* Add a little separation between the main application sections. */
.bio-request .bio-fields > .bio-section { margin-bottom: 36px; }
.bio-request .bio-fields > .bio-section .bio-section-body { border-color: color-mix(in srgb, var(--section-border) 72%, var(--section-ink)); }
@media (max-width: 640px) { .bio-request .bio-fields > .bio-section { margin-bottom: 28px; } }

/* Reduce the excess left inset while retaining the wider right gutter. */
#page-wrapper #content:has(.bio-request) { padding-left: clamp(12px, 1.5vw, 24px); }
.bio-request .bio-overview { padding-left: clamp(20px, 3.5vw, 54px); }
.bio-request .bio-workspace { padding-left: 36px; }
@media (max-width: 1000px) { .bio-request .bio-workspace { padding-left: 24px; } }
@media (max-width: 640px) {
  #page-wrapper #content:has(.bio-request) { padding-left: 8px; }
  .bio-request .bio-overview { padding-left: 12px; }
  .bio-request .bio-workspace { padding-left: 12px; }
}


/* Custom dropdowns retain the native select as the form value and validation source. */
.bio-request .bio-select-field { position: relative; z-index: 1; }
.bio-request .bio-select-field.is-open { z-index: 20; }
.bio-request .bio-select-field > .bio-control-label { display: block; margin: 0; color: #37442f; font-size: 12px; line-height: 1.45; font-weight: 600; }
.bio-request .bio-select-field.is-enhanced > .bio-native-select { position: absolute !important; width: 1px !important; height: 1px !important; min-height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.bio-request .bio-select-ui { position: relative; }
.bio-request .bio-select-trigger { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 40px; padding: 7px 10px; border: 1px solid #c3cfb9; border-radius: 3px; background: #fff; color: #193c3e; text-align: left; font: 400 14px/1.4 "Lato", sans-serif; box-shadow: none; }
.bio-request .bio-workspace .bio-select-trigger:hover { border-color: #4c9c2e; background: #fbfdf8; color: #193c3e; box-shadow: none; }
.bio-request .bio-select-trigger:focus-visible { outline: 3px solid #0783b0; outline-offset: 2px; }
.bio-request .bio-select-value-wrap { display: flex; align-items: center; gap: 10px; min-width: 0; }
.bio-request .bio-select-value { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bio-request .bio-select-current-icon { display: inline-flex; flex: 0 0 24px; width: 24px; height: 24px; align-items: center; justify-content: center; }
.bio-request .bio-select-option-icon svg { display: block; width: 24px; height: 24px; }
.bio-request .bio-select-caret { flex: 0 0 8px; width: 8px; height: 8px; border-right: 1.7px solid #335821; border-bottom: 1.7px solid #335821; transform: rotate(45deg) translateY(-2px); transition: transform .15s ease; }
.bio-request .bio-select-trigger[aria-expanded="true"] .bio-select-caret { transform: rotate(225deg) translate(-1px, -1px); }
.bio-request .bio-select-menu { position: absolute; top: calc(100% + 4px); left: 0; z-index: 30; width: 100%; max-height: min(280px, 42vh); overflow-y: auto; padding: 4px; border: 1px solid #c3cfb9; background: #fff; box-shadow: 0 8px 24px #193c3e20; }
.bio-request .bio-select-menu[hidden] { display: none; }
.bio-request .bio-select-option { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 38px; padding: 6px 8px; border: 0; border-radius: 2px; background: #fff; color: #193c3e; text-align: left; font: 400 13px/1.35 "Lato", sans-serif; cursor: pointer; }
.bio-request .bio-select-option:hover, .bio-request .bio-select-option.is-active { background: #f1f7e9; color: #193c3e; box-shadow: none; }
.bio-request .bio-select-option[aria-selected="true"] { background: #eaf3dc; color: #335821; font-weight: 700; }
.bio-request .bio-select-option:disabled { opacity: .5; cursor: not-allowed; }
.bio-request .bio-select-option-label { flex: 1; }
.bio-request .bio-select-option-check { width: 16px; color: #4c9c2e; text-align: center; }
.bio-request .bio-select-option[aria-selected="true"] .bio-select-option-check::before { content: "✓"; font-weight: 900; }
.bio-request .bio-select-field[data-invalid="true"] .bio-select-trigger { border-color: #b94335; box-shadow: 0 0 0 2px #b9433520; }
@media (prefers-reduced-motion: reduce) { .bio-request .bio-select-caret { transition: none; } }


/* Make specimen selections easier to scan and show row completion at a glance. */
.bio-request .bio-select-field.is-selected .bio-select-trigger { border-color: #a8c883; background: #f7faef; }
.bio-request .bio-select-field.is-selected .bio-select-current-icon { flex-basis: 28px; width: 28px; height: 28px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 1px #d8e7c9; }
.bio-request .bio-select-option { min-height: 42px; gap: 12px; padding: 7px 10px; border-bottom: 1px solid #edf1e9; }
.bio-request .bio-select-option-label { white-space: normal; line-height: 1.4; }
.bio-request .bio-select-option-icon { display: inline-flex; flex: 0 0 28px; width: 28px; height: 28px; align-items: center; justify-content: center; border-radius: 50%; background: #f7faef; }
.bio-request .bio-select-field:has(select[name$="[source]"]) .bio-select-menu { width: max(100%, 270px); max-width: min(340px, calc(100vw - 40px)); }
.bio-request .bio-select-hint { display: block; min-height: 15px; margin-top: 4px; color: #65745d; font-size: 10px; line-height: 1.4; }
.bio-request .bio-select-field.is-waiting .bio-select-trigger { background: #f2f4ef; color: #65745d; cursor: not-allowed; }
.bio-request .bio-workspace .bio-row[data-request-state="incomplete"] { border-left: 3px solid #c35d4d; }
.bio-request .bio-workspace .bio-row[data-request-state="complete"] { border-left: 3px solid #4c9c2e; }
@media (max-width: 640px) {
  .bio-request .bio-select-field:has(select[name$="[source]"]) .bio-select-menu { width: min(320px, calc(100vw - 40px)); }
}


.bio-request .bio-row-state { float: right; margin-left: 10px; padding: 3px 7px; border-radius: 2px; font-size: 10px; line-height: 1.3; font-weight: 700; white-space: nowrap; }
.bio-request .bio-row-state[data-state="incomplete"] { background: #fff0ed; color: #a64438; }
.bio-request .bio-row-state[data-state="complete"] { background: #eaf4dd; color: #356d31; }
.bio-request .bio-select-field:has(select[name$="[source]"]) .bio-select-trigger { min-height: 44px; }
.bio-request .bio-select-field:has(select[name$="[source]"]) .bio-select-value { white-space: normal; line-height: 1.25; }
@media (max-width: 640px) {
  .bio-request .bio-select-field:has(select[name$="[source]"]) .bio-select-trigger { min-height: 40px; }
}

/* Give the preparation steps distinct, more confident CHAMPS color cues. */
.bio-request .bio-preparation .bio-checklist li {
  --prep-bg: #e7f2d5;
  --prep-edge: #a7c978;
  --prep-accent: #5f9f35;
  --prep-badge: #3f852c;
  background: var(--prep-bg);
  border-color: var(--prep-edge);
  border-left: 4px solid var(--prep-accent);
}
.bio-request .bio-preparation .bio-checklist li:nth-child(2) {
  --prep-bg: #dff1f8;
  --prep-edge: #8dcbe0;
  --prep-accent: #27a6cf;
  --prep-badge: #1688b5;
}
.bio-request .bio-preparation .bio-checklist li:nth-child(3) {
  --prep-bg: #edf3ce;
  --prep-edge: #c3d66a;
  --prep-accent: #9ab900;
  --prep-badge: #6f9200;
}
.bio-request .bio-preparation .bio-checklist li:nth-child(4) {
  --prep-bg: #e2eff6;
  --prep-edge: #98c8dd;
  --prep-accent: #399ec4;
  --prep-badge: #237d9f;
}
.bio-request .bio-preparation .bio-checklist li:nth-child(5) {
  --prep-bg: #e4efd6;
  --prep-edge: #a6c57a;
  --prep-accent: #79a83d;
  --prep-badge: #4e842d;
}
.bio-request .bio-preparation .bio-checklist .bio-step-badge .bio-prep-icon > circle:first-child {
  fill: var(--prep-accent);
}
.bio-request .bio-preparation .bio-checklist .bio-step-number {
  background: var(--prep-badge);
  border-color: var(--prep-bg);
}
.bio-request .bio-preparation .bio-checklist .bio-step-action,
.bio-request .bio-preparation .bio-checklist .bio-step-entry summary {
  border-color: var(--prep-accent);
}

/* Keep the request steps crisp white; reserve color for their identifying accents. */
.bio-request .bio-preparation .bio-checklist li {
  background: #fff;
  border-color: #dce5d6;
  border-left: 4px solid var(--prep-accent);
  box-shadow: 0 2px 8px rgba(32, 40, 27, .045);
}
.bio-request .bio-preparation .bio-checklist li:nth-child(2),
.bio-request .bio-preparation .bio-checklist li:nth-child(4) {
  background: #fff;
}
.bio-request .bio-preparation .bio-checklist .bio-step-number {
  border-color: #fff;
}

/* Final local pass: white panels with accent color carried only by the edges. */
.bio-request .bio-overview .bio-final-guidance > section,
.bio-request .bio-overview .bio-final-guidance > section:nth-child(2),
.bio-request .bio-overview .bio-final-guidance > section:nth-child(3) {
  background: #fff;
  border: 1px solid #dce5d6;
  border-left: 4px solid #4c9c2e;
  box-shadow: 0 2px 8px rgba(32, 40, 27, .045);
}
.bio-request .bio-overview .bio-final-guidance > section:first-child {
  --closing-accent: #56a82f;
  --closing-heading: #263c30;
}
.bio-request .bio-overview .bio-final-guidance > section:nth-child(2) {
  --closing-accent: #20a8d6;
  --closing-heading: #263c30;
}
.bio-request .bio-overview .bio-final-guidance > section:nth-child(3) {
  --closing-accent: #82bd00;
  --closing-heading: #263c30;
}
.bio-request .bio-overview .bio-final-guidance > section { background: #fff; border-color: #d9e2dc; border-left: 4px solid var(--closing-accent); }
.bio-request .bio-overview .bio-final-guidance > section h3 { color: var(--closing-heading); }
.bio-request .bio-overview .bio-final-guidance > section .bio-overline {
  background: var(--closing-accent);
  color: #fff;
  box-shadow: 0 0 0 1px var(--closing-accent);
}
.bio-request .bio-overview .bio-final-guidance > section a { color: #275f3b; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.bio-request .bio-workspace .bio-section-body { background: #fff; }
.bio-request .bio-workspace .bio-specimen-choice {
  background: #fff;
  border-left: 3px solid var(--section-highlight);
}
.bio-request .bio-section:has([name^="frozen_specimens["]) .bio-specimen-choice { padding-top: 8px; padding-bottom: 8px; }
.bio-request .bio-section:has([name^="frozen_specimens["]) .bio-section-body { padding-top: 10px; }
.bio-request .bio-section:has([name^="frozen_specimens["]) .bio-section-body > h3:first-child { margin-top: 0; }
.bio-request .bio-section:has([name^="ffpe["]) .bio-specimen-choice { padding-top: 7px; padding-bottom: 7px; }
.bio-request .bio-section:has([name^="ffpe["]) .bio-section-body { padding-top: 10px; }
.bio-request .bio-section:has([name^="ffpe["]) .bio-row { margin: 0 0 14px; padding: 10px 12px 12px; }
.bio-request .bio-section:has([name^="ffpe["]) .bio-row > legend { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; margin-bottom: 8px; padding: 4px 0 8px; }
.bio-request .bio-section:has([name^="ffpe["]) .bio-ffpe-note { margin-left: auto; color: #53604f; font-size: 11px; font-weight: 400; line-height: 1.45; }
.bio-request .bio-section:has([name^="ffpe["]) .bio-row .bio-grid { grid-template-columns: minmax(0, 1fr) 80px minmax(0, 1fr); gap: 12px 16px; align-items: start; }
.bio-request .bio-section:has([name^="ffpe["]) .bio-row .bio-field { min-width: 0; margin: 0; }
.bio-request .bio-section:has([name^="ffpe["]) .bio-row .bio-field > span { min-height: 1.45em; }
.bio-request .bio-section:has([name^="ffpe["]) .bio-row .bio-field textarea { min-height: 52px; }
@media (max-width: 640px) {
  .bio-request .bio-section:has([name^="ffpe["]) .bio-row .bio-grid { grid-template-columns: minmax(0, 1fr) 72px; }
  .bio-request .bio-section:has([name^="ffpe["]) .bio-row .bio-field:has([name$="[notes]"]) { grid-column: 1 / -1; }
  .bio-request .bio-section:has([name^="ffpe["]) .bio-ffpe-note { flex-basis: 100%; margin-left: 0; }
}
.bio-request .bio-section:has([name="ffpe_justification"]) .bio-section-body > .bio-field { margin-top: 4px; }
.bio-request .bio-section:has([name="ffpe_justification"]) .bio-section-body > .bio-field textarea { min-height: 90px; }
.bio-request .bio-workspace .bio-row {
  background: #fff;
  border: 1px solid var(--section-border);
  border-left: 3px solid var(--section-highlight);
  box-shadow: 0 2px 8px rgba(32, 40, 27, .045);
}
.bio-request .bio-workspace .bio-row > legend { background: #fff; }
.bio-request .bio-section-body > .bio-field:has([name="frozen_justification"]) { margin-top: 18px; }

/* Keep the application surface white and set the section navigation apart. */
.bio-request .bio-workspace { background: #fff; }
.bio-request .bio-sidebar { padding: 16px 10px; border: 1px solid #d5dde2; border-radius: 6px; background: #f3f5f7; }
.bio-request .bio-sidebar .bio-nav-title { margin: 0 8px 12px; color: #465360; font-size: 11px; letter-spacing: .1em; }
.bio-request .bio-sidebar .bio-nav li { margin: 0 0 4px; }
.bio-request .bio-sidebar .bio-nav a { min-height: 46px; padding: 9px 8px; gap: 10px; border: 1px solid transparent; border-radius: 4px; color: #273440; background: transparent; font-size: 13px; font-weight: 600; line-height: 1.4; }
.bio-request .bio-sidebar .bio-nav a::before { flex: 0 0 27px; height: 27px; border: 1px solid #cbd4dc; border-radius: 5px; background: #fff; color: #526270; box-shadow: none; font-size: 10px; font-weight: 700; }
.bio-request .bio-sidebar .bio-nav a:hover { background: #fff; border-color: #cbd4dc; color: #174f70; }
.bio-request .bio-sidebar .bio-nav a[aria-current="step"] { background: #e5f2fa; border-color: #9bc4dc; color: #174f70; box-shadow: inset 3px 0 #227ca8; }
.bio-request .bio-sidebar .bio-nav a[aria-current="step"]::before { background: #227ca8; border-color: #227ca8; color: #fff; }
.bio-request .bio-sidebar .bio-nav a:focus-visible { outline: 2px solid #227ca8; outline-offset: 2px; }
.bio-request .bio-sidebar .bio-nav a[data-complete="true"] { background: #edf7e8; border-color: #abcda0; color: #285c32; }
.bio-request .bio-sidebar .bio-nav a[data-complete="true"]::before { background: #39843e; border-color: #39843e; color: #fff; }
.bio-request .bio-sidebar .bio-nav a[data-complete="true"]::after { content: '\2713'; margin-left: auto; color: #287436; font-size: 14px; font-weight: 700; }
.bio-request .bio-sidebar .bio-nav a[data-complete="true"][aria-current="step"] { border-color: #39843e; box-shadow: inset 3px 0 #39843e; }
.bio-request .bio-sidebar .bio-nav a[data-complete="true"]:hover { background: #e2f1da; }
@media (max-width: 640px) { .bio-request .bio-sidebar .bio-nav a { font-size: 12px; gap: 7px; padding: 8px 6px; } }

/* Let the portal's dark masthead sit flush beneath the site's overlaid navigation. */
.bio-request { margin-top: 0; border-top: 0; border-top-left-radius: 0; border-top-right-radius: 0; }
.bio-request .bio-header { border-top-left-radius: 0; border-top-right-radius: 0; }

/* Compact handoff from the guidance into the application. */
.bio-request .bio-application-heading {
  display: block;
  margin-top: 36px;
  padding: 20px 0 24px;
  border: 0;
  border-top: 1px solid var(--bio-line);
  background: transparent;
  scroll-margin-top: 100px;
}
.bio-request .bio-application-copy { min-width: 0; }
.bio-request .bio-application-heading h3 { margin: 0; color: #30352e; font-size: clamp(24px, 2.4vw, 32px); line-height: 1.2; }
.bio-request .bio-workspace { border-top: 0; }
@media (max-width: 640px) {
  .bio-request .bio-application-heading { margin-top: 28px; padding: 18px 0 20px; }
}
/* Quiet, section-specific reset controls. */
.bio-request .bio-workspace button.bio-clear-section {
  display: block; width: auto; min-height: 28px; margin: 5px 0 0 auto;
  padding: 3px 0; border: 0; border-radius: 0; background: transparent;
  color: #5b6c60; box-shadow: none; font-size: 11px; font-weight: 400;
  line-height: 1.4; text-transform: none; letter-spacing: 0;
  text-decoration: underline; text-underline-offset: 3px;
}
.bio-request .bio-workspace button.bio-clear-section::before,
.bio-request .bio-workspace button.bio-clear-section::after { display: none; }
.bio-request .bio-workspace button.bio-clear-section:hover { background: transparent; color: #285c38; }
.bio-request .bio-workspace button.bio-clear-section:focus-visible { outline: 2px solid #3284a0; outline-offset: 3px; }
/* Show section progress explicitly, including invalid completed entries. */
.bio-request .bio-sidebar .bio-nav a { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 2px 10px; padding: 10px; }
.bio-request .bio-sidebar .bio-nav a::before { grid-column: 1; grid-row: 1 / span 2; align-self: center; width: 27px; }
.bio-request .bio-sidebar .bio-nav-label { grid-column: 2; }
.bio-request .bio-sidebar .bio-nav-status { grid-column: 2; font-size: 10px; font-weight: 400; color: #63717d; }
.bio-request .bio-sidebar .bio-nav a[data-complete="true"] { border-color: #72aa6c; background: #e3f2dd; }
.bio-request .bio-sidebar .bio-nav a[data-complete="true"]::before { content: '✓'; font-size: 15px; }
.bio-request .bio-sidebar .bio-nav a[data-complete="true"]::after { display: none; }
.bio-request .bio-sidebar .bio-nav a[data-complete="true"] .bio-nav-status { color: #285c32; font-weight: 700; }
.bio-request .bio-sidebar .bio-nav a[data-state="attention"] { border-color: #d9b777; background: #fff6e5; }
.bio-request .bio-sidebar .bio-nav a[data-state="attention"] .bio-nav-status { color: #84520e; font-weight: 700; }
#page-wrapper #content:has(.bio-request) { padding-left: 0; }
#page-wrapper #content:has(.bio-request) > .row { margin-left: 0; }
#page-wrapper #content:has(.bio-request) #primary { padding-left: 0; }
/* Draft, file-size, date and multi-choice controls. */
.bio-request .bio-draft-notice { margin: 0 0 22px; padding: 12px 15px; border-left: 3px solid #4b9e38; background: #f2f7ee; color: #344538; font-size: .9rem; line-height: 1.5; }
.bio-request [data-draft-status] { display: block; margin-top: 4px; color: #326f3f; font-weight: 600; }
.bio-request .bio-date-hint, .bio-request .bio-file-size-hint, .bio-request .bio-file-feedback { display: block; margin-top: 5px; color: #56665a; font-size: .78rem; line-height: 1.4; }
.bio-request .bio-file-feedback[data-state="error"] { color: #9f2d25; font-weight: 700; }
.bio-request .bio-file-feedback[data-state="ok"] { color: #326f3f; }
.bio-request .bio-checkbox-group { min-width: 0; margin: 0; padding: 0; border: 0; }
.bio-request .bio-checkbox-group legend { margin: 0 0 7px; padding: 0; color: #344538; font-size: .82rem; font-weight: 700; }
.bio-request .bio-checkbox-options { display: flex; flex-wrap: wrap; gap: 7px; }
.bio-request .bio-checkbox-options label { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 7px; width: max-content; max-width: 100%; min-height: 34px; padding: 6px 10px; border: 1px solid #cbd8c9; border-radius: 4px; background: #fff; color: #344538; font-size: .85rem; white-space: nowrap; cursor: pointer; }
.bio-request .bio-checkbox-options label span { flex: 0 0 auto; white-space: nowrap; }
.bio-request .bio-checkbox-options label:has(input:checked) { border-color: #4b9e38; background: #f0f7e9; }
.bio-request .bio-checkbox-options input { accent-color: #4b9e38; }
.bio-request .bio-field [data-required-when-requested] { scroll-margin-top: 20px; }
.bio-request .bio-final-actions [data-save-draft], .bio-request .bio-final-actions [data-clear-draft] { background: #fff; color: #285c38; border: 1px solid #4b9e38; }

/* Compact case requirements into a balanced two-column form grid. */
.bio-request .bio-repeat[data-repeat="case_requirements"] .bio-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; }
.bio-request .bio-repeat[data-repeat="case_requirements"] .bio-field:has([name^="case_requirements["]) { grid-column: span 1; }
.bio-request .bio-repeat[data-repeat="case_requirements"] .bio-field:has([name$="[description]"]),
.bio-request .bio-repeat[data-repeat="case_requirements"] .bio-field:has([name$="[notes]"]) { grid-column: 1 / -1; }
.bio-request .bio-repeat[data-repeat="case_requirements"] .bio-field:has([name$="[age_group][]"]),
.bio-request .bio-repeat[data-repeat="case_requirements"] .bio-field:has([name$="[gestational_age][]"]),
.bio-request .bio-repeat[data-repeat="case_requirements"] .bio-field:has([name$="[disease_category]"], [name$="[controls]"]) { grid-column: span 1; }
.bio-request .bio-repeat[data-repeat="case_requirements"] .bio-field textarea[data-compact-textarea] { min-height: 52px; padding: 7px 9px; }
.bio-request .bio-checkbox-group { display: flex; flex-direction: column; justify-content: flex-start; min-height: 76px; padding: 7px 10px; border: 1px solid #cbd8c9; border-radius: 4px; background: #fff; }
.bio-request .bio-checkbox-group legend { float: none; width: auto; margin: 0 0 3px; padding: 0; border: 0; background: none; color: #344538; font-size: 12px; line-height: 1.3; }
.bio-request .bio-checkbox-group .bio-checkbox-options { display: grid; grid-template-columns: repeat(2, max-content); align-content: start; gap: 2px 18px; }
.bio-request .bio-checkbox-group .bio-checkbox-options label { justify-content: flex-start; width: auto; min-height: 22px; padding: 1px 2px; border: 0; border-radius: 2px; background: transparent; color: #37442f; font-size: 12px; line-height: 1.3; }
.bio-request .bio-checkbox-group .bio-checkbox-options label:has(input:checked) { border: 0; background: transparent; color: #285c38; }
.bio-request .bio-checkbox-group .bio-checkbox-options input[type="checkbox"] { flex: 0 0 15px; width: 15px; height: 15px; min-height: 15px; margin: 0; padding: 0; accent-color: #4b9e38; }
@media (max-width: 640px) {
  .bio-request .bio-repeat[data-repeat="case_requirements"] .bio-grid { grid-template-columns: minmax(0, 1fr); }
  .bio-request .bio-repeat[data-repeat="case_requirements"] .bio-field:has([name^="case_requirements["]) { grid-column: 1 / -1; }
}

/* One full-width row for each FFPE tissue type. */
.bio-request .bio-ffpe-types { width: 100%; border-collapse: collapse; margin: 0; }
.bio-request .bio-ffpe-types td { padding: 18px; border: 1px solid #c9dce5; background: #f4f9fb; color: #263c35; }
.bio-request .bio-ffpe-types .bio-chip-icon { width: 32px; height: 32px; margin-right: 12px; vertical-align: middle; }

.bio-request .bio-data-access-scroll { overflow-x: auto; margin: 20px 0; }
.bio-request .bio-data-access { width: 100%; min-width: 580px; border-collapse: collapse; font-size: 14px; line-height: 1.5; }
.bio-request .bio-data-access caption { caption-side: top; text-align: left; font-weight: 700; color: var(--bio-ink); padding: 12px; }
.bio-request .bio-data-access th, .bio-request .bio-data-access td { padding: 12px; border: 1px solid #cbd8db; vertical-align: top; text-align: left; }
.bio-request .bio-data-access thead { background: #edf6fa; }
