:root {
  /* One readable column keeps branding, intake and plans aligned at every size. */
  --layout-max-width: 52.5rem;
  --layout-gutters: 40px;
  /* Shared type scale: regular text 16px, supporting labels 14px at default zoom.
     rem units preserve the reader's browser font-size preference. */
  --font-ui: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --text-small: .875rem;
  --text-body: 1rem;
  --text-card-title: 1.125rem;
  --text-subheading: 1.25rem;
  --text-section: 1.5rem;
  --text-page: 1.75rem;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --ink: #17202b;
  --muted: #566477;
  --quiet: #5f6b7b;
  --nav-all: #334155;
  --nav-priority: #9a4f35;
  --nav-vaccine: #1d4ed8;
  --nav-screening: #7e22ce;
  --nav-nutrition: #166534;
  --nav-guide: #0e7490;
  --nav-health: #355c8c;
  --nav-travel: #8a5a25;
  --line: rgba(28, 42, 61, 0.1);
  --surface: rgba(255, 255, 255, 0.86);
  --surface-solid: #ffffff;
  --blue: #2b63cf;
  --blue-dark: #225ac1;
  --blue-soft: #eaf1ff;
  --accent: #2b63cf;
  --accent-strong: #174f9f;
  --accent-soft: #eaf1ff;
  --accent-light: #6599f5;
  --accent-border: var(--accent);
  --accent-ring: var(--accent);
  --accent-shadow: rgba(55, 119, 237, 0.25);
  --page-halo-one: rgba(181, 211, 255, 0.45);
  --page-halo-two: rgba(221, 212, 255, 0.43);
  --page-top: #f9fbff;
  --page-bottom: #f3f6fa;
  --ambient-one: #a5c9ff;
  --ambient-two: #ccbfff;
  --green: #1f744f;
  --green-soft: #e9f7f0;
  --amber: #875000;
  --amber-soft: #fff5df;
  --red: #b52f38;
  --red-soft: #fff0f0;
  --route-emergency-fg: #a12424;
  --route-emergency-bg: #fff0f0;
  --route-today-fg: #7a4a00;
  --route-today-bg: #fff5df;
  --route-planned-fg: #174f9f;
  --route-planned-bg: #eaf1ff;
  --route-routine-fg: #1f6f4e;
  --route-routine-bg: #e9f7f0;
  --route-verify-fg: #5b3f91;
  --route-verify-bg: #f3effb;
  --route-intro-fg: #2d4058;
  --route-intro-bg: #f5f8fd;
  --route-intro-border: #607a9e;
  --shadow: 0 24px 70px rgba(43, 62, 88, 0.13);
  --shadow-small: 0 10px 30px rgba(43, 62, 88, 0.08);
}

html[data-theme="rose"] {
  --accent: #963d76;
  --accent-strong: #742657;
  --accent-soft: #f9ebf4;
  --accent-light: #d76f9f;
  --accent-shadow: rgba(157, 53, 107, 0.23);
  --page-halo-one: rgba(244, 190, 215, 0.43);
  --page-halo-two: rgba(222, 204, 249, 0.4);
  --page-top: #fff9fc;
  --page-bottom: #f7f3f8;
  --ambient-one: #efb6d0;
  --ambient-two: #d9c4f2;
}

html[data-theme="purple"] {
  --accent: #7049a8;
  --accent-strong: #573588;
  --accent-soft: #f2ecfa;
  --accent-light: #9a7bd4;
  --accent-shadow: rgba(99, 70, 166, 0.23);
  --page-halo-one: rgba(218, 201, 250, 0.44);
  --page-halo-two: rgba(199, 216, 255, 0.4);
  --page-top: #fcfaff;
  --page-bottom: #f5f2fa;
  --ambient-one: #d4c1f3;
  --ambient-two: #bcd2f6;
}

html[data-theme="green"] {
  --accent: #176b69;
  --accent-strong: #105654;
  --accent-soft: #e7f5f2;
  --accent-light: #55a6a0;
  --accent-shadow: rgba(37, 107, 82, 0.22);
  --page-halo-one: rgba(189, 229, 206, 0.44);
  --page-halo-two: rgba(203, 221, 250, 0.38);
  --page-top: #f9fcfb;
  --page-bottom: #f1f8f5;
  --ambient-one: #b9dfc9;
  --ambient-two: #c6d7f1;
}

* { box-sizing: border-box; }

html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  color-scheme: light;
  scroll-behavior: smooth;
  background: #f4f7fb;
}

body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  background:
    radial-gradient(circle at 12% 8%, var(--page-halo-one), transparent 29rem),
    radial-gradient(circle at 92% 22%, var(--page-halo-two), transparent 28rem),
    linear-gradient(180deg, var(--page-top) 0%, var(--page-bottom) 100%);
  font-family: var(--font-ui);
  font-size: var(--text-body);
  line-height: 1.6;
  font-weight: var(--weight-regular);
  overflow-wrap: anywhere;
  -webkit-font-smoothing: antialiased;
}

main { min-height: 100vh; padding-bottom: 88px; }
body.drawing-open { overscroll-behavior: contain; }

button, input, select, textarea { font: inherit; }
small, label, legend { font-size: var(--text-small); line-height: 1.5; }
h1, h2, h3, h4 { line-height: 1.3; font-weight: var(--weight-bold); }
button, input, select, textarea, summary { max-width: 100%; }
button, label { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }

[hidden] { display: none !important; }

.ambient {
  position: fixed;
  z-index: -1;
  width: 28rem;
  height: 28rem;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.35;
  pointer-events: none;
}
.ambient-one { top: -10rem; left: -9rem; background: var(--ambient-one); }
.ambient-two { right: -12rem; top: 30%; background: var(--ambient-two); }

.topbar {
  width: min(var(--layout-max-width), calc(100% - var(--layout-gutters)));
  min-height: 72px;
  height: auto;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  max-width: 100%;
  color: var(--accent);
  font-weight: var(--weight-bold);
  font-size: 1.375rem;
  text-decoration: none;
  letter-spacing: -0.02em;
}

.brand[data-tinted="false"],
.intake-profile-icon[data-tinted="false"] { color: #006f65; }
.brand-wordmark { line-height: 1.2; }

.brand-mark {
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  flex: 0 0 auto;
}

.prototype-pill {
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.72);
  color: var(--muted);
  border-radius: 999px;
  padding: 8px 13px;
  font-size: var(--text-small);
  font-weight: var(--weight-semibold);
  backdrop-filter: blur(18px);
}

.page-shell {
  width: min(var(--layout-max-width), calc(100% - var(--layout-gutters)));
  margin: 0 auto;
}

.intake-shell {
  min-height: auto;
  padding: 22px 0 28px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-content: center;
  align-items: start;
}

.eyebrow, .card-kicker {
  display: block;
  color: var(--accent-strong);
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.results-header h2 {
  margin: 15px 0 20px;
  font-size: var(--text-page);
  line-height: 1.3;
  letter-spacing: -0.02em;
  max-width: 640px;
}

.form-card {
  width: 100%;
  padding: clamp(26px, 4vw, 42px);
  border: 1px solid rgba(255, 255, 255, 0.86);
  border-radius: 30px;
  background: var(--surface);
  box-shadow: var(--shadow);
  backdrop-filter: blur(28px);
}

.form-heading {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-bottom: 26px;
  border-bottom: 1px solid var(--line);
}
.form-heading--compact { padding-bottom: 20px; }
.intake-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.intake-title-row h1 { min-width: 0; }
.intake-profile-icon {
  display: block;
  flex: 0 0 auto;
  width: 2.25rem;
  height: 2.25rem;
  color: var(--accent);
}
.form-heading--compact h1 {
  margin: 0;
  font-size: var(--text-page);
  line-height: 1.3;
  letter-spacing: -0.02em;
}
.form-heading .intake-privacy-note {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 10px;
  color: #287657;
  font-size: var(--text-small);
  line-height: 1.45;
}
.intake-privacy-note > span {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  display: inline-grid;
  place-items: center;
  margin-top: 1px;
  border-radius: 50%;
  color: white;
  background: var(--green);
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
}

.step-number {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--accent-soft);
  color: var(--accent-strong);
  font-weight: var(--weight-bold);
}

.form-heading h2,
.section-title-row h2,
.home-guides-heading h2,
.measurement-guide h2,
.safety-stop h2 {
  margin: 0;
  font-size: var(--text-section);
  letter-spacing: -0.02em;
}
.form-heading p { margin: 4px 0 0; color: var(--muted); font-size: var(--text-body); }

.field-group {
  min-width: 0;
  margin: 25px 0 0;
  padding: 0;
  border: 0;
}
.field-group legend,
.input-field > span {
  margin-bottom: 9px;
  color: #344152;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
}
.field-help { margin: -3px 0 12px; color: var(--quiet); font-size: var(--text-small); line-height: 1.45; }

.segmented-control {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
  padding: 5px;
  border-radius: 14px;
  background: #edf1f6;
}
.segmented-control input,
.choice-row input,
.check-grid input { position: absolute; opacity: 0; pointer-events: none; }
.segmented-control label {
  min-height: 44px;
  display: grid;
  place-items: center;
  padding: 11px 12px;
  border-radius: 10px;
  color: var(--muted);
  text-align: center;
  font-size: var(--text-small);
  font-weight: var(--weight-semibold);
  cursor: pointer;
  transition: 160ms ease;
}
.segmented-control input:checked + label {
  color: var(--ink);
  background: white;
  box-shadow: 0 3px 12px rgba(45, 60, 80, 0.1);
}
.segmented-control input:focus-visible + label,
.choice-row input:focus-visible + label {
  outline: 3px solid var(--accent-ring);
  outline-offset: 2px;
}

.two-column-fields {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(250px, 0.85fr);
  align-items: start;
  gap: 18px;
  margin-top: 24px;
}

.input-field { display: flex; flex-direction: column; min-width: 0; }
.input-field input,
.input-field select {
  font-size: var(--text-body);
  width: 100%;
  min-height: 48px;
  padding: 0 14px;
  border: 1px solid #8996a8;
  border-radius: 12px;
  color: var(--ink);
  background: white;
  outline: none;
  transition: 160ms ease;
}
.input-field select { font: inherit; font-size: var(--text-body); }
.input-field input:focus,
.input-field select:focus { border-color: var(--accent); box-shadow: 0 0 0 4px var(--accent-soft); }
.input-field small { margin-top: 7px; color: #566477; font-size: var(--text-small); }
.input-field em { color: #566477; font-size: var(--text-small); font-style: normal; font-weight: var(--weight-semibold); }
.compact-field { margin-top: 0; }
.compact-field .choice-row { margin-top: 18px; }

.birth-date-field {
  display: block;
  min-width: 0;
  margin-top: 0;
}
.birth-date-inputs {
  display: grid;
  width: min(100%, 304px);
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 0.82fr) minmax(0, 1.05fr);
  gap: 8px;
}
.birth-date-part {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 6px;
}
.birth-date-part > label {
  color: var(--muted);
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
}
.birth-date-control { position: relative; }
.input-field .birth-date-control input {
  min-width: 0;
  padding-inline: 8px 25px;
  font-variant-numeric: tabular-nums;
  text-align: center;
}
.birth-date-caret {
  position: absolute;
  top: 50%;
  right: 8px;
  color: #566477;
  font-size: var(--text-body);
  line-height: 1;
  pointer-events: none;
  transform: translateY(-54%);
}
.birth-date-listbox {
  position: absolute;
  z-index: 40;
  top: calc(100% + 5px);
  left: 0;
  width: 100%;
  max-height: 176px;
  padding: 4px;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid #8996a8;
  border-radius: 11px;
  background: white;
  box-shadow: 0 12px 28px rgba(34, 49, 70, 0.18);
}
.birth-date-listbox[hidden] { display: none; }
.birth-date-listbox button {
  width: 100%;
  min-height: 44px;
  padding: 6px 4px;
  border: 0;
  border-radius: 7px;
  color: var(--ink);
  background: transparent;
  font: inherit;
  font-size: var(--text-small);
  font-variant-numeric: tabular-nums;
  text-align: center;
  cursor: pointer;
}
.birth-date-listbox button:hover,
.birth-date-listbox button[aria-selected="true"] {
  color: var(--accent-strong);
  background: var(--accent-soft);
}
.birth-date-listbox button:focus-visible {
  color: var(--accent-strong);
  background: var(--accent-soft);
  outline: 2px solid var(--accent);
  outline-offset: -3px;
}
.birth-date-inputs input[aria-invalid="true"] {
  border-color: var(--red);
  box-shadow: 0 0 0 3px var(--red-soft);
}
.birth-date-field[data-profile-age-mismatch="true"] .birth-date-inputs input[aria-invalid="true"] {
  border-color: var(--amber);
  box-shadow: 0 0 0 3px rgba(135, 80, 0, 0.14);
}
.profile-age-warning {
  display: block;
  margin-top: 9px;
  padding: 10px 12px;
  border: 1px solid rgba(135, 80, 0, 0.32);
  border-radius: 10px;
  color: var(--amber);
  background: var(--amber-soft);
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  line-height: 1.45;
}
.profile-age-warning[hidden] { display: none; }

.measurement-section {
  margin-top: 22px;
  padding: 18px 20px;
  border: 1px solid rgba(176, 199, 235, 0.55);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(241, 247, 255, 0.9), rgba(250, 252, 255, 0.78));
}
.subsection-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}
.subsection-heading h3 { margin: 0; font-size: var(--text-card-title); letter-spacing: -0.02em; }
.measurement-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(168px, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.unit-input { position: relative; }
.unit-input input { padding-right: 44px; }
.unit-input > span {
  position: absolute;
  top: 50%;
  right: 14px;
  transform: translateY(-50%);
  color: #566477;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  pointer-events: none;
}
.calculation-preview {
  min-height: 17px;
  margin-top: 10px;
  color: var(--accent-strong);
  font-size: var(--text-small);
  font-weight: var(--weight-semibold);
  line-height: 1.45;
}
.newborn-context-fields {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--accent) 22%, transparent);
  border-radius: 14px;
  background: color-mix(in srgb, var(--accent-soft) 42%, white);
}
.newborn-context-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.newborn-context-heading strong { color: var(--ink); font-size: var(--text-body); line-height: 1.45; }
.newborn-context-heading span { color: var(--accent-strong); font-size: var(--text-small); line-height: 1.45; font-weight: var(--weight-bold); text-align: right; }
.newborn-context-inputs { margin-top: 10px; }
.newborn-context-inputs > [hidden] + .input-field { grid-column: 1 / -1; }
.newborn-context-fields > p { margin: 9px 0 0; color: var(--muted); font-size: var(--text-body); line-height: 1.6; }
.prematurity-status {
  display: grid;
  gap: 4px;
  margin-top: 11px;
  padding: 11px 12px;
  border: 1px solid color-mix(in srgb, var(--amber) 28%, transparent);
  border-left: 4px solid var(--amber);
  border-radius: 11px;
  color: #704400;
  background: var(--amber-soft);
}
.prematurity-status[hidden] { display: none; }
.prematurity-status strong { font-size: var(--text-small); line-height: 1.45; }
.prematurity-status span { color: #725323; font-size: var(--text-small); line-height: 1.5; }
.calculation-preview[hidden] { display: none; }
.waist-help {
  width: 100%;
  min-width: 0;
  margin: 10px 0 0;
  border-top: 1px solid rgba(61, 123, 238, 0.18);
  border-bottom: 1px solid rgba(61, 123, 238, 0.18);
  color: #566477;
  font-size: var(--text-small);
  line-height: 1.55;
}
.waist-help summary {
  min-height: 44px;
  padding: 10px 4px;
  color: var(--accent-strong);
  font-weight: var(--weight-bold);
  cursor: pointer;
  overflow-wrap: anywhere;
}
.waist-help summary::marker { color: var(--accent-strong); }
.waist-help summary:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
  border-radius: 7px;
}
.waist-help-content {
  padding: 0 4px 12px 24px;
  font-size: var(--text-body);
  line-height: 1.6;
}
.waist-help-content ol {
  margin: 0;
  padding-left: 18px;
}
.waist-help-content li + li { margin-top: 6px; }
.waist-help-content p {
  margin: 10px 0 0;
  font-weight: var(--weight-semibold);
}
.input-field input.measurement-needs-check {
  border-color: #a76600;
  box-shadow: 0 0 0 3px rgba(185, 120, 23, 0.18);
}
.choice-row {
  display: flex;
  gap: 7px;
}
.choice-row label {
  flex: 1;
  min-height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid #8996a8;
  border-radius: 12px;
  background: white;
  color: var(--muted);
  font-size: var(--text-small);
  font-weight: var(--weight-semibold);
  cursor: pointer;
  transition: 160ms ease;
}
.choice-row input:checked + label {
  border-color: var(--accent-border);
  color: var(--accent-strong);
  background: var(--accent-soft);
  box-shadow: inset 0 0 0 1px var(--accent-border);
}
.choice-row.wide { max-width: 260px; }

.conditional-section {
  margin-top: 24px;
  padding-top: 1px;
  border-top: 1px solid var(--line);
}

.maternal-plan-launcher {
  grid-column: 2;
  margin-top: 10px;
}
.maternal-plan-launcher[hidden] { display: none; }
.maternal-plan-launcher__button {
  width: 100%;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 13px;
  border: 1px solid var(--accent-border);
  border-radius: 12px;
  color: var(--accent-strong);
  background: color-mix(in srgb, var(--accent-soft) 38%, white);
  cursor: pointer;
  text-align: left;
}
.maternal-plan-launcher__button:hover { background: color-mix(in srgb, var(--accent-soft) 58%, white); }
.maternal-plan-launcher__button:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 34%, transparent); outline-offset: 2px; }
.maternal-plan-launcher__button > strong { color: var(--ink); font-size: var(--text-body); line-height: 1.45; }
#maternalPlanLauncherHelp { display: block; margin-top: 7px; color: var(--quiet); font-size: var(--text-small); line-height: 1.45; }
.maternal-health-view {
  padding: 34px 0 90px;
  scroll-margin-top: 18px;
}
.nutrition-view {
  --accent: #15803d;
  --accent-strong: #166534;
  --accent-soft: #eefbf2;
  --accent-border: #86d4a0;
}
.nutrition-view { width: 100%; min-width: 0; padding: 0; }
.nutrition-header { margin-bottom: 18px; }
.nutrition-header p { margin: 8px 0; }
.nutrition-profile { color: var(--accent-strong); font-weight: var(--weight-bold); }
.nutrition-card { padding: 20px; margin-bottom: 16px; border: 1px solid var(--accent-border); border-radius: 16px; background: white; }
.nutrition-inputs { display: grid; gap: 18px; }
.nutrition-inputs > h3, .nutrition-inputs > p { margin: 0; }
.nutrition-card h2, .nutrition-card h3 { margin: 0 0 12px; }
.nutrition-card p { line-height: 1.6; }
.nutrition-card select { width: 100%; min-width: 0; min-height: 48px; font: inherit; }
.nutrition-hint { color: var(--muted); font-size: var(--text-body); }
#nutritionSpecialHint { color: #9a5744; }
.nutrition-detail summary { min-height: 44px; display: list-item; cursor: pointer; color: var(--accent-strong); font-weight: var(--weight-semibold); padding: 10px 0; }
.nutrition-detail p, .nutrition-detail li { font-size: var(--text-body); line-height: 1.6; }
.nutrition-detail a { overflow-wrap: anywhere; }
.nutrition-results { scroll-margin-top: 24px; }
.nutrition-results > h3 { margin: 24px 0 16px; }
.nutrition-energy { background: #fff7e8; border-color: #f3bf62; }
.nutrition-energy-value { color: #854d0e; }
.nutrition-energy-value { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: baseline; }
.nutrition-energy-value strong { font-size: clamp(2rem, 6vw, 2.75rem); line-height: 1.45; }
.nutrition-guidance-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.nutrition-guidance-grid .nutrition-card { min-width: 0; }
.nutrition-guidance-grid .nutrition-card:last-child { background: #eefbf2; }
.nutrition-view .primary-button { background: #15803d; color: #fff; }
.nutrition-view .primary-button:hover { background: #166534; }
.nutrition-view .eyebrow { color: #166534; }
.nutrition-notice { border-inline-start: 4px solid var(--accent); }
#nutritionStatus:empty { display: none; }
.nutrition-view button:focus-visible, .nutrition-view summary:focus-visible { outline: 3px solid #15803d; outline-offset: 4px; }
@media (max-width: 640px) {
  .nutrition-guidance-grid { grid-template-columns: 1fr; gap: 0; }
  .nutrition-card { padding: 18px; }
  .nutrition-view select { font-size: var(--text-body); }
  .nutrition-view .primary-button { width: 100%; }
}
.maternal-health-view-header { margin-bottom: 22px; }
.maternal-health-view-header .maternal-view-back {
  width: fit-content;
  max-width: 100%;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 28px;
  padding: 0 16px;
  border: 1px solid var(--accent-border);
  border-radius: 12px;
  color: var(--accent-strong);
  background: color-mix(in srgb, var(--accent-soft) 58%, white);
  box-shadow: 0 6px 18px color-mix(in srgb, var(--accent-shadow) 56%, transparent);
  font-size: var(--text-small);
  line-height: 1.45;
  font-weight: var(--weight-bold);
  transition: 160ms ease;
}
.maternal-health-view-header .maternal-view-back:hover {
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent-soft) 78%, white);
  box-shadow: 0 8px 20px color-mix(in srgb, var(--accent-shadow) 72%, transparent);
  transform: translateY(-1px);
}
.maternal-health-view-header .maternal-view-back:active { transform: translateY(0); }
.maternal-health-view-header .maternal-view-back:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--accent) 38%, transparent);
  outline-offset: 3px;
}
.maternal-health-view-header h1 {
  max-width: 680px;
  margin: 10px 0 12px;
  font-size: var(--text-page);
  line-height: 1.3;
  letter-spacing: -0.02em;
}
.maternal-health-view-header p {
  max-width: 650px;
  margin: 0;
  color: var(--muted);
  font-size: var(--text-card-title);
  line-height: 1.6;
}
.maternal-health-view-header .profile-summary { margin-top: 10px; color: var(--accent-strong); font-weight: var(--weight-bold); }
.maternal-health-view-card { display: grid; gap: 18px; }
.maternal-health-view-heading { margin-bottom: 0; }
.maternal-health-view-fields { display: grid; gap: 14px; }
.maternal-health-view-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, 0.56fr);
  gap: 10px;
}
.maternal-plan-results { margin-top: 30px; scroll-margin-top: 20px; }
.maternal-plan-results-header { margin-bottom: 20px; }
.maternal-plan-results-header h2 { margin-bottom: 10px; }
.maternal-plan-results-header p { max-width: 560px; margin: 0; color: var(--muted); line-height: 1.6; }
.maternal-cards-grid { margin-top: 18px; }
.maternal-plan-results[data-maternal-stage="planning"] { margin-top: 20px; }
.maternal-plan-results[data-maternal-stage="planning"] .maternal-plan-results-header {
  display: block;
  margin-bottom: 12px;
  padding-top: 0;
}
.maternal-plan-results[data-maternal-stage="planning"] .maternal-plan-results-header .eyebrow { display: none; }
.maternal-plan-results[data-maternal-stage="planning"] .maternal-plan-results-header h2 {
  max-width: none;
  margin: 0;
  font-size: var(--text-page);
  line-height: 1.3;
  letter-spacing: -0.02em;
}
.maternal-plan-results[data-maternal-stage="planning"] .maternal-cards-grid { margin-top: 0; }
.maternal-stage-group { margin: 0; padding: 0; border: 0; }
.maternal-stage-group > legend {
  margin-bottom: 10px;
  color: #344152;
  font-size: var(--text-body);
  font-weight: var(--weight-bold);
}
.maternal-stage-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
.maternal-stage-options label {
  min-width: 0;
  min-height: 66px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: flex-start;
  gap: 10px;
  padding: 11px 12px;
  border: 1px solid rgba(35, 72, 125, 0.17);
  border-radius: 13px;
  color: var(--muted);
  background: white;
  cursor: pointer;
}
.maternal-stage-options input {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  margin: 2px 0 0;
  grid-row: 1 / 3;
  accent-color: var(--accent);
}
.maternal-stage-options label:has(input:checked) {
  border-color: var(--accent-border);
  color: var(--accent-strong);
  background: var(--accent-soft);
  box-shadow: inset 0 0 0 1px var(--accent-border);
}
.maternal-stage-options strong { min-width: 0; color: var(--ink); font-size: var(--text-small); line-height: 1.45; }
.maternal-stage-options small { min-width: 0; color: var(--quiet); font-size: var(--text-small); line-height: 1.45; }
.maternal-stage-panel { margin-top: 0; }
.maternal-stage-panel .field-help { margin: 10px 0 0; font-size: var(--text-small); }
.maternal-orientation-panel {
  display: grid;
  gap: 15px;
  padding: 16px;
  border-color: color-mix(in srgb, var(--accent) 32%, transparent);
  background: color-mix(in srgb, var(--accent-soft) 46%, white);
}
.maternal-orientation-panel[hidden] { display: none; }
.maternal-orientation-panel__heading { display: grid; gap: 4px; }
.maternal-orientation-panel__heading > span {
  color: var(--accent-strong);
  font-size: var(--text-small);
  line-height: 1.45;
  font-weight: var(--weight-bold);
  letter-spacing: 0.055em;
  text-transform: uppercase;
}
.maternal-orientation-panel__heading > strong { color: var(--ink); font-size: var(--text-subheading); line-height: 1.45; }
.maternal-orientation-panel__heading > p,
.maternal-orientation-note { margin: 0; color: var(--muted); font-size: var(--text-body); line-height: 1.6; }
.maternal-orientation-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.maternal-orientation-fields .input-field > span:first-child { color: var(--ink); font-weight: var(--weight-bold); }
.maternal-orientation-fields input,
.maternal-orientation-fields select { font-size: var(--text-body); }
.maternal-orientation-fields input[aria-invalid="true"] {
  border-color: var(--red);
  box-shadow: 0 0 0 3px var(--red-soft);
}
.maternal-week-error {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border: 1px solid rgba(181, 47, 56, 0.34);
  border-inline-start: 5px solid var(--red);
  border-radius: 12px;
  color: #6f2424;
  background: var(--red-soft);
}
.maternal-week-error[hidden] { display: none; }
.maternal-week-error strong { font-size: var(--text-body); line-height: 1.45; }
.maternal-week-error p { margin: 0; font-size: var(--text-body); line-height: 1.6; font-weight: var(--weight-bold); }
.maternal-week-error small { color: #7e3030; font-size: var(--text-small); line-height: 1.5; }
.maternal-orientation-note {
  padding-top: 11px;
  border-top: 1px solid color-mix(in srgb, var(--accent) 20%, transparent);
}
.maternal-inline-check {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 12px;
  color: var(--muted);
  font-size: var(--text-small);
  line-height: 1.45;
  font-weight: var(--weight-semibold);
}
.maternal-inline-check input { width: 18px; height: 18px; flex: 0 0 auto; accent-color: var(--accent); }
.maternal-input-details {
  margin-top: 0;
  border: 1px solid color-mix(in srgb, var(--accent) 20%, transparent);
  border-radius: 14px;
  background: color-mix(in srgb, var(--accent-soft) 28%, white);
  overflow: hidden;
}
.maternal-input-details[hidden] { display: none; }
.maternal-input-details > summary { padding: 11px 13px; }
.maternal-input-details__body { display: grid; gap: 14px; padding: 2px 13px 14px; }
.maternal-input-intro { margin: 0; color: var(--muted); font-size: var(--text-small); line-height: 1.55; }
.maternal-input-intro strong { color: var(--ink); }
.maternal-record-list { display: grid; gap: 8px; }
.maternal-record-field {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, 0.72fr);
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid rgba(35, 72, 125, 0.1);
}
.maternal-record-field:first-child { border-top: 0; }
.maternal-record-field > span,
.maternal-record-field > label { min-width: 0; display: grid; gap: 3px; }
.maternal-record-field strong { color: var(--ink); font-size: var(--text-small); line-height: 1.45; }
.maternal-record-field small { color: var(--quiet); font-size: var(--text-small); line-height: 1.45; }
.maternal-record-field select { width: 100%; min-height: 42px; font-size: var(--text-body); }
.maternal-record-field--optional { padding-top: 13px; }
.maternal-weight-fields { align-items: start; }
.input-with-unit { position: relative; display: block; }
.input-with-unit input { width: 100%; padding-right: 44px; }
.input-with-unit b {
  position: absolute;
  top: 50%;
  right: 14px;
  color: var(--quiet);
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  pointer-events: none;
  transform: translateY(-50%);
}
.maternal-safety-strip {
  display: grid;
  gap: 3px;
  padding: 12px 13px;
  border: 1px solid rgba(171, 36, 36, 0.28);
  border-inline-start: 5px solid #b12b2b;
  border-radius: 12px;
  color: #7f2424;
  background: #fff3f1;
}
.maternal-safety-strip strong { font-size: var(--text-body); line-height: 1.6; }
.maternal-safety-strip span { font-size: var(--text-body); line-height: 1.6; }
.maternal-safety-strip span + span { margin-top: 4px; padding-top: 7px; border-top: 1px solid rgba(171, 36, 36, 0.16); }
.maternal-safety-strip b { color: #7f2424; font-weight: var(--weight-bold); }
.maternal-safety-strip a { color: #7f2424; font-weight: var(--weight-bold); text-decoration-thickness: 1.5px; text-underline-offset: 2px; }
.check-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.check-grid label {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 56px;
  padding: 9px 12px;
  border: 1px solid #dce2e9;
  border-radius: 14px;
  background: white;
  color: var(--muted);
  font-size: var(--text-small);
  font-weight: var(--weight-semibold);
  cursor: pointer;
}
.check-grid input:checked + label { border-color: var(--accent-border); color: var(--accent-strong); background: var(--accent-soft); }
.check-icon {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #f0f3f7;
  color: #586576;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
}
.check-grid input:checked + label .check-icon { color: white; background: var(--accent); }

.selected-diagnoses {
  min-height: 37px;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 12px;
}
.selected-diagnoses[hidden] { display: none; }
.diagnosis-chip {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 8px 5px 6px;
  border: 1px solid rgba(49, 153, 108, 0.22);
  border-radius: 999px;
  color: #286f52;
  background: var(--green-soft);
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  cursor: pointer;
}
.diagnosis-chip-remove { font-size: var(--text-body); line-height: 1; opacity: 0.7; }
.common-diagnoses { margin-top: 15px; }
.common-diagnosis-buttons { display: flex; flex-wrap: wrap; gap: 7px; }
.common-diagnosis-buttons button {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 10px 5px 6px;
  border: 1px solid #8996a8;
  border-radius: 999px;
  color: var(--muted);
  background: white;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  cursor: pointer;
}
.common-diagnosis-buttons button span {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--accent-strong);
  background: var(--accent-soft);
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
}
.common-diagnosis-buttons button.selected { border-color: var(--accent-border); color: var(--accent-strong); background: var(--accent-soft); }
.common-diagnosis-buttons button.selected span { color: white; background: var(--accent); }

.optional-module-question > .choice-row.wide { max-width: 420px; }
.conditional-details {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid rgba(35, 72, 125, 0.12);
  border-radius: 16px;
  background: rgba(244, 248, 255, 0.78);
}
.conditional-details[hidden] { display: none; }
.module-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
}
.module-wide { grid-column: 1 / -1; }
.family-history-module {
  padding-top: 22px;
  border-top: 1px solid var(--line);
}
.family-history-question {
  min-width: 0;
  display: grid;
  gap: 8px;
}
.family-history-question > span {
  color: #344152;
  font-size: var(--text-body);
  line-height: 1.45;
  font-weight: var(--weight-bold);
}
.family-history-question select,
.family-history-details input,
.family-history-details select {
  min-width: 0;
  width: 100%;
  min-height: 48px;
  padding: 0 13px;
  border: 1px solid #8996a8;
  border-radius: 12px;
  color: var(--ink);
  background: white;
  font: inherit;
  font-size: var(--text-body);
  outline: none;
}
.family-history-question select:focus,
.family-history-details input:focus,
.family-history-details select:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 4px var(--accent-soft);
}
.family-history-details .module-fields > label {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 7px;
  color: #4a596d;
  font-size: var(--text-body);
  line-height: 1.45;
  font-weight: var(--weight-bold);
}
.family-history-details label small { color: var(--quiet); font-size: var(--text-small); font-weight: var(--weight-semibold); }
.family-history-check {
  min-height: 48px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 13px;
  padding: 11px 12px;
  border: 1px solid rgba(35, 72, 125, 0.12);
  border-radius: 12px;
  color: #4a596d;
  background: white;
  font-size: var(--text-body);
  line-height: 1.45;
  font-weight: var(--weight-semibold);
  cursor: pointer;
}
.family-history-check input { width: 18px; height: 18px; flex: 0 0 18px; margin: 1px 0 0; accent-color: var(--accent); }
.family-history-card-body {
  display: grid;
  gap: 16px;
  margin-top: 16px;
}
.family-history-card-body .family-history-module {
  margin: 0;
  padding: 0;
  border-top: 0;
}
.family-history-card-body .family-history-module > legend {
  margin-bottom: 5px;
  color: var(--ink);
  font-size: var(--text-body);
  font-weight: var(--weight-bold);
}
.family-history-card-body .field-help { margin: 0 0 14px; font-size: var(--text-body); line-height: 1.55; }
.family-history-card-hint,
.family-history-assessment {
  margin: 0;
  padding: 15px 16px;
  border: 1px solid rgba(35, 72, 125, 0.14);
  border-radius: 15px;
  color: #44536a;
  background: rgba(244, 248, 255, 0.76);
  font-size: var(--text-body);
  line-height: 1.6;
}
.family-history-assessment { display: grid; gap: 8px; }
.family-history-assessment > strong { color: var(--ink); font-size: var(--text-card-title); line-height: 1.6; }
.family-history-assessment > p { margin: 0; }
.family-history-assessment--attention {
  border-color: rgba(171, 105, 15, 0.28);
  background: rgba(255, 248, 228, 0.8);
}
.family-history-card-body .family-history-result-note {
  margin: 13px 0 0;
  color: var(--quiet);
  font-size: var(--text-body);
  line-height: 1.6;
}
.nested-module-details {
  margin-top: 14px;
  border-top: 1px solid rgba(35, 72, 125, 0.12);
  border-bottom: 1px solid rgba(35, 72, 125, 0.12);
}
.nested-module-details summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 10px 3px;
  color: var(--accent-strong);
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  cursor: pointer;
}
.nested-module-details summary span { color: #566477; font-size: var(--text-small); font-weight: var(--weight-semibold); }
.nested-module-details summary:focus-visible { outline: 3px solid var(--accent-ring); outline-offset: 2px; }
.nested-module-details > p { margin: 0 0 10px; color: #566477; font-size: var(--text-body); line-height: 1.6; }
.travel-core-fields { align-items: start; }
.travel-place-field,
.travel-combobox { position: relative; min-width: 0; }
.travel-place-listbox {
  position: absolute;
  top: calc(100% + 5px);
  left: 0;
  z-index: 40;
  width: 100%;
  max-height: 240px;
  padding: 5px;
  overflow-y: auto;
  border: 1px solid #8fa2bc;
  border-radius: 12px;
  background: white;
  box-shadow: 0 16px 38px rgba(27, 48, 78, 0.2);
}
.travel-place-listbox[hidden] { display: none; }
.travel-place-option {
  min-height: 44px;
  display: grid;
  align-content: center;
  gap: 2px;
  padding: 7px 10px;
  border-radius: 8px;
  color: #344152;
  cursor: pointer;
}
.travel-place-option strong { font-size: var(--text-small); line-height: 1.45; }
.travel-place-option small { color: #566477; font-size: var(--text-small); line-height: 1.45; }
.travel-place-option[aria-selected="true"],
.travel-place-option:hover { color: var(--accent-strong); background: var(--accent-soft); }
.travel-place-attribution,
.travel-data-credit {
  margin: 11px 0 0;
  color: #566477;
  font-size: var(--text-small);
  line-height: 1.5;
}
.travel-place-attribution a,
.travel-data-credit a { color: var(--accent-strong); font-weight: var(--weight-bold); }
.travel-extra-details > .module-fields { padding: 4px 0 12px; }
.module-check-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding-bottom: 13px;
}
.module-check-grid label {
  min-width: 0;
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px 11px;
  border: 1px solid #8996a8;
  border-radius: 12px;
  color: #566477;
  background: white;
  font-size: var(--text-small);
  font-weight: var(--weight-semibold);
  line-height: 1.45;
  cursor: pointer;
}
.module-check-grid input {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  accent-color: var(--accent);
}
.module-check-grid label:has(input:focus-visible) { outline: 3px solid var(--accent-ring); outline-offset: 2px; }
.module-subgroup {
  min-width: 0;
  margin: 15px 0 0;
  padding: 0;
  border: 0;
}
.module-subgroup legend { margin-bottom: 9px; color: #344152; font-size: var(--text-small); font-weight: var(--weight-bold); }
.module-safety-note {
  margin: 14px 0 0;
  color: #566477;
  font-size: var(--text-body);
  line-height: 1.6;
}
.urgent-symptoms-alert {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 18px;
  padding: 10px 12px;
  border: 1px solid rgba(161, 36, 36, 0.18);
  border-left: 3px solid #a12424;
  border-radius: 11px;
  color: #6f3030;
  background: rgba(255, 239, 239, 0.82);
}
.urgent-alert-symbol {
  width: 22px;
  height: 22px;
  display: grid;
  flex: 0 0 22px;
  place-items: center;
  border-radius: 50%;
  color: white;
  background: #a12424;
  font-size: var(--text-body);
  font-weight: var(--weight-bold);
}
.urgent-alert-copy {
  min-width: 0;
  display: flex;
  flex: 1 1 0;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 8px;
}
.urgent-symptoms-alert strong,
.urgent-symptoms-alert span:last-child {
  min-width: 0;
  overflow-wrap: anywhere;
}
.urgent-symptoms-alert strong { color: #6f2424; font-size: var(--text-body); line-height: 1.6; }
.urgent-symptoms-alert span:last-child { font-size: var(--text-body); line-height: 1.6; }
.urgent-alert-copy span b { color: #6f2424; font-weight: var(--weight-bold); }
.urgent-alert-copy span br { display: block; content: ""; margin-top: 3px; }
.urgent-alert-copy a { color: #7f1f1f; font-weight: var(--weight-bold); text-decoration-thickness: 1px; text-underline-offset: 2px; }

.measurement-check {
  margin-top: 22px;
  padding: 20px;
  border: 1px solid rgba(185, 120, 23, 0.28);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(255, 248, 231, 0.98), rgba(255, 252, 244, 0.96));
  box-shadow: 0 10px 28px rgba(130, 88, 24, 0.08);
}
.measurement-check:focus { outline: 3px solid rgba(185, 120, 23, 0.22); outline-offset: 3px; }
.measurement-check-kicker {
  color: var(--amber);
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  letter-spacing: 0.07em;
  text-transform: uppercase;
}
.measurement-check h3 { margin: 7px 0 7px; font-size: var(--text-card-title); letter-spacing: -0.02em; }
.measurement-check p { margin: 0; color: #684d25; font-size: var(--text-body); line-height: 1.6; }
.measurement-check-list {
  display: grid;
  gap: 8px;
  margin: 12px 0;
  padding: 0;
  list-style: none;
}
.measurement-check-list li {
  display: grid;
  gap: 4px;
  padding: 11px 12px;
  border-radius: 12px;
  color: #684d25;
  background: rgba(255, 255, 255, 0.76);
  font-size: var(--text-body);
  line-height: 1.6;
}
.measurement-check-list strong { color: #3b2a10; }
.measurement-check-advice { font-weight: var(--weight-semibold); }
.measurement-check-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 16px; }
.measurement-check-actions button {
  min-height: 46px;
  padding: 0 15px;
  border-radius: 11px;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  cursor: pointer;
}
.measurement-edit { border: 0; color: white; background: var(--amber); }
.measurement-confirm { border: 1px solid rgba(185, 120, 23, 0.28); color: #775417; background: white; }

.form-error { min-height: 20px; margin-top: 12px; color: var(--red); font-size: var(--text-small); }
.form-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(170px, 0.42fr);
  gap: 10px;
  margin-top: 18px;
}
.primary-button {
  width: 100%;
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 0;
  border-radius: 14px;
  color: white;
  background: var(--accent);
  box-shadow: 0 10px 24px var(--accent-shadow);
  font-weight: var(--weight-bold);
  cursor: pointer;
  transition: 160ms ease;
}
.primary-button:hover:not(:disabled) { background: var(--accent-strong); transform: translateY(-1px); }
.primary-button:active { transform: translateY(0); }
.form-clear-button {
  min-height: 52px;
  padding: 0 16px;
  border: 1px solid #91a1b6;
  border-radius: 14px;
  color: #31445d;
  background: white;
  font: inherit;
  font-weight: var(--weight-bold);
  cursor: pointer;
}
.form-clear-button:hover { border-color: var(--accent); color: var(--accent-strong); background: var(--accent-soft); }
.form-clear-button:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.form-reset-status { min-height: 20px; margin: 8px 0 0; color: #1f6f4e; font-size: var(--text-small); font-weight: var(--weight-semibold); }

.demo-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 17px;
  color: var(--quiet);
  font-size: var(--text-small);
}
.demo-links button, .text-button {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--accent-strong);
  font-weight: var(--weight-semibold);
  cursor: pointer;
}

.results-shell {
  padding: 12px 0 90px;
  scroll-margin-top: 18px;
}
.results-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 32px;
  padding: 24px 0 34px;
}
.results-header > div:first-child { min-width: 0; }
.results-header h2 { margin: 12px 0 12px; font-size: var(--text-page); }
.results-title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 16px;
  margin: 12px 0;
}
.results-title-row #resultsTitle {
  flex: 1 1 340px;
  min-width: 0;
  margin: 0;
  font-size: var(--text-page);
  line-height: 1.45;
  letter-spacing: -0.02em;
}
.results-title-row .current-date { flex: 0 0 auto; white-space: nowrap; }
.text-button { display: block; margin-bottom: 30px; font-size: var(--text-small); }
.profile-summary { margin: 0; color: var(--muted); font-size: var(--text-card-title); }
#profileSummary {
  color: var(--ink);
  font-size: clamp(1.125rem, 2.5vw, 1.25rem);
  line-height: 1.6;
  font-weight: var(--weight-bold);
}
.plan-score {
  flex: 0 0 128px;
  width: 128px;
  min-height: 128px;
  height: auto;
  padding: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: 34px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: var(--shadow-small);
  backdrop-filter: blur(24px);
}
.plan-score span { color: var(--accent-strong); font-size: 2.625rem; font-weight: var(--weight-bold); letter-spacing: -0.02em; }
.plan-score small { color: var(--muted); font-size: var(--text-small); }

.measurement-summary {
  display: grid;
  gap: 13px;
  margin: 0 0 26px;
}
.measurement-summary-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px;
}
.measurement-summary-heading h2 {
  margin: 0;
  font-size: var(--text-section);
  letter-spacing: -0.02em;
}
.measurement-summary .health-card {
  border-color: rgba(119, 165, 243, 0.24);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(239, 246, 255, 0.88));
  box-shadow: 0 17px 46px rgba(43, 76, 128, 0.11);
}
#measurementSummaryCard { display: grid; }

.bmi-summary-card {
  min-width: 0;
  gap: 0;
}
.bmi-guidance { min-width: 0; }
.bmi-summary-header {
  min-width: 0;
  display: grid;
  gap: 6px;
}
.bmi-summary-card .bmi-summary-title {
  margin: 0;
  color: var(--muted);
  font-size: var(--text-card-title);
  line-height: 1.45;
  letter-spacing: 0;
}
.bmi-summary-card .bmi-reading {
  min-width: 0;
  display: flex;
  align-items: flex-end;
  gap: 8px;
  color: var(--ink);
  line-height: 1.45;
}
.bmi-reading strong {
  color: var(--ink);
  font-size: clamp(2.375rem, 7vw, 3.375rem);
  line-height: 1.45;
  letter-spacing: -0.02em;
}
.bmi-reading span {
  padding-bottom: 5px;
  color: var(--muted);
  font-size: var(--text-body);
  font-weight: var(--weight-bold);
}
/* Adult BMI: segments and marker share the 15–45 display coordinates. */
[data-bmi-band="low"] { --bmi-band-color: #346b89; --bmi-band-soft: #eaf3f8; }
[data-bmi-band="reference"] { --bmi-band-color: #17634c; --bmi-band-soft: #ecf7f1; }
[data-bmi-band="above"] { --bmi-band-color: #976817; --bmi-band-soft: #fff6e5; }
[data-bmi-band="obesity-1"] { --bmi-band-color: #a34d26; --bmi-band-soft: #fff0e6; }
[data-bmi-band="obesity-2"] { --bmi-band-color: #913c3b; --bmi-band-soft: #fbeeee; }
[data-bmi-band="obesity-3"] { --bmi-band-color: #612939; --bmi-band-soft: #f7edf1; }
.bmi-summary-card .bmi-reading-caption { color: var(--muted); font-size: var(--text-body); }
.bmi-reading-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-width: 0; }
.bmi-summary-card .bmi-reading { align-items: baseline; flex-wrap: wrap; }
.bmi-summary-card .bmi-reading strong { font-size: clamp(2.625rem, 7vw, 4rem); line-height: 1.45; }
.bmi-reading-classification { color: var(--bmi-band-color); font-size: var(--text-card-title); line-height: 1.45; text-align: end; }
.bmi-visual-scale { min-width: 0; margin-top: 28px; }
.bmi-scale-graphic { position: relative; padding-top: 24px; margin-inline: 3px; }
.bmi-scale-track { display: flex; height: 13px; overflow: hidden; border-radius: 4px; }
.bmi-scale-segment { display: block; flex: 0 0 auto; height: 100%; background: var(--bmi-band-color); box-shadow: inset -3px 0 #fff; }
.bmi-scale-segment:last-child { box-shadow: none; }
.bmi-scale-marker { position: absolute; top: 0; width: 0; height: 0; border-left: 9px solid transparent; border-right: 9px solid transparent; border-top: 14px solid var(--ink); transform: translateX(-50%); }
.bmi-scale-legend { list-style: none; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 20px; }
.bmi-scale-key { min-width: 0; display: grid; grid-template-columns: 10px minmax(0, 1fr); align-items: start; gap: 9px; padding: 10px; border: 1px solid transparent; border-radius: 9px; font-size: var(--text-body); line-height: 1.45; overflow-wrap: anywhere; }
.bmi-scale-key.is-active { border-color: var(--bmi-band-color); background: var(--bmi-band-soft); box-shadow: inset 0 0 0 1px var(--bmi-band-color); }
.bmi-scale-key.is-active .bmi-scale-name { font-weight: var(--weight-bold); }
.bmi-scale-current { display: block; margin-top: 8px; color: var(--bmi-band-color); font-size: var(--text-small); font-weight: var(--weight-bold); line-height: 1.45; }
.bmi-scale-dot { width: 9px; height: 9px; margin-top: 6px; border-radius: 50%; background: var(--bmi-band-color); }
.bmi-scale-range { display: block; margin-top: 3px; color: var(--muted); font-variant-numeric: tabular-nums; }
.bmi-summary-card .bmi-scale-note { margin-top: 12px; font-size: var(--text-small); color: var(--muted); }
.bmi-weight-reference { display: grid; gap: 10px; margin-top: 26px; padding: 20px; border-left: 3px solid #17634c; border-radius: 12px; background: #f4f8f6; }
.bmi-summary-card .bmi-weight-reference p { font-size: var(--text-body); line-height: 1.6; }
.bmi-weight-reference > strong { color: #174e3d; font-size: clamp(1.4375rem, 3.5vw, 1.875rem); line-height: 1.45; }
.bmi-summary-card .bmi-weight-reference .bmi-weight-bounds { color: var(--muted); font-size: var(--text-small); }
.bmi-summary-card .bmi-weight-note { margin-top: 14px; color: var(--muted); font-size: var(--text-small); line-height: 1.6; }
@media (max-width: 420px) {
  .bmi-reading-row { gap: 12px; flex-wrap: wrap; }
  .bmi-reading-classification { font-size: var(--text-body); max-width: 100%; text-align: start; }
  .bmi-scale-legend { gap: 10px 4px; }
  .bmi-scale-key { padding: 8px 4px; gap: 6px; font-size: var(--text-small); }
  .bmi-weight-reference { padding: 16px; }
}
@media (max-width: 280px) {
  .bmi-reading-row { flex-wrap: wrap; }
  .bmi-reading-classification { max-width: none; text-align: start; }
  .bmi-scale-legend { grid-template-columns: minmax(0, 1fr); }
}
.bmi-waist-summary {
  min-width: 0;
  margin-top: 14px;
  padding: 12px 13px;
  display: grid;
  gap: 7px;
  border: 1px solid rgba(35, 72, 125, 0.14);
  border-inline-start: 4px solid var(--route-planned-fg);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.74);
  overflow-wrap: anywhere;
}
.bmi-waist-summary > div {
  min-width: 0;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 6px 14px;
  flex-wrap: wrap;
}
.bmi-waist-summary span {
  color: var(--muted);
  font-size: var(--text-small);
  line-height: 1.45;
  font-weight: var(--weight-bold);
}
.bmi-waist-summary strong {
  color: var(--ink);
  font-size: var(--text-body);
  line-height: 1.45;
}
.bmi-summary-card .bmi-waist-summary p {
  color: var(--muted);
  font-size: var(--text-body);
  line-height: 1.6;
}
.bmi-waist-summary p b { color: var(--ink); }
.cardiometabolic-context {
  min-width: 0;
  padding: 12px 13px;
  display: grid;
  gap: 6px;
  border: 1px solid rgba(43, 99, 207, 0.2);
  border-inline-start: 4px solid var(--accent-strong);
  border-radius: 12px;
  background: rgba(238, 244, 255, 0.84);
  color: var(--ink);
  overflow-wrap: anywhere;
}
.bmi-summary-card .cardiometabolic-context--summary { margin-top: 14px; }
.cardiometabolic-context__eyebrow {
  color: var(--accent-strong);
  font-size: var(--text-small);
  line-height: 1.45;
  font-weight: var(--weight-bold);
  letter-spacing: 0.015em;
}
.cardiometabolic-context > strong {
  font-size: var(--text-body);
  line-height: 1.45;
  font-weight: var(--weight-bold);
}
.cardiometabolic-context > p {
  margin: 0;
  color: var(--muted);
  font-size: var(--text-body);
  line-height: 1.6;
}
.cardiometabolic-context > .cardiometabolic-context__route {
  color: var(--ink);
  font-weight: var(--weight-bold);
}
.filter-bar {
  position: sticky;
  top: 14px;
  z-index: 35;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 18px;
  display: flex;
  gap: 5px;
  padding: 5px;
  overflow-x: auto;
  border: 1px solid rgba(255, 255, 255, 0.88);
  border-radius: 16px;
  background: #f5f8fc;
  box-shadow: 0 8px 30px rgba(36, 52, 75, 0.08);
}
.filter-button, .nutrition-shortcut {
  flex: 0 0 auto;
  min-height: 44px;
  padding: 0 16px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--nav-text, #334155);
  box-shadow: none;
  font-size: var(--text-small);
  font-weight: var(--weight-semibold);
  line-height: 1.45;
  text-decoration-thickness: 2px;
  text-underline-offset: 6px;
  cursor: pointer;
}
.filter-button[data-filter="all"] { --nav-text: var(--nav-all); }
.filter-button[data-filter="plan"] { --nav-text: var(--nav-priority); }
.filter-button[data-filter="health"] { --nav-text: var(--nav-health); }
.filter-button[data-filter="travel"] { --nav-text: var(--nav-travel); }
.filter-button[data-filter="vaccine"] { --nav-text: var(--nav-vaccine); }
.filter-button[data-filter="screening"] { --nav-text: var(--nav-screening); }
.nutrition-shortcut { --nav-text: var(--nav-nutrition); }
.filter-button[data-filter="guide"] { --nav-text: var(--nav-guide); }
.filter-button.active,
.filter-button:hover,
.nutrition-shortcut:hover { text-decoration-line: underline; }
.filter-button:focus-visible,
.nutrition-shortcut:focus-visible { outline: 2px solid currentColor; outline-offset: -2px; }

.section-title-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  margin: 42px 0 20px;
}
.section-title-row h2 { margin-top: 7px; font-size: var(--text-section); }
.measurement-summary-heading h2,
.section-title-row h2 { color: var(--nav-all); }
.vaccine-results #vaccineResultsTitle { color: var(--nav-vaccine); }
.current-date { color: var(--quiet); font-size: var(--text-small); }

.cards-grid {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.plan-card-section {
  min-width: 0;
  display: grid;
  gap: 14px;
}
.plan-card-section:not(:first-child) {
  margin-top: 16px;
  padding-top: 30px;
  border-top: 2px solid rgba(35, 72, 125, 0.14);
}
.plan-card-section--nutrition:not(:first-child),
.plan-card-section--nutrition + .plan-card-section { border-top: 0; }
.plan-card-section[hidden] { display: none !important; }
.plan-card-section__heading { min-width: 0; }
.plan-card-section__heading h2 { margin: 7px 0 6px; font-size: var(--text-section); letter-spacing: -0.02em; }
.plan-card-section--health .plan-card-section__heading h2 { color: var(--nav-health); }
.plan-card-section--nutrition .plan-card-section__heading h2 { color: var(--nav-nutrition); }
.plan-card-section--cancer .plan-card-section__heading h2 { color: var(--nav-screening); }
.travel-plan-section > h2 { margin: 30px 0 20px; color: var(--nav-travel); font-size: var(--text-section); letter-spacing: -0.02em; }
.home-measurement-guides > h2 { margin: 0 0 20px; color: var(--nav-guide); font-size: var(--text-section); letter-spacing: -0.02em; }
#resultsTravelPlanMount > .optional-plan-inputs { margin-top: 0; padding-top: 0; border-top: 0; }
.plan-card-section__heading p { max-width: 720px; margin: 0; color: var(--muted); font-size: var(--text-body); line-height: 1.6; }
.plan-card-list { display: flex; flex-direction: column; gap: 16px; }
.plan-card-section--urgent .plan-card-section__heading {
  padding: 15px 17px;
  border: 1px solid rgba(181, 44, 44, 0.2);
  border-left: 4px solid #b52c2c;
  border-radius: 16px;
  background: rgba(255, 242, 242, 0.75);
}
.plan-card-section--urgent .eyebrow,
.plan-card-section--urgent .plan-card-section__heading h2 { color: #982424; }
.health-card {
  width: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: 24px;
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--shadow-small);
}
.health-card.wide-card { grid-column: span 8; }
.health-card.full-card { grid-column: 1 / -1; }
.health-card[hidden] { display: none !important; }
.result-card-accordion {
  width: 100%;
  overflow: clip;
  border: 1px solid rgba(35, 72, 125, 0.15);
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--shadow-small);
}
.result-card-accordion[hidden] { display: none !important; }
.result-card-accordion > summary {
  min-height: 76px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18px;
  align-items: center;
  gap: 14px;
  padding: 15px 18px;
  color: var(--ink);
  cursor: pointer;
  list-style: none;
}
.result-card-accordion > summary::-webkit-details-marker { display: none; }
.result-card-accordion > summary:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--accent) 42%, transparent);
  outline-offset: -3px;
  border-radius: 18px;
}
.result-card-accordion__copy {
  min-width: 0;
  display: grid;
  gap: 5px;
}
/* One restrained icon family for card headings, never for the section tabs. */
/* Share each section's heading color only with its card icon and disclosure arrow. */
#cardsGrid,
.plan-card-section--health { --card-heading-accent: var(--nav-health); }
.plan-card-section--nutrition,
.result-card-accordion--nutrition { --card-heading-accent: var(--nav-nutrition); }
.plan-card-section--cancer { --card-heading-accent: var(--nav-screening); }
.plan-card-section--maternal { --card-heading-accent: var(--accent-strong); }
.plan-card-section--urgent { --card-heading-accent: #982424; }
#vaccineCardsGrid { --card-heading-accent: var(--nav-vaccine); }
.measurement-guide-accordion { --card-heading-accent: var(--nav-guide); }
#travelCardsGrid,
.travel-plan-details { --card-heading-accent: var(--nav-travel); }
.card-heading-label {
  display: grid;
  grid-template-columns: 1.25rem minmax(0, 1fr);
  align-items: start;
  column-gap: .625rem;
  min-width: 0;
}
.card-heading-text { min-width: 0; overflow-wrap: anywhere; }
.card-heading-icon {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: .15em;
  color: var(--card-heading-accent, var(--nav-all));
  background-color: currentColor;
  -webkit-mask: var(--card-icon) center / contain no-repeat;
  mask: var(--card-icon) center / contain no-repeat;
  pointer-events: none;
}
.result-card-accordion__copy > small,
.optional-plan-summary-copy > small { padding-inline-start: 1.875rem; }
.card-heading-icon[data-card-icon="scale"] { --card-icon: url("data:image/svg+xml;base64,PHN2ZwogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICB3aWR0aD0iMjQiCiAgaGVpZ2h0PSIyNCIKICB2aWV3Qm94PSIwIDAgMjQgMjQiCiAgZmlsbD0ibm9uZSIKICBzdHJva2U9ImN1cnJlbnRDb2xvciIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgM3YxOCIgLz4KICA8cGF0aCBkPSJtMTkgOCAzIDhhNSA1IDAgMCAxLTYgMHpWNyIgLz4KICA8cGF0aCBkPSJNMyA3aDFhMTcgMTcgMCAwIDAgOC0yIDE3IDE3IDAgMCAwIDggMmgxIiAvPgogIDxwYXRoIGQ9Im01IDggMyA4YTUgNSAwIDAgMS02IDB6VjciIC8+CiAgPHBhdGggZD0iTTcgMjFoMTAiIC8+Cjwvc3ZnPgo="); }
.card-heading-icon[data-card-icon="ruler"] { --card-icon: url("data:image/svg+xml;base64,PHN2ZwogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICB3aWR0aD0iMjQiCiAgaGVpZ2h0PSIyNCIKICB2aWV3Qm94PSIwIDAgMjQgMjQiCiAgZmlsbD0ibm9uZSIKICBzdHJva2U9ImN1cnJlbnRDb2xvciIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEuMyAxNS4zYTIuNCAyLjQgMCAwIDEgMCAzLjRsLTIuNiAyLjZhMi40IDIuNCAwIDAgMS0zLjQgMEwyLjcgOC43YTIuNDEgMi40MSAwIDAgMSAwLTMuNGwyLjYtMi42YTIuNDEgMi40MSAwIDAgMSAzLjQgMFoiIC8+CiAgPHBhdGggZD0ibTE0LjUgMTIuNSAyLTIiIC8+CiAgPHBhdGggZD0ibTExLjUgOS41IDItMiIgLz4KICA8cGF0aCBkPSJtOC41IDYuNSAyLTIiIC8+CiAgPHBhdGggZD0ibTE3LjUgMTUuNSAyLTIiIC8+Cjwvc3ZnPgo="); }
.card-heading-icon[data-card-icon="gauge"] { --card-icon: url("data:image/svg+xml;base64,PHN2ZwogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICB3aWR0aD0iMjQiCiAgaGVpZ2h0PSIyNCIKICB2aWV3Qm94PSIwIDAgMjQgMjQiCiAgZmlsbD0ibm9uZSIKICBzdHJva2U9ImN1cnJlbnRDb2xvciIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTIgMTQgNC00IiAvPgogIDxwYXRoIGQ9Ik0zLjM0IDE5YTEwIDEwIDAgMSAxIDE3LjMyIDAiIC8+Cjwvc3ZnPgo="); }
.card-heading-icon[data-card-icon="droplet"] { --card-icon: url("data:image/svg+xml;base64,PHN2ZwogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICB3aWR0aD0iMjQiCiAgaGVpZ2h0PSIyNCIKICB2aWV3Qm94PSIwIDAgMjQgMjQiCiAgZmlsbD0ibm9uZSIKICBzdHJva2U9ImN1cnJlbnRDb2xvciIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjJhNyA3IDAgMCAwIDctN2MwLTItMS0zLjktMy01LjVzLTMuNS00LTQtNi41Yy0uNSAyLjUtMiA0LjktNCA2LjVDNiAxMS4xIDUgMTMgNSAxNWE3IDcgMCAwIDAgNyA3eiIgLz4KPC9zdmc+Cg=="); }
.card-heading-icon[data-card-icon="heart-pulse"] { --card-icon: url("data:image/svg+xml;base64,PHN2ZwogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICB3aWR0aD0iMjQiCiAgaGVpZ2h0PSIyNCIKICB2aWV3Qm94PSIwIDAgMjQgMjQiCiAgZmlsbD0ibm9uZSIKICBzdHJva2U9ImN1cnJlbnRDb2xvciIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMiA5LjVhNS41IDUuNSAwIDAgMSA5LjU5MS0zLjY3Ni41Ni41NiAwIDAgMCAuODE4IDBBNS40OSA1LjQ5IDAgMCAxIDIyIDkuNWMwIDIuMjktMS41IDQtMyA1LjVsLTUuNDkyIDUuMzEzYTIgMiAwIDAgMS0zIC4wMTlMNSAxNWMtMS41LTEuNS0zLTMuMi0zLTUuNSIgLz4KICA8cGF0aCBkPSJNMy4yMiAxM0g5LjVsLjUtMSAyIDQuNSAyLTcgMS41IDMuNWg1LjI3IiAvPgo8L3N2Zz4K"); }
.card-heading-icon[data-card-icon="leaf"] { --card-icon: url("data:image/svg+xml;base64,PHN2ZwogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICB3aWR0aD0iMjQiCiAgaGVpZ2h0PSIyNCIKICB2aWV3Qm94PSIwIDAgMjQgMjQiCiAgZmlsbD0ibm9uZSIKICBzdHJva2U9ImN1cnJlbnRDb2xvciIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMjBhMTAgMTAgMCAwMDEwLTEwIDI1LjkgMjUuOSAwIDAwLTEuMDQtNy4yODEgMSAxIDAgMDAtMS43NTUtLjMyNUMxNS44MzMgNS41IDEzIDUuNSA5LjggNi4xQTcgNyAwIDAwMTEgMjAiIC8+CiAgPHBhdGggZD0iTTIgMjFhNSA1IDAgMDEyLjkxMS00LjU0NEM3LjYxMyAxNS4yMTIgOC4zNTEgMTUuMjQgMTEgMTMiIC8+Cjwvc3ZnPgo="); }
.card-heading-icon[data-card-icon="syringe"] { --card-icon: url("data:image/svg+xml;base64,PHN2ZwogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICB3aWR0aD0iMjQiCiAgaGVpZ2h0PSIyNCIKICB2aWV3Qm94PSIwIDAgMjQgMjQiCiAgZmlsbD0ibm9uZSIKICBzdHJva2U9ImN1cnJlbnRDb2xvciIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTggMiA0IDQiIC8+CiAgPHBhdGggZD0ibTE3IDcgMy0zIiAvPgogIDxwYXRoIGQ9Ik0xOSA5IDguNyAxOS4zYy0xIDEtMi41IDEtMy40IDBsLS42LS42Yy0xLTEtMS0yLjUgMC0zLjRMMTUgNSIgLz4KICA8cGF0aCBkPSJtOSAxMSA0IDQiIC8+CiAgPHBhdGggZD0ibTUgMTktMyAzIiAvPgogIDxwYXRoIGQ9Im0xNCA0IDYgNiIgLz4KPC9zdmc+Cg=="); }
.card-heading-icon[data-card-icon="luggage"] { --card-icon: url("data:image/svg+xml;base64,PHN2ZwogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICB3aWR0aD0iMjQiCiAgaGVpZ2h0PSIyNCIKICB2aWV3Qm94PSIwIDAgMjQgMjQiCiAgZmlsbD0ibm9uZSIKICBzdHJva2U9ImN1cnJlbnRDb2xvciIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMGEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmgxMmEyIDIgMCAwIDEgMiAydjEwYTIgMiAwIDAgMS0yIDIiIC8+CiAgPHBhdGggZD0iTTggMThWNGEyIDIgMCAwIDEgMi0yaDRhMiAyIDAgMCAxIDIgMnYxNCIgLz4KICA8cGF0aCBkPSJNMTAgMjBoNCIgLz4KICA8Y2lyY2xlIGN4PSIxNiIgY3k9IjIwIiByPSIyIiAvPgogIDxjaXJjbGUgY3g9IjgiIGN5PSIyMCIgcj0iMiIgLz4KPC9zdmc+Cg=="); }
.card-heading-icon[data-card-icon="search"] { --card-icon: url("data:image/svg+xml;base64,PHN2ZwogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICB3aWR0aD0iMjQiCiAgaGVpZ2h0PSIyNCIKICB2aWV3Qm94PSIwIDAgMjQgMjQiCiAgZmlsbD0ibm9uZSIKICBzdHJva2U9ImN1cnJlbnRDb2xvciIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMjEgMjEtNC4zNC00LjM0IiAvPgogIDxjaXJjbGUgY3g9IjExIiBjeT0iMTEiIHI9IjgiIC8+Cjwvc3ZnPgo="); }
.card-heading-icon[data-card-icon="users"] { --card-icon: url("data:image/svg+xml;base64,PHN2ZwogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICB3aWR0aD0iMjQiCiAgaGVpZ2h0PSIyNCIKICB2aWV3Qm94PSIwIDAgMjQgMjQiCiAgZmlsbD0ibm9uZSIKICBzdHJva2U9ImN1cnJlbnRDb2xvciIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgMjF2LTJhNCA0IDAgMCAwLTQtNEg2YTQgNCAwIDAgMC00IDR2MiIgLz4KICA8cGF0aCBkPSJNMTYgMy4xMjhhNCA0IDAgMCAxIDAgNy43NDQiIC8+CiAgPHBhdGggZD0iTTIyIDIxdi0yYTQgNCAwIDAgMC0zLTMuODciIC8+CiAgPGNpcmNsZSBjeD0iOSIgY3k9IjciIHI9IjQiIC8+Cjwvc3ZnPgo="); }
.card-heading-icon[data-card-icon="eye"] { --card-icon: url("data:image/svg+xml;base64,PHN2ZwogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICB3aWR0aD0iMjQiCiAgaGVpZ2h0PSIyNCIKICB2aWV3Qm94PSIwIDAgMjQgMjQiCiAgZmlsbD0ibm9uZSIKICBzdHJva2U9ImN1cnJlbnRDb2xvciIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMi4wNjIgMTIuMzQ4YTEgMSAwIDAgMSAwLS42OTYgMTAuNzUgMTAuNzUgMCAwIDEgMTkuODc2IDAgMSAxIDAgMCAxIDAgLjY5NiAxMC43NSAxMC43NSAwIDAgMS0xOS44NzYgMCIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIzIiAvPgo8L3N2Zz4K"); }
.card-heading-icon[data-card-icon="ear"] { --card-icon: url("data:image/svg+xml;base64,PHN2ZwogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICB3aWR0aD0iMjQiCiAgaGVpZ2h0PSIyNCIKICB2aWV3Qm94PSIwIDAgMjQgMjQiCiAgZmlsbD0ibm9uZSIKICBzdHJva2U9ImN1cnJlbnRDb2xvciIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiA4LjVhNi41IDYuNSAwIDEgMSAxMyAwYzAgNi02IDYtNiAxMGEzLjUgMy41IDAgMSAxLTcgMCIgLz4KICA8cGF0aCBkPSJNMTUgOC41YTIuNSAyLjUgMCAwIDAtNSAwdjFhMiAyIDAgMSAxIDAgNCIgLz4KPC9zdmc+Cg=="); }
.card-heading-icon[data-card-icon="smile"] { --card-icon: url("data:image/svg+xml;base64,PHN2ZwogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICB3aWR0aD0iMjQiCiAgaGVpZ2h0PSIyNCIKICB2aWV3Qm94PSIwIDAgMjQgMjQiCiAgZmlsbD0ibm9uZSIKICBzdHJva2U9ImN1cnJlbnRDb2xvciIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgMTBWOSIgLz4KICA8cGF0aCBkPSJNMTYuNDcyIDE1YTYgNiAwIDAxLTguOTQzIDAiIC8+CiAgPHBhdGggZD0iTTkgMTBWOSIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KPC9zdmc+Cg=="); }
.card-heading-icon[data-card-icon="pill"] { --card-icon: url("data:image/svg+xml;base64,PHN2ZwogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICB3aWR0aD0iMjQiCiAgaGVpZ2h0PSIyNCIKICB2aWV3Qm94PSIwIDAgMjQgMjQiCiAgZmlsbD0ibm9uZSIKICBzdHJva2U9ImN1cnJlbnRDb2xvciIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTAuNSAyMC41IDEwLTEwYTQuOTUgNC45NSAwIDEgMC03LTdsLTEwIDEwYTQuOTUgNC45NSAwIDEgMCA3IDdaIiAvPgogIDxwYXRoIGQ9Im04LjUgOC41IDcgNyIgLz4KPC9zdmc+Cg=="); }
.card-heading-icon[data-card-icon="accessibility"] { --card-icon: url("data:image/svg+xml;base64,PHN2ZwogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICB3aWR0aD0iMjQiCiAgaGVpZ2h0PSIyNCIKICB2aWV3Qm94PSIwIDAgMjQgMjQiCiAgZmlsbD0ibm9uZSIKICBzdHJva2U9ImN1cnJlbnRDb2xvciIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxNiIgY3k9IjQiIHI9IjEiIC8+CiAgPHBhdGggZD0ibTE4IDE5IDEtNy02IDEiIC8+CiAgPHBhdGggZD0ibTUgOCAzLTMgNS41IDMtMi4zNiAzLjUiIC8+CiAgPHBhdGggZD0iTTQuMjQgMTQuNWE1IDUgMCAwIDAgNi44OCA2IiAvPgogIDxwYXRoIGQ9Ik0xMy43NiAxNy41YTUgNSAwIDAgMC02Ljg4LTYiIC8+Cjwvc3ZnPgo="); }
.card-heading-icon[data-card-icon="baby"] { --card-icon: url("data:image/svg+xml;base64,PHN2ZwogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICB3aWR0aD0iMjQiCiAgaGVpZ2h0PSIyNCIKICB2aWV3Qm94PSIwIDAgMjQgMjQiCiAgZmlsbD0ibm9uZSIKICBzdHJva2U9ImN1cnJlbnRDb2xvciIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTZjLjUuMyAxLjIuNSAyIC41czEuNS0uMiAyLS41IiAvPgogIDxwYXRoIGQ9Ik0xNSAxMmguMDEiIC8+CiAgPHBhdGggZD0iTTE5LjM4IDYuODEzQTkgOSAwIDAgMSAyMC44IDEwLjJhMiAyIDAgMCAxIDAgMy42IDkgOSAwIDAgMS0xNy42IDAgMiAyIDAgMCAxIDAtMy42QTkgOSAwIDAgMSAxMiAzYzIgMCAzLjUgMS4xIDMuNSAyLjVzLS45IDIuNS0yIDIuNWMtLjggMC0xLjUtLjQtMS41LTEiIC8+CiAgPHBhdGggZD0iTTkgMTJoLjAxIiAvPgo8L3N2Zz4K"); }
.card-heading-icon[data-card-icon="stethoscope"] { --card-icon: url("data:image/svg+xml;base64,PHN2ZwogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICB3aWR0aD0iMjQiCiAgaGVpZ2h0PSIyNCIKICB2aWV3Qm94PSIwIDAgMjQgMjQiCiAgZmlsbD0ibm9uZSIKICBzdHJva2U9ImN1cnJlbnRDb2xvciIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMnYyIiAvPgogIDxwYXRoIGQ9Ik01IDJ2MiIgLz4KICA8cGF0aCBkPSJNNSAzSDRhMiAyIDAgMCAwLTIgMnY0YTYgNiAwIDAgMCAxMiAwVjVhMiAyIDAgMCAwLTItMmgtMSIgLz4KICA8cGF0aCBkPSJNOCAxNWE2IDYgMCAwIDAgMTIgMHYtMyIgLz4KICA8Y2lyY2xlIGN4PSIyMCIgY3k9IjEwIiByPSIyIiAvPgo8L3N2Zz4K"); }
.card-heading-icon[data-card-icon="clipboard-check"] { --card-icon: url("data:image/svg+xml;base64,PHN2ZwogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICB3aWR0aD0iMjQiCiAgaGVpZ2h0PSIyNCIKICB2aWV3Qm94PSIwIDAgMjQgMjQiCiAgZmlsbD0ibm9uZSIKICBzdHJva2U9ImN1cnJlbnRDb2xvciIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iOCIgaGVpZ2h0PSI0IiB4PSI4IiB5PSIyIiByeD0iMSIgcnk9IjEiIC8+CiAgPHBhdGggZD0iTTE2IDRoMmEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmgyIiAvPgogIDxwYXRoIGQ9Im05IDE0IDIgMiA0LTQiIC8+Cjwvc3ZnPgo="); }
@media (forced-colors: active) {
  .card-heading-icon { forced-color-adjust: none; background-color: CanvasText; }
}
.result-card-accordion__copy strong {
  font-size: var(--text-card-title);
  line-height: 1.45;
  letter-spacing: -0.02em;
}
.result-card-accordion__copy small {
  display: block;
  overflow: visible;
  color: var(--muted);
  font-size: var(--text-small);
  line-height: 1.45;
  font-weight: var(--weight-medium);
}
#measurementSummaryCard > .result-card-accordion--measurement:not(.result-card-accordion--adult-bmi):not([open]) > summary {
  min-height: 88px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.97), color-mix(in srgb, var(--accent-soft) 58%, white));
}
#measurementSummaryCard > .result-card-accordion--measurement:not([open]) .result-card-accordion__copy {
  gap: 6px;
}
#measurementSummaryCard > .result-card-accordion--measurement:not(.result-card-accordion--adult-bmi):not([open]) .result-card-accordion__copy > strong {
  color: var(--ink);
  font-size: var(--text-body);
  letter-spacing: 0;
}
#measurementSummaryCard > .result-card-accordion--measurement:not([open]) .result-card-accordion__copy > small {
  display: block;
  overflow: visible;
  color: var(--ink);
  font-size: clamp(1.1875rem, 2.8vw, 1.375rem);
  line-height: 1.45;
  font-weight: var(--weight-bold);
  letter-spacing: -0.02em;
  -webkit-line-clamp: unset;
}
@media (max-width: 420px) {
  #measurementSummaryCard > .result-card-accordion--measurement:not([open]) .result-card-accordion__copy > small {
    font-size: var(--text-card-title);
  }
}
.result-card-accordion__chevron {
  width: 11px;
  height: 11px;
  border-right: 3px solid var(--card-heading-accent, var(--nav-all));
  border-bottom: 3px solid var(--card-heading-accent, var(--nav-all));
  transform: rotate(45deg) translateY(-2px);
  transition: transform 160ms ease;
}
.result-card-accordion[open] > summary {
  border-bottom: 1px solid rgba(35, 72, 125, 0.11);
  background: color-mix(in srgb, var(--accent-soft) 42%, white);
}
.result-card-accordion[open] .result-card-accordion__chevron { transform: rotate(225deg) translate(-2px, -2px); }
.result-card-accordion__body > .health-card {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
.result-card-accordion__body > .health-card > h3:first-child { display: none; }
.result-card-accordion__body > .health-card:hover { transform: none; box-shadow: none; }
.result-card-accordion--adult-bmi .bmi-summary-title { display: none; }
.result-card-accordion--adult-bmi > summary .result-card-accordion__copy > strong {
  color: var(--ink);
  font-size: var(--text-card-title);
  line-height: 1.45;
}
.result-card-accordion--adult-bmi > summary { background: #fff; }
#measurementSummaryCard > .result-card-accordion {
  border-color: rgba(119, 165, 243, 0.28);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(239, 246, 255, 0.9));
  box-shadow: 0 17px 46px rgba(43, 76, 128, 0.11);
}
#measurementSummaryCard > .result-card-accordion--adult-bmi { background: #fff; }
.family-history-result-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.family-history-result-summary li {
  padding: 8px 10px;
  border: 1px solid rgba(35, 72, 125, 0.13);
  border-radius: 999px;
  color: #405269;
  background: rgba(244, 248, 255, 0.86);
  font-size: var(--text-body);
  line-height: 1.6;
  font-weight: var(--weight-bold);
}
.health-card .family-history-result-note {
  margin-top: 12px;
  color: #566477;
  font-size: var(--text-body);
  line-height: 1.6;
}
.status-chip {
  padding: 7px 10px;
  border-radius: 999px;
  color: #7a4a00;
  background: var(--amber-soft);
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  line-height: 1.45;
  letter-spacing: normal;
}
.status-chip.due { color: #a12424; background: var(--red-soft); }
.status-chip.upcoming { color: #174f9f; background: var(--blue-soft); }
.status-chip.followup { color: #1f6f4e; background: var(--green-soft); }
.status-chip.route-neutral { color: #405269; background: #eef2f7; }
.card-status-bottom {
  margin-top: auto;
  padding-top: 18px;
  display: flex;
  justify-content: flex-end;
}
.next-action--compact + .card-status-bottom { margin-top: 0; padding-top: 12px; }
.health-card h3 { margin: 0 0 9px; font-size: var(--text-subheading); letter-spacing: -0.02em; }
.health-card p { margin: 0; color: var(--muted); font-size: var(--text-body); line-height: 1.6; }
.health-card > p { font-size: var(--text-body); line-height: 1.6; }
.growth-overall-assessment {
  display: grid;
  gap: 5px;
  padding: 14px 16px;
  border: 1px solid rgba(35, 72, 125, 0.14);
  border-radius: 14px;
  background: rgba(244, 248, 255, 0.92);
}
.primary-button:disabled {
  border-color: #c4ccd7;
  color: #566477;
  background: #edf1f6;
  box-shadow: none;
  transform: none;
  cursor: not-allowed;
}
.growth-overall-assessment strong {
  color: var(--ink);
  font-size: var(--text-card-title);
  line-height: 1.6;
  letter-spacing: -0.018em;
}
.growth-overall-assessment > span {
  color: #46586f;
  font-size: var(--text-body);
  line-height: 1.6;
}
.growth-overall-assessment > .growth-combined-kicker {
  color: #31557e;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  letter-spacing: 0.055em;
  text-transform: uppercase;
}
.growth-combined-action {
  margin-top: 3px;
  padding-top: 10px;
  border-top: 1px solid rgba(35, 72, 125, 0.13);
}
.growth-combined-action b,
.growth-combined-route b { color: var(--ink); }
.growth-overall-assessment > .growth-combined-route {
  color: #394c64;
  font-size: var(--text-body);
}
.growth-overall-assessment.expected {
  border-color: rgba(36, 99, 77, 0.22);
  background: rgba(226, 245, 236, 0.72);
}
.growth-overall-assessment.review {
  border-color: rgba(167, 106, 0, 0.24);
  background: rgba(255, 245, 218, 0.88);
}
.metric-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 18px;
}
.child-growth-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.child-growth-percentile-list {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}
.growth-percentile-row {
  min-width: 0;
  padding: 15px;
  border: 1px solid rgba(35, 72, 125, 0.14);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
}
.growth-percentile-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px 16px;
}
.growth-percentile-name {
  color: var(--ink);
  font-size: var(--text-body);
  font-weight: var(--weight-bold);
  line-height: 1.45;
}
.growth-percentile-measurement {
  flex: 0 0 auto;
  color: #46586f;
  font-size: var(--text-small);
  line-height: 1.45;
}
.growth-percentile-scale {
  margin-top: 9px;
  padding-top: 2.75rem;
}
.growth-percentile-track {
  position: relative;
  height: 14px;
  border: 1px solid rgba(46, 63, 82, 0.28);
  border-radius: 999px;
  background: linear-gradient(
    to right,
    #fff0c9 0 var(--growth-lower),
    #dcefe9 var(--growth-lower) var(--growth-upper),
    #fff0c9 var(--growth-upper) 100%
  );
  box-shadow: inset 0 1px 2px rgba(15, 35, 60, 0.08);
}
.growth-percentile-marker {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: var(--growth-marker);
  width: 3px;
  height: 24px;
  border-radius: 999px;
  background: #173f73;
  box-shadow: 0 0 0 2px #fff;
  transform: translate(-50%, -50%);
}
.growth-percentile-marker::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 11px;
  height: 11px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #173f73;
  box-shadow: 0 0 0 1px rgba(23, 63, 115, 0.28);
  content: "";
  transform: translate(-50%, -50%);
}
.growth-percentile-marker-label {
  position: absolute;
  bottom: calc(100% + 5px);
  left: 50%;
  display: block;
  max-width: 175px;
  padding: 3px 7px;
  border-radius: 7px;
  color: #fff;
  background: #173f73;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  line-height: 1.45;
  white-space: nowrap;
  transform: translateX(-50%);
}
.growth-percentile-marker.is-low .growth-percentile-marker-label {
  left: -2px;
  transform: none;
}
.growth-percentile-marker.is-high .growth-percentile-marker-label {
  right: -2px;
  left: auto;
  transform: none;
}
.growth-percentile-marker.is-low .growth-percentile-marker-label::before,
.growth-percentile-marker.is-high .growth-percentile-marker-label::after {
  font-weight: var(--weight-bold);
}
.growth-percentile-marker.is-low .growth-percentile-marker-label::before { content: "‹ "; }
.growth-percentile-marker.is-high .growth-percentile-marker-label::after { content: " ›"; }
.growth-percentile-labels {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-top: 7px;
  color: #46586f;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  line-height: 1.45;
  text-align: center;
}
.growth-percentile-labels span {
  min-width: 0;
  padding: 0 4px;
}
.growth-percentile-row .growth-reference-range,
.growth-percentile-row .growth-metric-note {
  margin: 10px 0 0;
  color: #394c64;
  font-size: var(--text-small);
  line-height: 1.45;
}
.growth-percentile-row .growth-metric-note {
  padding-top: 9px;
  border-top: 1px solid rgba(35, 72, 125, 0.1);
  color: #6b5428;
}
.child-growth-percentile-list > .growth-trend-note {
  margin: 0;
  padding: 10px 12px;
  border: 1px solid rgba(35, 72, 125, 0.1);
  border-radius: 11px;
  color: #46586f;
  background: rgba(244, 248, 255, 0.88);
  font-size: var(--text-small);
  line-height: 1.45;
}
.metric-item {
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(35, 72, 125, 0.08);
  border-radius: 14px;
  background: rgba(244, 248, 255, 0.88);
}
.metric-item span { display: block; color: #566477; font-size: var(--text-small); font-weight: var(--weight-bold); text-transform: uppercase; letter-spacing: 0.045em; }
.metric-result-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  margin-top: 5px;
}
.metric-item .metric-result-line strong { display: block; color: var(--ink); font-size: var(--text-card-title); letter-spacing: -0.02em; }
.metric-item .growth-range-label {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 8px;
  border: 1px solid rgba(35, 72, 125, 0.12);
  border-radius: 999px;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  line-height: 1.45;
  letter-spacing: 0;
  text-transform: none;
}
.growth-range-label.expected {
  color: #24634d;
  border-color: rgba(36, 99, 77, 0.16);
  background: rgba(226, 245, 236, 0.82);
}
.growth-range-label.review {
  color: #795418;
  border-color: rgba(167, 106, 0, 0.2);
  background: rgba(255, 245, 218, 0.9);
}
.metric-item small { display: block; margin-top: 3px; color: var(--muted); font-size: var(--text-small); }
.child-growth-metrics .metric-item { padding: 14px; }
.child-growth-metrics .metric-item > span { font-size: var(--text-small); line-height: 1.45; }
.child-growth-metrics .metric-result-line {
  display: grid;
  align-items: start;
  gap: 7px;
  margin-top: 7px;
}
.child-growth-metrics .metric-result-line strong { font-size: var(--text-subheading); }
.child-growth-metrics .growth-range-label {
  display: flex;
  width: 100%;
  min-height: 0;
  padding: 8px 10px;
  border-radius: 10px;
  font-size: var(--text-small);
  line-height: 1.45;
}
.child-growth-metrics .growth-measured-value,
.child-growth-metrics .growth-reference-range,
.child-growth-metrics .growth-metric-note {
  margin-top: 8px;
  color: #394c64;
  font-size: var(--text-small);
  line-height: 1.45;
}
.child-growth-metrics .growth-reference-range { color: var(--ink); }
.child-growth-metrics .growth-metric-note {
  padding-top: 8px;
  border-top: 1px solid rgba(35, 72, 125, 0.1);
  color: #6b5428;
  font-size: var(--text-small);
}
.metric-list .growth-trend-note {
  grid-column: 1 / -1;
  margin: 2px 0 0;
  padding: 9px 11px;
  border: 1px solid rgba(35, 72, 125, 0.08);
  border-radius: 11px;
  color: #46586f;
  background: rgba(255, 255, 255, 0.64);
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  line-height: 1.45;
}
.development-details {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}
.development-milestones {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.development-milestones li {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 13px 14px;
  border: 1px solid rgba(35, 72, 125, 0.09);
  border-radius: 12px;
  background: rgba(244, 248, 255, 0.84);
}
.development-milestones li > span {
  display: block;
  margin: 0;
  padding: 0;
  color: #244e86;
  font-size: var(--text-body);
  line-height: 1.6;
  font-weight: var(--weight-bold);
}
.health-card .development-milestones p {
  margin: 0;
  color: #4d5d70;
  font-size: var(--text-body);
  line-height: 1.6;
}
.development-support,
.development-safety,
.dental-guidance {
  display: grid;
  gap: 5px;
  padding: 13px 14px;
  border-radius: 14px;
  color: #4d5d70;
  background: rgba(238, 247, 242, 0.86);
  font-size: var(--text-body);
  line-height: 1.6;
}
.development-support strong,
.development-safety strong,
.dental-guidance strong { color: var(--ink); font-size: var(--text-body); line-height: 1.6; }
.development-safety {
  border: 1px solid rgba(185, 120, 23, 0.15);
  background: rgba(255, 247, 229, 0.74);
}
.dental-guidance {
  border: 1px solid rgba(35, 72, 125, 0.09);
  background: rgba(244, 248, 255, 0.84);
}
.dental-plan { margin-top: 18px; }
.dental-plan-list {
  display: grid;
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(35, 72, 125, 0.13);
  list-style: none;
}
.dental-plan-list li {
  min-width: 0;
  display: grid;
  gap: 5px;
  padding: 13px 2px;
  border-bottom: 1px solid rgba(35, 72, 125, 0.13);
}
.dental-plan-list strong {
  color: var(--ink);
  font-size: var(--text-small);
  line-height: 1.45;
}
.health-card .dental-plan-list span {
  color: #4d5d70;
  font-size: var(--text-body);
  line-height: 1.55;
}
.dental-plan-list .is-warning {
  padding-inline-start: 12px;
  border-inline-start: 4px solid #b44545;
}
.dental-plan-list .is-warning strong { color: #9b2f2f; }
.diagnosis-guidance-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 18px; }
.diagnosis-guidance-item {
  padding: 14px;
  border: 1px solid rgba(35, 72, 125, 0.09);
  border-radius: 15px;
  background: rgba(244, 248, 255, 0.82);
}
.diagnosis-guidance-item.unmatched { border-color: rgba(185, 120, 23, 0.18); background: rgba(255, 247, 229, 0.72); }
.diagnosis-guidance-item > div { display: flex; align-items: center; gap: 9px; }
.diagnosis-guidance-item > div span {
  flex: 0 0 auto;
  padding: 5px 7px;
  border-radius: 8px;
  color: var(--accent-strong);
  background: var(--accent-soft);
  font-size: var(--text-body);
  font-weight: var(--weight-bold);
}
.diagnosis-guidance-item.unmatched > div span { color: #825b1d; background: var(--amber-soft); }
.diagnosis-guidance-item strong { font-size: var(--text-body); }
.health-card .diagnosis-guidance-item p { margin-top: 9px; font-size: var(--text-body); line-height: 1.6; }
.diagnosis-guidance-item small { display: block; margin-top: 8px; color: var(--quiet); font-size: var(--text-small); line-height: 1.45; }
.diagnosis-guidance-item small b { color: #536175; }
.diagnosis-guidance-source {
  display: inline-block;
  margin-top: 8px;
  color: var(--accent-strong);
  font-size: var(--text-body);
  font-weight: var(--weight-bold);
  text-decoration: none;
}
.diagnosis-guidance-source:hover { text-decoration: underline; }
.child-followup-card { display: grid; gap: 14px; }
.health-card .child-followup-lead {
  margin: 0;
  color: var(--muted);
  font-size: var(--text-body);
  line-height: 1.55;
}
.child-followup-sections { display: grid; gap: 9px; }
.child-followup-section,
.child-followup-focus {
  border: 1px solid rgba(32, 67, 115, 0.16);
  border-inline-start: 4px solid #8b9cb2;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.82);
  overflow: clip;
}
.child-followup-section.is-future,
.child-followup-focus.is-next { border-inline-start-color: var(--blue); background: color-mix(in srgb, var(--blue-soft) 45%, white); }
.child-followup-focus.is-current { border-inline-start-color: var(--green); background: color-mix(in srgb, var(--green-soft) 58%, white); }
.child-followup-section > summary {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 13px;
  cursor: pointer;
  list-style: none;
}
.child-followup-section > summary::-webkit-details-marker { display: none; }
.child-followup-section > summary span,
.child-followup-focus header span { color: var(--ink); font-size: var(--text-body); line-height: 1.45; font-weight: var(--weight-bold); }
.child-followup-section > summary b,
.child-followup-focus header b { color: var(--accent-strong); font-size: var(--text-small); line-height: 1.45; text-align: right; }
.child-followup-section > summary b::after {
  content: "⌄";
  display: inline-block;
  margin-inline-start: 7px;
  transform-origin: center;
  transition: transform 160ms ease;
}
.child-followup-section[open] > summary b::after { transform: rotate(180deg); }
.child-followup-section > summary:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 35%, transparent); outline-offset: -3px; }
.child-followup-section > ul {
  display: grid;
  gap: 0;
  margin: 0 13px 13px;
  padding: 0;
  border-top: 1px solid rgba(32, 67, 115, 0.13);
  list-style: none;
}
.child-followup-section > ul > li {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 11px 2px;
  border-bottom: 1px solid rgba(32, 67, 115, 0.13);
}
.child-followup-section > ul > li[data-child-followup-extra][hidden] { display: none; }
.child-followup-section > ul > li strong { color: var(--ink); font-size: var(--text-body); line-height: 1.6; }
.child-followup-section > ul > li span { color: var(--muted); font-size: var(--text-body); line-height: 1.6; }
.child-followup-section > ul > li small { color: var(--quiet); font-size: var(--text-body); line-height: 1.6; font-weight: var(--weight-bold); }
.child-followup-empty { color: var(--quiet); font-size: var(--text-small); line-height: 1.5; }
.child-followup-future-toggle {
  width: calc(100% - 26px);
  min-height: 44px;
  margin: 0 13px 13px;
  padding: 9px 12px;
  border: 1px solid color-mix(in srgb, var(--blue) 30%, transparent);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.78);
  color: var(--blue);
  font: inherit;
  font-size: var(--text-small);
  line-height: 1.45;
  font-weight: var(--weight-bold);
  white-space: normal;
  overflow-wrap: anywhere;
  cursor: pointer;
}
.child-followup-future-toggle:hover { background: color-mix(in srgb, var(--blue-soft) 58%, white); }
.child-followup-future-toggle:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--blue) 35%, transparent);
  outline-offset: 2px;
}
.child-followup-focus { display: grid; gap: 11px; padding: 13px; }
.child-followup-focus header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.health-card .child-followup-focus > p { margin: 0; color: var(--muted); font-size: var(--text-body); line-height: 1.6; }
.health-card .child-followup-focus > p strong { color: var(--ink); }
.health-card .child-followup-scope {
  padding: 10px 11px;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.68);
  color: #4d5d70;
  font-size: var(--text-small);
}
.health-card .child-followup-route {
  padding-top: 10px;
  border-top: 1px solid rgba(32, 67, 115, 0.13);
  color: #4d5d70;
  font-size: var(--text-body);
}
.child-preventive-assessments {
  display: grid;
  gap: 9px;
  padding-top: 11px;
  border-top: 1px solid rgba(32, 67, 115, 0.13);
}
.child-preventive-assessments__heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.child-preventive-assessments__heading span {
  color: var(--ink);
  font-size: var(--text-body);
  line-height: 1.45;
  font-weight: var(--weight-bold);
}
.child-preventive-assessments__heading b {
  flex: 0 0 auto;
  color: var(--accent-strong);
  font-size: var(--text-small);
  line-height: 1.45;
}
.child-preventive-assessments ul {
  display: grid;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(32, 67, 115, 0.14);
  border-radius: 10px;
  overflow: clip;
  list-style: none;
  background: rgba(255, 255, 255, 0.72);
}
.child-preventive-assessments li {
  display: grid;
  gap: 7px;
  padding: 11px;
  border-bottom: 1px solid rgba(32, 67, 115, 0.13);
}
.child-preventive-assessments li:last-child { border-bottom: 0; }
.child-preventive-assessments li > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.child-preventive-assessments li > header strong {
  color: var(--ink);
  font-size: var(--text-body);
  line-height: 1.6;
}
.child-preventive-assessments li > header span {
  flex: 0 0 auto;
  max-width: 48%;
  color: var(--accent-strong);
  font-size: var(--text-body);
  line-height: 1.6;
  font-weight: var(--weight-bold);
  text-align: right;
}
.health-card .child-preventive-assessments li > p {
  margin: 0;
  color: var(--muted);
  font-size: var(--text-body);
  line-height: 1.6;
}
.health-card .child-preventive-assessment__action {
  padding: 9px 10px;
  border-inline-start: 4px solid var(--blue);
  border-radius: 8px;
  background: color-mix(in srgb, var(--blue-soft) 50%, white);
}
.health-card .child-preventive-assessment__action strong { color: var(--ink); }
.health-card .child-preventive-assessments__note {
  margin: 0;
  color: #4d5d70;
  font-size: var(--text-body);
  line-height: 1.6;
}
.child-physical-exam { border-inline-start-color: var(--green); }
.child-physical-exam__body {
  display: grid;
  gap: 12px;
  padding: 0 13px 13px;
}
.health-card .child-physical-exam__intro,
.health-card .child-physical-exam__note {
  margin: 0;
  color: var(--muted);
  font-size: var(--text-body);
  line-height: 1.55;
}
.health-card .child-physical-exam__intro strong { color: var(--ink); }
.child-physical-exam__topics {
  display: grid;
  border: 1px solid rgba(32, 67, 115, 0.14);
  border-radius: 12px;
  overflow: clip;
  background: rgba(255, 255, 255, 0.76);
}
.child-physical-topic {
  min-width: 0;
  display: grid;
  gap: 8px;
  padding: 13px;
  border-bottom: 1px solid rgba(32, 67, 115, 0.13);
}
.child-physical-topic:last-child { border-bottom: 0; }
.child-physical-topic > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.child-physical-topic h4 {
  margin: 0;
  color: var(--ink);
  font-size: var(--text-card-title);
  line-height: 1.45;
  font-weight: var(--weight-bold);
}
.child-physical-topic > header span {
  flex: 0 0 auto;
  max-width: 50%;
  color: var(--accent-strong);
  font-size: var(--text-small);
  line-height: 1.45;
  font-weight: var(--weight-bold);
  text-align: right;
}
.health-card .child-physical-topic p {
  margin: 0;
  color: var(--muted);
  font-size: var(--text-body);
  line-height: 1.6;
}
.health-card .child-physical-topic p strong { color: var(--ink); }
.health-card .child-physical-action {
  padding: 10px 11px;
  border-inline-start: 4px solid var(--green);
  border-radius: 9px;
  background: color-mix(in srgb, var(--green-soft) 55%, white);
}
.child-physical-conditions {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(32, 67, 115, 0.13);
}
.child-physical-conditions li {
  display: grid;
  gap: 3px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(32, 67, 115, 0.13);
}
.child-physical-conditions strong { color: var(--ink); font-size: var(--text-small); line-height: 1.45; }
.child-physical-conditions span { color: var(--muted); font-size: var(--text-body); line-height: 1.55; }
.child-physical-parent { padding-top: 2px; }
.health-card .child-physical-exam__note {
  padding: 10px 11px;
  border-radius: 9px;
  background: rgba(244, 248, 255, 0.82);
}
.child-physical-sources {
  border-top: 1px solid rgba(32, 67, 115, 0.13);
  padding-top: 9px;
}
.child-physical-sources > summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  color: var(--accent-strong);
  font-size: var(--text-small);
  line-height: 1.45;
  font-weight: var(--weight-bold);
  cursor: pointer;
}
.child-physical-sources > summary:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 35%, transparent); outline-offset: 2px; }
.child-physical-sources .result-source-links { padding-bottom: 4px; }
.health-card .child-followup-alert {
  margin: 0;
  padding: 12px 13px;
  border: 1px solid rgba(185, 120, 23, 0.2);
  border-inline-start: 4px solid var(--amber);
  border-radius: 12px;
  color: #624719;
  background: var(--amber-soft);
  font-size: var(--text-body);
  line-height: 1.6;
}
.child-followup-alert strong { color: #6d4400; }
.health-card .child-followup-source { margin: 0; font-size: var(--text-small); line-height: 1.45; }
.child-followup-source a { color: var(--accent-strong); font-weight: var(--weight-bold); }
.vaccine-timeline {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 20px;
}
.vaccine-schedule-status {
  display: grid;
  gap: 4px;
  margin-top: 14px;
  padding: 11px 13px;
  border: 1px solid rgba(30, 83, 164, 0.14);
  border-radius: 13px;
  background: rgba(238, 245, 255, 0.86);
  color: var(--muted);
  font-size: var(--text-small);
  line-height: 1.45;
}
.vaccine-schedule-status strong { color: var(--blue-dark); font-size: var(--text-small); }
.vaccine-timeline section {
  min-width: 0;
  padding: 18px;
  border: 1px solid rgba(35, 72, 125, 0.09);
  border-radius: 17px;
  background: rgba(244, 248, 255, 0.82);
}
.vaccine-timeline h4 { margin: 0 0 13px; color: #344152; font-size: var(--text-card-title); line-height: 1.4; }
.vaccine-timeline ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.vaccine-timeline li { display: grid; grid-template-columns: 94px 1fr; gap: 11px; color: var(--muted); font-size: var(--text-body); line-height: 1.6; }
.vaccine-event.is-next {
  margin-bottom: 2px;
  padding: 12px;
  border: 1px solid rgba(55, 119, 237, 0.28);
  border-inline-start: 4px solid var(--blue);
  border-radius: 13px;
  color: var(--ink);
  background: linear-gradient(135deg, rgba(231, 240, 255, 0.96), rgba(244, 248, 255, 0.92));
  box-shadow: 0 8px 20px rgba(36, 89, 170, 0.08);
}
.vaccine-event__content { display: grid; gap: 3px; min-width: 0; }
.vaccine-event__label {
  color: var(--blue-dark);
  font-size: var(--text-small);
  line-height: 1.45;
  font-weight: var(--weight-bold);
  letter-spacing: 0.01em;
}
.vaccine-event__name { color: inherit; }
.vaccine-event.is-next .vaccine-event__name { font-weight: var(--weight-bold); }
.vaccine-event__content small { color: #50637d; font-size: var(--text-small); line-height: 1.45; }
.vaccine-age {
  width: fit-content;
  height: fit-content;
  padding: 4px 7px;
  border-radius: 8px;
  color: #5b6879;
  background: #e8edf5;
  font-size: var(--text-small);
  line-height: 1.45;
  font-weight: var(--weight-bold);
  white-space: nowrap;
}
.vaccine-age.next { color: #ffffff; background: var(--blue-dark); box-shadow: 0 3px 9px rgba(30, 83, 164, 0.18); }
.vaccine-empty { display: block !important; color: var(--quiet) !important; }
.health-card .vaccine-verification-note {
  margin-top: 16px;
  padding-top: 13px;
  border-top: 1px solid rgba(35, 72, 125, 0.13);
  color: #4d5d70;
  font-size: var(--text-small);
  line-height: 1.5;
}
.vaccine-verification-note strong { color: var(--ink); }
.vaccine-transition-note {
  margin-top: 10px;
  border: 1px solid rgba(35, 72, 125, 0.11);
  border-radius: 12px;
  background: rgba(248, 250, 254, 0.78);
}
.vaccine-transition-note summary {
  padding: 10px 12px;
  color: var(--accent-strong);
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  cursor: pointer;
}
.vaccine-transition-note p {
  margin: 0;
  padding: 0 12px 12px;
  color: var(--muted);
  font-size: var(--text-body);
  line-height: 1.6;
}
.health-card .vaccine-schedule-source { margin-top: 10px; }
.adult-vaccine-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}
.adult-vaccine-list section {
  min-width: 0;
  padding: 15px;
  border: 1px solid rgba(35, 72, 125, 0.1);
  border-radius: 15px;
  background: rgba(244, 248, 255, 0.84);
}
.adult-vaccine-list h4 { margin: 0 0 7px; color: #344152; font-size: var(--text-card-title); }
.health-card .adult-vaccine-list p { margin: 0 0 8px; color: #566477; font-size: var(--text-body); line-height: 1.6; }
.adult-vaccine-list strong { display: block; color: var(--ink); font-size: var(--text-small); line-height: 1.45; }
.adult-vaccine-list small { display: block; margin-top: 6px; color: #566477; font-size: var(--text-small); line-height: 1.45; }
.adult-vaccine-list .adult-vaccine-risk { grid-column: 1 / -1; border-color: rgba(185, 120, 23, 0.18); background: rgba(255, 247, 229, 0.72); }
.adult-vaccine-risk ul,
.travel-prevention-list {
  display: grid;
  gap: 7px;
  margin: 0;
  padding-left: 19px;
  color: #566477;
  font-size: var(--text-body);
  line-height: 1.6;
}

.vaccine-decision-card {
  min-width: 0;
}
.vaccine-card-heading {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px 16px;
  margin-bottom: 8px;
}
.vaccine-card-heading h3,
.vaccine-card-heading h4 {
  min-width: 0;
  margin: 0;
  color: var(--ink);
  font-size: var(--text-subheading);
  line-height: 1.3;
  letter-spacing: -0.02em;
  overflow-wrap: anywhere;
}
.vaccine-card-heading .status-chip {
  max-width: 100%;
  flex: 0 1 auto;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
}
.vaccine-education {
  min-width: 0;
  margin: 12px 0 14px;
  padding: 16px;
  display: grid;
  gap: 11px;
  border: 1px solid rgba(35, 105, 190, 0.22);
  border-radius: 15px;
  color: #34465d;
  background: rgba(239, 246, 255, 0.78);
}
.vaccine-education > * { min-width: 0; margin: 0; }
.vaccine-education h4 {
  color: var(--ink);
  font-size: var(--text-card-title);
  line-height: 1.35;
  letter-spacing: -0.015em;
}
.vaccine-education p,
.vaccine-education__points span {
  color: #43546a;
  font-size: var(--text-body);
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.vaccine-education__points {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.vaccine-education__points > div {
  min-width: 0;
  padding: 12px;
  display: grid;
  align-content: start;
  gap: 5px;
  border: 1px solid rgba(35, 72, 125, 0.13);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.78);
}
.vaccine-education__points strong {
  color: var(--ink);
  font-size: var(--text-body);
  line-height: 1.45;
}
.vaccine-education .vaccine-education__prompt {
  padding: 11px 12px;
  border-inline-start: 4px solid var(--accent);
  border-radius: 9px;
  color: var(--ink);
  background: rgba(255, 255, 255, 0.88);
  font-size: var(--text-body);
  line-height: 1.55;
}
.vaccine-education .vaccine-education__alert {
  padding: 11px 12px;
  border-inline-start: 4px solid var(--red);
  border-radius: 9px;
  color: #74272d;
  background: rgba(255, 241, 242, 0.92);
  font-size: var(--text-body);
  line-height: 1.6;
}
.vaccine-education__source {
  width: fit-content;
  color: var(--accent-strong);
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  line-height: 1.45;
  text-underline-offset: 3px;
}
.vaccine-record-details {
  min-width: 0;
  margin-top: 15px;
  border: 1px solid rgba(35, 72, 125, 0.16);
  border-radius: 15px;
  background: rgba(247, 250, 255, 0.9);
}
.vaccine-record-details > summary {
  min-width: 0;
  min-height: 52px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 12px;
  align-items: center;
  gap: 7px 10px;
  padding: 11px 13px;
  list-style: none;
  color: var(--ink);
  cursor: pointer;
}
.vaccine-record-details > summary::-webkit-details-marker { display: none; }
.vaccine-record-details > summary:focus-visible {
  outline: 3px solid var(--accent-ring);
  outline-offset: -3px;
  border-radius: 14px;
}
.vaccine-record-details[open] > summary {
  border-bottom: 1px solid rgba(35, 72, 125, 0.12);
  background: rgba(239, 246, 255, 0.76);
}
.vaccine-record-summary-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.vaccine-record-summary-copy strong {
  color: var(--ink);
  font-size: var(--text-body);
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.vaccine-record-summary-copy small {
  color: var(--quiet);
  font-size: var(--text-small);
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.vaccine-record-summary-action {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 9px;
  border: 1px solid var(--accent-border);
  border-radius: 999px;
  color: var(--accent-strong);
  background: white;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  line-height: 1.45;
  text-align: center;
}
.vaccine-record-chevron {
  width: 9px;
  height: 9px;
  border-right: 2px solid var(--accent-strong);
  border-bottom: 2px solid var(--accent-strong);
  transform: rotate(45deg);
  transition: transform 160ms ease;
}
.vaccine-record-details[open] .vaccine-record-chevron { transform: rotate(225deg); }
.vaccine-record-body {
  min-width: 0;
  padding: 14px;
}
.vaccine-record-form {
  min-width: 0;
  display: grid;
  gap: 12px;
}
.vaccine-record-form fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.vaccine-record-fields {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px;
}
.vaccine-record-field {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 6px;
}
.vaccine-record-field > span,
.vaccine-record-field > label,
.vaccine-record-form legend {
  color: #344152;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.vaccine-record-field input,
.vaccine-record-field select,
.vaccine-record-form .input-field input,
.vaccine-record-form .input-field select {
  width: 100%;
  max-width: 100%;
  min-height: 44px;
}
.vaccine-record-field.vaccine-acute-check {
  grid-column: 1 / -1;
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px 11px;
  border: 1px solid rgba(181, 47, 56, 0.24);
  border-radius: 12px;
  color: #7d2930;
  background: rgba(255, 244, 244, 0.8);
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  line-height: 1.45;
}
.vaccine-record-field.vaccine-acute-check input {
  width: 20px;
  min-width: 20px;
  max-width: 20px;
  min-height: 20px;
  margin: 0;
  accent-color: var(--red);
}
.vaccine-record-field.vaccine-acute-check span {
  min-width: 0;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
  overflow-wrap: anywhere;
}
.vaccine-record-form .screening-evaluate,
.vaccine-record-form button[type="submit"] {
  width: min(100%, 340px);
  min-height: 44px;
  justify-self: end;
}
.vaccine-record-evaluation,
.vaccine-card-evaluation {
  min-width: 0;
  max-width: 100%;
  margin-top: 13px;
  overflow-wrap: anywhere;
}
.vaccine-record-evaluation[hidden],
.vaccine-card-evaluation[hidden] { display: none; }
.module-result-note { margin-top: 12px !important; color: #566477 !important; font-size: var(--text-body) !important; line-height: 1.6 !important; }
.result-source-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-top: 12px;
}
.result-source-links a {
  color: var(--accent-strong);
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  overflow-wrap: anywhere;
  text-decoration: none;
}
.result-source-links a:hover { text-decoration: underline; }
.travel-card-details { margin-top: 16px; }
.travel-result-summary {
  display: grid;
  gap: 4px;
  padding: 13px 14px;
  border: 1px solid rgba(35, 72, 125, 0.1);
  border-radius: 14px;
  background: rgba(244, 248, 255, 0.84);
}
.travel-result-summary strong { color: var(--ink); font-size: var(--text-body); line-height: 1.6; overflow-wrap: anywhere; }
.travel-result-summary span { color: #566477; font-size: var(--text-body); line-height: 1.6; }
.result-safety-reminder {
  min-width: 0;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  margin-top: 32px;
  padding: 13px 15px;
  border: 1px solid rgba(161, 36, 36, 0.18);
  border-left: 4px solid #a12424;
  border-radius: 13px;
  color: #6f3030;
  background: rgba(255, 239, 239, 0.78);
}
.result-safety-reminder > * { min-width: 0; }
.result-safety-reminder .safety-symbol {
  width: 30px;
  height: 30px;
  font-size: var(--text-body);
}
.result-safety-reminder h2 {
  margin-top: 3px;
  font-size: var(--text-subheading);
  line-height: 1.3;
}
.result-safety-reminder strong {
  color: #6f2424;
  font-size: var(--text-body);
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.result-safety-reminder p,
.result-safety-reminder span {
  margin: 0;
  font-size: var(--text-body);
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.result-safety-reminder .emergency-link {
  min-height: 44px;
  align-items: center;
  justify-content: center;
}
.optional-travel-plan {
  min-width: 0;
  margin-top: 30px;
  padding-top: 24px;
  border-top: 1px solid rgba(35, 72, 125, 0.12);
}
.optional-plan-inputs {
  min-width: 0;
  display: grid;
  gap: 12px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(35, 72, 125, 0.12);
}
.optional-plan-inputs > .optional-plan-launcher {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.optional-plan-inputs .travel-plan-details {
  border-radius: 14px;
  background: rgba(247, 250, 255, 0.92);
  box-shadow: none;
}
.optional-plan-summary-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.travel-plan-details > summary .optional-plan-summary-copy strong {
  color: var(--ink);
  font-size: var(--text-body);
  line-height: 1.45;
  font-weight: var(--weight-bold);
}
.travel-plan-details > summary .optional-plan-summary-copy small {
  color: var(--quiet);
  font-size: var(--text-small);
  line-height: 1.45;
  font-weight: var(--weight-medium);
  white-space: normal;
}
.optional-travel-plan-heading {
  min-width: 0;
  display: grid;
  gap: 5px;
  margin-bottom: 12px;
  padding-inline: 2px;
}
.optional-travel-plan-heading h2 {
  margin: 0;
  color: var(--ink);
  font-size: var(--text-section);
  line-height: 1.3;
  letter-spacing: -0.02em;
  overflow-wrap: anywhere;
}
.optional-travel-plan-heading p {
  margin: 0;
  color: var(--quiet);
  font-size: var(--text-body);
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.travel-plan-details {
  min-width: 0;
  border: 1px solid rgba(35, 72, 125, 0.16);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: var(--shadow-small);
}
.travel-plan-details > summary {
  min-height: 56px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 14px;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  list-style: none;
  color: var(--ink);
  cursor: pointer;
}
.travel-plan-details > summary::-webkit-details-marker { display: none; }
.travel-plan-details > summary::after {
  content: "";
  width: 11px;
  height: 11px;
  border-right: 3px solid var(--card-heading-accent);
  border-bottom: 3px solid var(--card-heading-accent);
  transform: rotate(45deg);
  transition: transform 160ms ease;
}
.travel-plan-details > summary > * { min-width: 0; }
.travel-plan-details > summary span,
.travel-plan-details > summary strong {
  font-size: var(--text-body);
  line-height: 1.45;
  font-weight: var(--weight-bold);
  overflow-wrap: anywhere;
}
.travel-plan-details > summary small {
  color: #566477;
  font-size: var(--text-small);
  line-height: 1.45;
  font-weight: var(--weight-semibold);
  white-space: nowrap;
}
.travel-plan-details > summary:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: -3px;
  border-radius: 17px;
}
.travel-plan-details[open] > summary {
  border-bottom: 1px solid rgba(35, 72, 125, 0.12);
  background: rgba(239, 246, 255, 0.78);
}
.travel-plan-details[open] > summary::after { transform: rotate(225deg); }
.travel-plan-body {
  min-width: 0;
  padding: 18px;
}
.travel-plan-body > :first-child { margin-top: 0; }
.travel-plan-body .primary-button { margin-top: 16px; }
.travel-results {
  min-width: 0;
  display: grid;
  gap: 16px;
  margin-top: 28px;
  scroll-margin-top: 18px;
}
.travel-results[hidden] { display: none; }
.travel-results > .section-title-row { margin: 0; }
.travel-results > header,
.travel-results-heading {
  min-width: 0;
  display: grid;
  gap: 5px;
}
.travel-results h2,
.travel-results-heading h2 {
  margin: 0;
  font-size: var(--text-section);
  line-height: 1.3;
  letter-spacing: -0.02em;
  overflow-wrap: anywhere;
}
.travel-results .cards-grid { min-width: 0; }
.optional-plan-results {
  min-width: 0;
  display: grid;
  gap: 0;
}
.optional-plan-result-group {
  padding: 20px;
  border: 1px solid rgba(35, 72, 125, 0.14);
  border-radius: 22px;
  background: rgba(248, 251, 255, 0.86);
}
.optional-plan-result-group > .section-title-row p {
  max-width: 620px;
  margin: 5px 0 0;
  color: var(--quiet);
  font-size: var(--text-body);
  line-height: 1.6;
}
.screening-records {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}
.screening-date-entry,
.colonoscopy-entry {
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(35, 72, 125, 0.1);
  border-radius: 14px;
  background: rgba(244, 248, 255, 0.84);
}
.screening-date-choice,
.colonoscopy-date-choice {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.screening-date-choice > legend,
.colonoscopy-date-choice > legend,
.colonoscopy-entry h4 {
  display: block;
  margin: 0 0 10px;
  color: var(--ink);
  font-size: var(--text-card-title);
  font-weight: var(--weight-bold);
  line-height: 1.35;
}
.screening-date-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: end;
  gap: 8px;
}
.screening-date-option {
  min-width: 0;
  display: grid;
  gap: 6px;
  color: #4a596d;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
}
.exact-date-parts,
.month-year-parts {
  min-width: 0;
  display: grid;
  gap: 6px;
}
.exact-date-parts { grid-template-columns: minmax(56px, 0.55fr) minmax(96px, 1.05fr) minmax(72px, 0.72fr); }
.month-year-parts { grid-template-columns: minmax(0, 1fr) minmax(96px, 0.82fr); }
.exact-date-parts label,
.month-year-parts label {
  min-width: 0;
  display: grid;
  gap: 5px;
  color: #4a596d;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
}
.month-year-field {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.month-year-field > legend {
  margin: 0 0 8px;
  padding: 0;
  color: #344152;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
}
.month-year-field > legend em { color: #657286; font-size: var(--text-small); font-style: normal; font-weight: var(--weight-medium); }
.screening-date-fallback {
  margin-top: 8px;
  border-top: 1px dashed rgba(35, 72, 125, 0.18);
}
.screening-date-fallback > summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  padding: 8px 2px;
  color: var(--accent-strong);
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  cursor: pointer;
}
.screening-date-fallback > summary:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
  border-radius: 8px;
}
.screening-date-fallback-controls {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding-bottom: 4px;
}
.screening-date-entry input[type="text"],
.screening-date-entry select,
.colonoscopy-entry input[type="text"],
.colonoscopy-entry select,
.month-year-parts input,
.month-year-parts select {
  min-width: 0;
  width: 100%;
  min-height: 44px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 11px;
  color: var(--ink);
  background: white;
  font: inherit;
  font-size: var(--text-body);
}
.unknown-choice {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 11px;
  color: #4a596d;
  background: rgba(255, 255, 255, 0.78);
  font-size: var(--text-small);
  font-weight: var(--weight-semibold);
  cursor: pointer;
}
.unknown-choice input { width: 17px; height: 17px; margin: 0; }
.screening-result-label,
.colonoscopy-entry > label,
.colonoscopy-fields label {
  display: grid;
  gap: 6px;
  margin-top: 10px;
  color: #4a596d;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
}
.screening-date-entry select,
.colonoscopy-entry select,
.colonoscopy-entry input[type="text"] { width: 100%; }
.screening-input-hint {
  margin: 10px 0 0 !important;
  color: #46566b !important;
  font-size: var(--text-small) !important;
  line-height: 1.5 !important;
}
.screening-input-error {
  color: #9f1239 !important;
  font-weight: var(--weight-bold);
}
.screening-evaluate {
  width: fit-content;
  max-width: 100%;
  min-width: min(100%, 220px);
  min-height: 48px;
  margin: 10px 0 0 auto;
  padding: 8px 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--accent);
  border-radius: 11px;
  color: white;
  background: var(--accent);
  font: inherit;
  font-size: var(--text-body);
  font-weight: var(--weight-bold);
  cursor: pointer;
}
.screening-evaluate:hover:not(:disabled) { background: var(--accent-strong); }
.screening-evaluate:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.screening-evaluate:disabled {
  border-color: #c4ccd7;
  color: #566477;
  background: #edf1f6;
  cursor: not-allowed;
}
.health-card .screening-evaluation,
.oximeter-entry-mount .screening-evaluation {
  display: grid;
  gap: 10px;
  margin-top: 10px;
  padding: 13px 14px;
  border: 1px solid rgba(55, 119, 237, 0.2);
  border-radius: 13px;
  color: #244e86;
  background: rgba(231, 240, 255, 0.78);
  font-size: var(--text-body);
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.screening-evaluation-copy {
  min-width: 0;
  display: grid;
  gap: 5px;
}
.screening-evaluation-copy > strong {
  color: #174f9f;
  font-size: var(--text-card-title);
  line-height: 1.6;
  font-weight: var(--weight-bold);
  letter-spacing: 0.01em;
}
.screening-evaluation-copy > span {
  min-width: 0;
  font-size: var(--text-body);
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.health-card .screening-evaluation.followup,
.oximeter-entry-mount .screening-evaluation.followup {
  border-color: rgba(31, 111, 78, 0.2);
  color: #315f4d;
  background: rgba(229, 246, 238, 0.84);
}
.screening-evaluation.followup .screening-evaluation-copy > strong { color: #1f6f4e; }
.health-card .screening-evaluation.attention,
.oximeter-entry-mount .screening-evaluation.attention {
  border-color: rgba(185, 120, 23, 0.24);
  color: #6f4a12;
  background: rgba(255, 244, 221, 0.9);
}
.screening-evaluation.attention .screening-evaluation-copy > strong { color: #7a4a00; }
.health-card .screening-evaluation.due,
.oximeter-entry-mount .screening-evaluation.due {
  border-color: rgba(161, 36, 36, 0.22);
  color: #7e3030;
  background: rgba(255, 235, 235, 0.9);
}
.screening-evaluation.due .screening-evaluation-copy > strong { color: #a12424; }
.health-card .screening-evaluation[data-action-level]:not([data-action-level="none"]):not([data-action-level="emergency"]),
.oximeter-entry-mount .screening-evaluation[data-action-level]:not([data-action-level="none"]):not([data-action-level="emergency"]) {
  border-color: rgba(64, 82, 105, 0.2);
  color: #405269;
  background: rgba(246, 248, 251, 0.94);
}
.screening-evaluation[data-action-level]:not([data-action-level="none"]):not([data-action-level="emergency"]) .screening-evaluation-copy > strong {
  color: var(--ink);
}
.health-card .screening-evaluation[data-action-level="emergency"],
.oximeter-entry-mount .screening-evaluation[data-action-level="emergency"] {
  border-color: rgba(161, 36, 36, 0.28);
  color: #7e3030;
  background: rgba(255, 235, 235, 0.94);
}
.screening-evaluation[data-action-level="emergency"] .screening-evaluation-copy > strong { color: #a12424; }
.clinical-range-guide,
.clinical-range-context {
  min-width: 0;
  border: 1px solid rgba(64, 82, 105, 0.2);
  border-radius: 12px;
  color: var(--ink);
  background: rgba(255, 255, 255, 0.9);
  overflow: hidden;
}
.clinical-range-summary {
  min-width: 0;
  min-height: 58px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 12px;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  list-style: none;
  color: var(--ink);
  background: rgba(246, 248, 251, 0.94);
  cursor: pointer;
}
.clinical-range-summary::-webkit-details-marker { display: none; }
.clinical-range-guide[open] > .clinical-range-summary {
  border-bottom: 1px solid rgba(64, 82, 105, 0.16);
}
.clinical-range-summary:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: -3px;
}
.clinical-range-summary-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.clinical-range-summary-copy > span {
  color: #566477;
  font-size: var(--text-small);
  line-height: 1.45;
  font-weight: var(--weight-bold);
}
.clinical-range-summary-copy > strong {
  min-width: 0;
  color: var(--ink);
  font-size: var(--text-small);
  line-height: 1.45;
  font-weight: var(--weight-bold);
  overflow-wrap: anywhere;
}
.clinical-range-summary-action {
  min-width: 0;
  max-width: 100%;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 9px;
  border: 1px solid rgba(64, 82, 105, 0.2);
  border-radius: 999px;
  color: #405269;
  background: white;
  font-size: var(--text-small);
  line-height: 1.45;
  font-weight: var(--weight-bold);
  white-space: normal;
  overflow-wrap: anywhere;
}
.clinical-range-summary-action .when-open { display: none; }
.clinical-range-guide[open] .clinical-range-summary-action .when-closed { display: none; }
.clinical-range-guide[open] .clinical-range-summary-action .when-open { display: inline; }
.clinical-range-summary-chevron {
  width: 9px;
  height: 9px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform 160ms ease;
}
.clinical-range-guide[open] .clinical-range-summary-chevron { transform: rotate(225deg); }
.clinical-range-body {
  min-width: 0;
  display: grid;
  gap: 10px;
  padding: 10px 12px 12px;
}
.clinical-range-group {
  min-width: 0;
  display: grid;
  gap: 6px;
}
.clinical-range-group h4 {
  margin: 0;
  color: #405269;
  font-size: var(--text-card-title);
  line-height: 1.4;
  font-weight: var(--weight-bold);
}
.clinical-range-list {
  min-width: 0;
  display: grid;
  gap: 5px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.clinical-range-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(102px, 0.72fr) minmax(0, 1.28fr) auto;
  align-items: center;
  gap: 8px 10px;
  min-height: 44px;
  padding: 7px 9px;
  border: 1px solid rgba(64, 82, 105, 0.14);
  border-inline-start-width: 3px;
  border-radius: 9px;
  color: #405269;
  background: rgba(250, 251, 253, 0.94);
}
.clinical-range-row.is-active {
  border-color: var(--accent);
  border-inline-start-width: 6px;
  color: var(--ink);
  background: var(--accent-soft);
  font-weight: var(--weight-bold);
}
.clinical-range-value {
  min-width: 0;
  font-variant-numeric: tabular-nums;
  font-weight: var(--weight-bold);
  overflow-wrap: anywhere;
}
.clinical-range-name {
  min-width: 0;
  overflow-wrap: anywhere;
}
.clinical-range-current {
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 7px;
  border: 1px solid var(--accent-border);
  border-radius: 999px;
  color: var(--accent-strong);
  background: white;
  font-size: var(--text-small);
  line-height: 1.45;
  font-weight: var(--weight-bold);
  overflow-wrap: anywhere;
}
.clinical-range-note {
  margin: 0;
  color: #566477;
  font-size: var(--text-small);
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.clinical-range-context {
  display: grid;
  gap: 3px;
  padding: 10px 12px;
}
.clinical-range-context > strong {
  color: #405269;
  font-size: var(--text-body);
  line-height: 1.6;
}
.clinical-range-context > span {
  color: var(--ink);
  font-size: var(--text-body);
  line-height: 1.6;
  font-weight: var(--weight-bold);
  overflow-wrap: anywhere;
}
.clinical-range-context > p {
  margin: 1px 0 0;
  color: #566477;
  font-size: var(--text-body);
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.clinical-entry {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(35, 72, 125, 0.18);
  border-radius: 12px;
  background: rgba(250, 252, 255, 0.88);
}
.clinical-entry > summary.clinical-entry-trigger {
  min-height: 44px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 10px;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  list-style: none;
  color: var(--accent-strong);
  background: var(--accent-soft);
  cursor: pointer;
}
.clinical-entry-trigger::-webkit-details-marker { display: none; }
.clinical-entry-trigger-label {
  min-width: 0;
  font-size: var(--text-body);
  line-height: 1.45;
  font-weight: var(--weight-bold);
  overflow-wrap: anywhere;
}
.clinical-entry-trigger-action {
  padding: 5px 8px;
  border: 1px solid var(--accent-border);
  border-radius: 999px;
  color: var(--accent-strong);
  background: white;
  font-size: var(--text-small);
  line-height: 1.45;
  font-weight: var(--weight-bold);
  white-space: nowrap;
}
.clinical-entry-trigger-chevron {
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform 160ms ease;
}
.clinical-entry[open] > .clinical-entry-trigger {
  border-bottom: 1px solid rgba(35, 72, 125, 0.14);
  background: var(--accent-soft);
}
.clinical-entry[open] .clinical-entry-trigger-chevron { transform: rotate(225deg); }
.clinical-secondary > summary {
  min-height: 48px;
  display: flex;
  align-items: center;
  padding: 10px 4px;
  color: var(--accent-strong);
  font-size: var(--text-body);
  font-weight: var(--weight-bold);
  cursor: pointer;
}
.clinical-entry > summary:focus-visible { outline: 3px solid var(--accent); outline-offset: -3px; border-radius: 8px; }
.clinical-secondary > summary:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; border-radius: 8px; }
.clinical-entry-body { padding: 12px; }
.clinical-measurement-date {
  min-width: 0;
  margin: 12px 0 0;
  padding: 11px 12px;
  border: 1px solid rgba(35, 72, 125, 0.14);
  border-radius: 11px;
  background: rgba(244, 248, 255, 0.78);
}
.clinical-measurement-date > legend {
  padding: 0 4px;
  color: var(--accent-strong);
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
}
.clinical-measurement-date input[type="text"],
.clinical-measurement-date select {
  min-width: 0;
  width: 100%;
  min-height: 44px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 11px;
  color: var(--ink);
  background: white;
  font: inherit;
  font-size: var(--text-body);
}
.clinical-measurement-date > p {
  margin: 7px 0 0;
  color: #5d6b7e;
  font-size: var(--text-body);
  line-height: 1.6;
}
.screening-evaluation-copy > .blood-pressure-result-context {
  display: block;
  margin-top: 2px;
  color: #536378;
  font-size: var(--text-body);
  line-height: 1.6;
  font-weight: var(--weight-semibold);
}
.blood-pressure-followup {
  display: grid;
  gap: 4px;
  margin-top: 12px;
  padding: 12px 13px;
  border: 1px solid rgba(35, 72, 125, 0.16);
  border-radius: 11px;
  background: rgba(244, 248, 255, 0.78);
}
.blood-pressure-followup > span {
  color: var(--accent-strong);
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.blood-pressure-followup > strong {
  color: var(--ink);
  font-size: var(--text-card-title);
  line-height: 1.45;
}
.health-card .blood-pressure-followup > p {
  margin: 0;
  color: #536378;
  font-size: var(--text-body);
  line-height: 1.6;
}
.lung-pack-years {
  min-width: 0;
  display: block;
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(35, 72, 125, 0.13);
  border-radius: 11px;
  color: var(--accent-strong);
  background: rgba(244, 248, 255, 0.86);
  font-size: var(--text-small);
  line-height: 1.45;
  font-weight: var(--weight-bold);
  overflow-wrap: anywhere;
}
.health-card .family-context-note {
  margin-top: 12px;
  padding: 10px 12px;
  border-inline-start: 4px solid var(--accent);
  border-radius: 9px;
  background: var(--accent-soft);
  font-size: var(--text-small);
}
.clinical-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 145px), 1fr));
  gap: 10px;
}
.clinical-grid label,
.clinical-unit-static {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 6px;
  color: #4a596d;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
}
.clinical-grid label > span,
.clinical-unit-static > span { min-height: 19px; }
.clinical-grid em { color: #657286; font-size: var(--text-small); font-style: normal; font-weight: var(--weight-medium); }
.clinical-grid input,
.clinical-grid select,
.clinical-unit-static strong,
.clinical-unit-static output {
  min-width: 0;
  width: 100%;
  min-height: 48px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 11px;
  color: var(--ink);
  background: white;
  font: inherit;
  font-size: var(--text-body);
}
.clinical-unit-static strong,
.clinical-unit-static output { display: flex; align-items: center; }
.clinical-wide { grid-column: 1 / -1; }
.clinical-secondary { margin-top: 10px; border-top: 1px dashed rgba(35, 72, 125, 0.18); }
.clinical-secondary > .clinical-grid { padding-bottom: 4px; }
.clinical-checks { display: grid; gap: 8px; margin-top: 10px; }
.clinical-checks label {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 8px 10px;
  border: 1px solid rgba(35, 72, 125, 0.12);
  border-radius: 10px;
  color: #46566b;
  background: white;
  font-size: var(--text-small);
  line-height: 1.45;
}
.clinical-checks input { width: 18px; height: 18px; flex: 0 0 auto; accent-color: var(--accent); }
.clinical-help { margin-top: 10px !important; font-size: var(--text-small) !important; line-height: 1.5 !important; }
.colorectal-protocol {
  display: grid;
  gap: 4px;
  padding: 13px 14px;
  border-left: 4px solid #235fc6;
  border-radius: 10px;
  color: #405269;
  background: rgba(231, 240, 255, 0.72);
  font-size: var(--text-body);
  line-height: 1.6;
}
.colorectal-protocol strong { color: #174f9f; font-size: var(--text-body); }
.colonoscopy-entry { background: rgba(255, 255, 255, 0.72); }
.colonoscopy-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 10px;
}
.colonoscopy-fields[hidden] { display: none; }
.colonoscopy-date-choice { grid-column: 1 / -1; margin-top: 10px; }
.colonoscopy-repeat-date {
  grid-column: 1 / -1;
  min-width: 0;
  margin: 10px 0 0;
  padding: 0;
  border: 0;
}
.colonoscopy-repeat-date > legend {
  margin-bottom: 7px;
  padding: 0;
  color: #4a596d;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
}
.colonoscopy-repeat-date[hidden] { display: none; }
.vaccine-empty-note,
.vaccine-context-note {
  margin: 0 0 12px !important;
  padding: 12px 14px;
  border-radius: 12px;
  color: #46566b !important;
  background: rgba(231, 240, 255, 0.72);
  font-size: var(--text-small) !important;
}
.route-intro {
  min-width: 0;
  margin: 0 0 14px;
  padding: 12px 14px;
  display: grid;
  gap: 4px;
  border: 1px solid var(--route-intro-border);
  border-inline-start-width: 4px;
  border-radius: 12px;
  color: var(--route-intro-fg);
  background: var(--route-intro-bg);
  font-size: var(--text-body);
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.route-intro > * { min-width: 0; margin: 0; }
.route-intro > strong { color: var(--ink); font-size: var(--text-body); line-height: 1.6; }
.route-intro > p,
.route-intro > span { color: var(--route-intro-fg); font-size: var(--text-body); line-height: 1.6; }

.next-action {
  --next-action-fg: var(--route-planned-fg);
  --next-action-bg: var(--route-planned-bg);
  min-width: 0;
  width: 100%;
  margin-top: 12px;
  padding: 14px 16px;
  display: grid;
  gap: 8px;
  border: 1px solid var(--next-action-fg);
  border-inline-start-width: 5px;
  border-radius: 13px;
  color: var(--ink);
  background: var(--next-action-bg);
  overflow-wrap: anywhere;
  word-break: normal;
}
.next-action--emergency {
  --next-action-fg: var(--route-emergency-fg);
  --next-action-bg: var(--route-emergency-bg);
}
.next-action--today {
  --next-action-fg: var(--route-today-fg);
  --next-action-bg: var(--route-today-bg);
}
.next-action--planned {
  --next-action-fg: var(--route-planned-fg);
  --next-action-bg: var(--route-planned-bg);
}
.next-action--routine {
  --next-action-fg: var(--route-routine-fg);
  --next-action-bg: var(--route-routine-bg);
}
.next-action--verify {
  --next-action-fg: var(--route-verify-fg);
  --next-action-bg: var(--route-verify-bg);
}
.next-action--compact {
  margin-top: auto;
  padding: 12px 14px;
}
.next-action--secondary {
  margin-top: 16px;
  padding: 10px 12px;
  gap: 6px;
  border-color: rgba(93, 111, 135, 0.24);
  border-inline-start: 4px solid var(--next-action-fg);
  background: rgba(255, 255, 255, 0.7);
  box-shadow: none;
}
.screening-evaluation .next-action { margin-top: 0; }
.next-action__heading {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 6px 12px;
  flex-wrap: wrap;
}
.next-action__heading > strong {
  min-width: 0;
  color: var(--ink);
  font-size: var(--text-body);
  line-height: 1.45;
  font-weight: var(--weight-bold);
}
.next-action__level {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--next-action-fg);
  font-size: var(--text-body);
  line-height: 1.45;
  font-weight: var(--weight-bold);
}
.next-action__level i {
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  border: 2px solid currentColor;
  border-radius: 50%;
  background: currentColor;
}
.next-action .next-action__instruction {
  min-width: 0;
  margin: 0;
  color: var(--ink);
  font-size: var(--text-card-title);
  line-height: 1.5;
  font-weight: var(--weight-bold);
  overflow-wrap: anywhere;
}
.next-action .next-action__meta {
  min-width: 0;
  margin: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
  color: #405269;
  font-size: var(--text-body);
  line-height: 1.55;
}
.next-action__meta > span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.next-action__meta b { color: var(--next-action-fg); font-weight: var(--weight-bold); }

.cancer-decision {
  --cancer-decision-accent: var(--route-planned-fg);
  --cancer-decision-bg: var(--route-planned-bg);
  min-width: 0;
  margin: 0 0 18px;
  padding: 17px 18px;
  display: grid;
  gap: 14px;
  border: 1px solid var(--cancer-decision-accent);
  border-inline-start-width: 6px;
  border-radius: 16px;
  color: var(--ink);
  background: var(--cancer-decision-bg);
  overflow-wrap: anywhere;
}
.cancer-decision--clinical {
  --cancer-decision-accent: var(--route-today-fg);
  --cancer-decision-bg: var(--route-today-bg);
}
.cancer-decision--verify {
  --cancer-decision-accent: var(--route-verify-fg);
  --cancer-decision-bg: var(--route-verify-bg);
}
.cancer-decision--now {
  --cancer-decision-accent: var(--route-planned-fg);
  --cancer-decision-bg: var(--route-planned-bg);
}
.cancer-decision--followup,
.cancer-decision--not-now {
  --cancer-decision-accent: var(--route-routine-fg);
  --cancer-decision-bg: var(--route-routine-bg);
}
.cancer-decision__heading {
  min-width: 0;
  display: grid;
  gap: 4px;
}
.cancer-decision__heading > span {
  color: var(--cancer-decision-accent);
  font-size: var(--text-small);
  line-height: 1.45;
  font-weight: var(--weight-bold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.cancer-decision__heading > strong {
  color: var(--ink);
  font-size: var(--text-subheading);
  line-height: 1.45;
  font-weight: var(--weight-bold);
}
.cancer-decision__safety {
  margin: -2px 0 0;
  padding: 10px 12px;
  border-radius: 10px;
  color: var(--cancer-decision-accent);
  background: rgba(255, 255, 255, 0.72);
  font-size: var(--text-body);
  line-height: 1.6;
}
.cancer-decision__facts {
  min-width: 0;
  margin: 0;
  display: grid;
  gap: 0;
}
.cancer-decision__facts > div {
  min-width: 0;
  padding: 11px 0;
  display: grid;
  gap: 3px;
  border-top: 1px solid color-mix(in srgb, var(--cancer-decision-accent) 25%, transparent);
}
.cancer-decision__facts dt {
  color: var(--cancer-decision-accent);
  font-size: var(--text-small);
  line-height: 1.45;
  font-weight: var(--weight-bold);
}
.cancer-decision__facts dd {
  min-width: 0;
  margin: 0;
  color: var(--ink);
  font-size: var(--text-card-title);
  line-height: 1.6;
  font-weight: var(--weight-semibold);
  overflow-wrap: anywhere;
}
.cancer-decision__sources {
  min-width: 0;
  padding-top: 2px;
  display: grid;
  gap: 7px;
}
.cancer-decision__sources > strong {
  color: var(--cancer-decision-accent);
  font-size: var(--text-small);
  line-height: 1.45;
}
.cancer-decision__sources > div {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px 12px;
  align-items: baseline;
}
.cancer-decision__sources a {
  min-width: 0;
  color: var(--cancer-decision-accent);
  font-size: var(--text-body);
  line-height: 1.5;
  font-weight: var(--weight-bold);
  overflow-wrap: anywhere;
}
.cancer-decision__source-kind {
  color: var(--muted);
  font-size: var(--text-body);
  line-height: 1.6;
  white-space: nowrap;
}
.next-action .next-action__instruction > strong { font-weight: var(--weight-bold); }
.plan-card-section--maternal .plan-card-section__heading {
  padding: 15px 17px;
  border: 1px solid color-mix(in srgb, var(--accent) 26%, transparent);
  border-inline-start: 5px solid var(--accent);
  border-radius: 16px;
  background: color-mix(in srgb, var(--accent-soft) 72%, white);
}
.plan-card-section--maternal .plan-card-section__heading .eyebrow,
.plan-card-section--maternal .plan-card-section__heading h2 { color: var(--accent-strong); }
.maternal-health-card > p { display: none; }
.maternal-decision {
  --maternal-accent: var(--route-planned-fg);
  --maternal-bg: var(--route-planned-bg);
  min-width: 0;
  display: grid;
  gap: 14px;
  padding: 17px 18px;
  border: 1px solid var(--maternal-accent);
  border-inline-start-width: 6px;
  border-radius: 16px;
  color: var(--ink);
  background: var(--maternal-bg);
  overflow-wrap: anywhere;
}
.screening-records > .cancer-decision:last-child { margin-bottom: 0; }
.maternal-decision--emergency { --maternal-accent: var(--route-emergency-fg); --maternal-bg: var(--route-emergency-bg); }
.maternal-decision--today { --maternal-accent: var(--route-today-fg); --maternal-bg: var(--route-today-bg); }
.maternal-decision--verify { --maternal-accent: var(--route-verify-fg); --maternal-bg: var(--route-verify-bg); }
.maternal-decision--routine { --maternal-accent: var(--route-routine-fg); --maternal-bg: var(--route-routine-bg); }
.maternal-decision__heading { display: grid; gap: 4px; }
.maternal-decision__heading > span {
  color: var(--maternal-accent);
  font-size: var(--text-small);
  line-height: 1.45;
  font-weight: var(--weight-bold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.maternal-decision__heading > strong { color: var(--ink); font-size: var(--text-subheading); line-height: 1.45; font-weight: var(--weight-bold); }
.maternal-decision__facts { min-width: 0; margin: 0; display: grid; }
.maternal-decision__facts > div {
  min-width: 0;
  display: grid;
  gap: 3px;
  padding: 11px 0;
  border-top: 1px solid color-mix(in srgb, var(--maternal-accent) 25%, transparent);
}
.maternal-decision__facts dt { color: var(--maternal-accent); font-size: var(--text-small); line-height: 1.45; font-weight: var(--weight-bold); }
.maternal-decision__facts dd {
  min-width: 0;
  margin: 0;
  color: var(--ink);
  font-size: var(--text-card-title);
  line-height: 1.6;
  font-weight: var(--weight-semibold);
  overflow-wrap: anywhere;
}
.maternal-decision--focused { gap: 12px; }
.maternal-decision__facts--focused > div:first-child dd { font-size: var(--text-card-title); font-weight: var(--weight-bold); }
.maternal-decision--information { gap: 12px; }
.maternal-decision--guide { gap: 10px; padding: 14px; }
.maternal-decision__lead {
  margin: 0;
  color: var(--muted);
  font-size: var(--text-body);
  line-height: 1.6;
  font-weight: var(--weight-semibold);
}
.maternal-decision__route {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.maternal-decision__route > span {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 11px 12px;
  border: 1px solid color-mix(in srgb, var(--maternal-accent) 22%, transparent);
  border-radius: 12px;
  background: color-mix(in srgb, white 76%, var(--maternal-bg));
}
.maternal-decision__route > span:first-child { grid-column: 1 / -1; }
.maternal-decision__route small { color: var(--maternal-accent); font-size: var(--text-small); line-height: 1.45; font-weight: var(--weight-bold); }
.maternal-decision__route strong { color: var(--ink); font-size: var(--text-body); line-height: 1.6; }
.maternal-decision__record { margin: 0; color: var(--muted); font-size: var(--text-body); line-height: 1.6; }
.maternal-decision__record strong { color: var(--ink); }
.maternal-decision__sources { min-width: 0; display: grid; gap: 7px; padding-top: 2px; }
.maternal-decision__sources > strong { color: var(--maternal-accent); font-size: var(--text-small); line-height: 1.45; }
.maternal-decision__sources > div { min-width: 0; display: flex; flex-wrap: wrap; gap: 7px 15px; }
.maternal-decision__sources a { color: var(--maternal-accent); font-size: var(--text-body); line-height: 1.5; font-weight: var(--weight-bold); overflow-wrap: anywhere; }
.maternal-rich-content {
  min-width: 0;
  display: grid;
  gap: 13px;
  padding-top: 2px;
}
.maternal-guidance-list {
  min-width: 0;
  display: grid;
  border: 1px solid color-mix(in srgb, var(--maternal-accent) 22%, transparent);
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.72);
  overflow: hidden;
}
.maternal-guidance-list > header {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 13px;
  background: color-mix(in srgb, var(--maternal-bg) 56%, white);
}
.maternal-guidance-list > header strong { color: var(--ink); font-size: var(--text-body); line-height: 1.6; }
.maternal-guidance-list > header span { color: var(--maternal-accent); font-size: var(--text-body); line-height: 1.6; font-weight: var(--weight-bold); text-align: right; }
.maternal-guidance-list > div {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 12px 13px;
  border-top: 1px solid color-mix(in srgb, var(--maternal-accent) 14%, transparent);
}
.maternal-guidance-list--plain > div:first-child,
.maternal-guidance-list > div:first-child { border-top: 0; }
.maternal-guidance-list > header + div { border-top: 1px solid color-mix(in srgb, var(--maternal-accent) 14%, transparent); }
.maternal-guidance-list > div > strong { color: var(--ink); font-size: var(--text-body); line-height: 1.6; }
.maternal-guidance-list > div > p { margin: 0; color: var(--muted); font-size: var(--text-body); line-height: 1.6; }
.maternal-guidance-list--plain { border-color: rgba(35, 72, 125, 0.13); background: white; }
.maternal-planning-route {
  margin: 0;
  padding: 2px 1px 0;
  color: var(--muted);
  font-size: var(--text-body);
  line-height: 1.6;
}
.maternal-planning-route strong { color: var(--ink); }

.maternal-condition-reminder {
  margin: 0;
  padding: 11px 13px;
  border-inline-start: 4px solid color-mix(in srgb, var(--maternal-accent) 58%, #7c8797);
  border-radius: 10px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.74);
  font-size: var(--text-body);
  line-height: 1.6;
}
.maternal-condition-guide {
  min-width: 0;
  display: grid;
  gap: 9px;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--maternal-accent) 30%, transparent);
  border-inline-start: 5px solid var(--maternal-accent);
  border-radius: 14px;
  background: color-mix(in srgb, var(--maternal-bg) 58%, white);
}
.maternal-condition-guide__header {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.maternal-condition-guide__header > div { min-width: 0; display: grid; gap: 2px; }
.maternal-condition-guide__header span { color: var(--ink); font-size: var(--text-body); line-height: 1.45; font-weight: var(--weight-bold); }
.maternal-condition-guide__header strong { color: var(--maternal-accent); font-size: var(--text-small); line-height: 1.45; }
.maternal-condition-guide__header > b {
  flex: 0 0 auto;
  padding: 5px 9px;
  border-radius: 999px;
  color: var(--maternal-accent);
  background: white;
  font-size: var(--text-small);
  line-height: 1.45;
}
.maternal-condition-list { min-width: 0; display: grid; gap: 7px; }
.maternal-condition-item {
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--maternal-accent) 20%, transparent);
  border-radius: 11px;
  background: white;
  overflow: hidden;
}
.maternal-condition-item > summary {
  min-height: 56px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  cursor: pointer;
  list-style: none;
}
.maternal-condition-item > summary::-webkit-details-marker { display: none; }
.maternal-condition-item > summary::after {
  content: "⌄";
  color: var(--maternal-accent);
  font-size: var(--text-card-title);
  line-height: 1;
  transition: transform 150ms ease;
}
.maternal-condition-item[open] > summary::after { transform: rotate(180deg); }
.maternal-condition-item > summary:focus-visible { outline: 3px solid color-mix(in srgb, var(--maternal-accent) 34%, transparent); outline-offset: -3px; }
.maternal-condition-item > summary > span { min-width: 0; display: grid; gap: 2px; }
.maternal-condition-item > summary strong { color: var(--ink); font-size: var(--text-body); line-height: 1.45; }
.maternal-condition-item > summary small { color: var(--muted); font-size: var(--text-small); line-height: 1.45; }
.maternal-condition-item > summary > b { color: var(--maternal-accent); font-size: var(--text-small); line-height: 1.45; }
.maternal-condition-item__body {
  margin: 0;
  display: grid;
  border-top: 1px solid color-mix(in srgb, var(--maternal-accent) 14%, transparent);
}
.maternal-condition-item__body > div {
  min-width: 0;
  display: grid;
  gap: 3px;
  margin: 0;
  padding: 10px 12px;
  border-top: 1px solid rgba(32, 67, 115, 0.09);
}
.maternal-condition-item__body > div:first-child { border-top: 0; }
.maternal-condition-item__body dt { color: var(--maternal-accent); font-size: var(--text-small); line-height: 1.45; font-weight: var(--weight-bold); }
.maternal-condition-item__body dd { margin: 0; color: var(--muted); font-size: var(--text-body); line-height: 1.6; }
.maternal-condition-item__action { background: color-mix(in srgb, var(--green-soft) 52%, white); }
.maternal-condition-item__action dt,
.maternal-condition-item__action dd { color: #174f3a; }
.maternal-condition-guide__safety {
  margin: 0;
  padding: 10px 11px;
  border-radius: 10px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.74);
  font-size: var(--text-body);
  line-height: 1.6;
}
.maternal-condition-guide > .maternal-source-details { background: rgba(255, 255, 255, 0.76); }

.newborn-roadmap-card { display: grid; gap: 13px; }
.newborn-roadmap-lead { margin: 0; color: var(--muted); font-size: var(--text-body); line-height: 1.55; }
.newborn-roadmap-lead strong { color: var(--ink); }
.newborn-roadmap-sections { display: grid; gap: 8px; }
.newborn-roadmap-section {
  border: 1px solid rgba(32, 67, 115, 0.16);
  border-inline-start: 4px solid #8b9cb2;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.8);
  overflow: clip;
}
.newborn-roadmap-section.is-current { border-inline-start-color: var(--green); background: color-mix(in srgb, var(--green-soft) 58%, white); }
.newborn-roadmap-section.is-next { border-inline-start-color: var(--blue); background: color-mix(in srgb, var(--blue-soft) 48%, white); }
.newborn-roadmap-section > summary {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 13px;
  cursor: pointer;
  list-style: none;
}
.newborn-roadmap-section > summary::-webkit-details-marker { display: none; }
.newborn-roadmap-section > summary span { color: var(--ink); font-size: var(--text-body); line-height: 1.45; font-weight: var(--weight-bold); }
.newborn-roadmap-section > summary b { color: var(--accent-strong); font-size: var(--text-small); line-height: 1.45; text-align: right; }
.newborn-roadmap-section > summary b::after,
.newborn-check-item > summary b::after {
  content: "⌄";
  display: inline-block;
  margin-inline-start: 7px;
  transform-origin: center;
  transition: transform 160ms ease;
}
.newborn-roadmap-section[open] > summary b::after,
.newborn-check-item[open] > summary b::after { transform: rotate(180deg); }
.newborn-roadmap-section > summary:focus-visible,
.newborn-check-item > summary:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 35%, transparent); outline-offset: -3px; }
.newborn-roadmap-section__body { display: grid; gap: 10px; padding: 0 13px 13px; }
.newborn-roadmap-section__body p { margin: 0; color: var(--muted); font-size: var(--text-body); line-height: 1.6; }
.newborn-record-glance { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.newborn-record-glance span { padding: 9px 10px; border: 1px solid rgba(32, 67, 115, 0.14); border-radius: 10px; color: var(--ink); background: white; font-size: var(--text-small); font-weight: var(--weight-bold); }
.newborn-risk-route,
.newborn-weight-result { display: grid; gap: 4px; padding: 11px 12px; border-radius: 11px; }
.newborn-risk-route { border: 1px solid rgba(135, 80, 0, 0.25); color: #704400; background: var(--amber-soft); }
.newborn-weight-result.verify { border: 1px solid rgba(91, 63, 145, 0.25); color: var(--route-verify-fg); background: var(--route-verify-bg); }
.newborn-weight-result.alert { border: 1px solid rgba(181, 47, 56, 0.28); color: #7e242c; background: var(--red-soft); }
.newborn-weight-result.expected { border: 1px solid rgba(31, 116, 79, 0.24); color: var(--green); background: var(--green-soft); }
.newborn-risk-route strong,
.newborn-weight-result strong { color: inherit; font-size: var(--text-body); line-height: 1.6; }
.newborn-risk-route span,
.newborn-weight-result span { color: inherit; font-size: var(--text-body); line-height: 1.6; }
.newborn-risk-note,
.newborn-module-link,
.newborn-route { margin: 0; padding: 10px 11px; border-radius: 10px; background: rgba(255, 255, 255, 0.76); color: var(--muted); font-size: var(--text-body); line-height: 1.6; }
.newborn-module-link strong,
.newborn-route strong { color: var(--ink); }
.newborn-check-list { display: grid; gap: 8px; }
.newborn-check-item { border: 1px solid rgba(32, 67, 115, 0.14); border-radius: 11px; background: white; overflow: clip; }
.newborn-check-item > summary { min-height: 50px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 11px; cursor: pointer; list-style: none; }
.newborn-check-item > summary::-webkit-details-marker { display: none; }
.newborn-check-item > summary span { color: var(--ink); font-size: var(--text-small); line-height: 1.45; font-weight: var(--weight-bold); }
.newborn-check-item > summary b { color: var(--accent-strong); font-size: var(--text-small); line-height: 1.45; text-align: right; }
.newborn-check-item__body { display: grid; gap: 9px; padding: 0 11px 11px; border-top: 1px solid rgba(32, 67, 115, 0.1); }
.newborn-check-item__body p { padding-top: 9px; color: var(--muted); font-size: var(--text-body); line-height: 1.6; }
.newborn-check-item__body p + p { border-top: 1px solid rgba(32, 67, 115, 0.08); }
.newborn-check-item__body strong { color: var(--ink); }
.newborn-check-item__body .newborn-check-action { color: #174f3a; background: color-mix(in srgb, var(--green-soft) 62%, white); }
.newborn-next-action { padding: 11px 12px; border-inline-start: 4px solid var(--blue); border-radius: 10px; color: var(--ink) !important; background: color-mix(in srgb, var(--blue-soft) 62%, white); }
.newborn-next-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.newborn-next-grid > div { display: grid; gap: 4px; padding: 10px 11px; border: 1px solid rgba(32, 67, 115, 0.12); border-radius: 10px; background: white; }
.newborn-next-grid strong { color: var(--ink); font-size: var(--text-small); }
.newborn-next-grid span { color: var(--muted); font-size: var(--text-body); line-height: 1.6; }
.newborn-home-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.newborn-home-grid > div { display: grid; gap: 4px; padding: 10px; border: 1px solid rgba(32, 67, 115, 0.12); border-radius: 10px; background: white; }
.newborn-home-grid strong { color: var(--ink); font-size: var(--text-small); }
.newborn-home-grid span { color: var(--muted); font-size: var(--text-body); line-height: 1.6; }
.newborn-method-sources { border-top: 1px solid rgba(32, 67, 115, 0.12); }
.newborn-method-sources > summary { min-height: 44px; display: flex; align-items: center; color: var(--muted); font-size: var(--text-small); font-weight: var(--weight-bold); cursor: pointer; }
.newborn-source-links { margin: 0 0 4px; }
.newborn-growth-details { display: grid; gap: 11px; }
.newborn-growth-details > .metric-list { margin: 0; }
.maternal-newborn-guide { gap: 10px; }
.maternal-safety-note {
  margin: 0;
  padding: 11px 12px;
  border: 1px solid rgba(177, 43, 43, 0.24);
  border-inline-start: 5px solid #b12b2b;
  border-radius: 12px;
  color: #7d2525;
  background: #fff3f1;
  font-size: var(--text-body);
  line-height: 1.6;
}
.maternal-safety-note strong { color: #7d2525; }
.maternal-roadmap-glance,
.maternal-weight-readings,
.maternal-orientation-readings,
.maternal-vaccine-glance,
.maternal-guide-glance {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.maternal-guide-glance { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.maternal-roadmap-glance > span,
.maternal-weight-readings > span,
.maternal-orientation-readings > span,
.maternal-vaccine-glance > span,
.maternal-guide-glance > span {
  min-width: 0;
  display: grid;
  gap: 3px;
  padding: 11px 12px;
  border: 1px solid color-mix(in srgb, var(--maternal-accent) 24%, transparent);
  border-radius: 12px;
  background: color-mix(in srgb, white 76%, var(--maternal-bg));
}
.maternal-roadmap-glance small,
.maternal-weight-readings small,
.maternal-orientation-readings small,
.maternal-vaccine-glance small,
.maternal-guide-glance small { color: var(--muted); font-size: var(--text-small); line-height: 1.45; }
.maternal-roadmap-glance strong,
.maternal-weight-readings strong,
.maternal-orientation-readings strong,
.maternal-vaccine-glance strong,
.maternal-guide-glance strong { color: var(--ink); font-size: var(--text-body); line-height: 1.45; overflow-wrap: anywhere; }
.maternal-orientation-readings > span { border-color: color-mix(in srgb, var(--accent) 28%, transparent); }
.maternal-calendar__periods { display: grid; grid-template-columns: minmax(0, 1fr); gap: 9px; }
.maternal-time-layer {
  --maternal-time-accent: #566477;
  --maternal-time-bg: #f3f5f7;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--maternal-time-accent) 28%, transparent);
  border-inline-start: 5px solid var(--maternal-time-accent);
  border-radius: 13px;
  background: var(--maternal-time-bg);
  overflow: hidden;
}
.maternal-time-layer--past { --maternal-time-accent: #566477; --maternal-time-bg: #f3f5f7; }
.maternal-time-layer--current { --maternal-time-accent: var(--route-routine-fg); --maternal-time-bg: var(--route-routine-bg); }
.maternal-time-layer--future { --maternal-time-accent: var(--route-planned-fg); --maternal-time-bg: var(--route-planned-bg); }
.maternal-time-layer > summary {
  min-height: 52px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  list-style: none;
  cursor: pointer;
}
.maternal-time-layer > summary::-webkit-details-marker { display: none; }
.maternal-time-layer > summary::after { content: "⌄"; color: var(--maternal-time-accent); font-size: var(--text-card-title); line-height: 1; transition: transform 150ms ease; }
.maternal-time-layer[open] > summary::after { transform: rotate(180deg); }
.maternal-time-layer > summary:focus-visible { outline: 3px solid color-mix(in srgb, var(--maternal-time-accent) 38%, transparent); outline-offset: -3px; }
.maternal-time-layer > summary span { display: flex; align-items: center; gap: 9px; color: var(--ink); font-size: var(--text-card-title); line-height: 1.45; font-weight: var(--weight-bold); }
.maternal-time-layer > summary span::before {
  content: "";
  width: 10px;
  height: 10px;
  flex: 0 0 10px;
  border-radius: 50%;
  background: var(--maternal-time-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--maternal-time-accent) 16%, transparent);
}
.maternal-time-layer > summary b {
  padding: 4px 8px;
  border-radius: 999px;
  color: var(--maternal-time-accent);
  background: color-mix(in srgb, white 82%, var(--maternal-time-bg));
  font-size: var(--text-small);
  line-height: 1.45;
  text-align: right;
}
.maternal-time-layer__body { display: grid; gap: 9px; padding: 11px 14px 13px; border-top: 1px solid color-mix(in srgb, var(--maternal-time-accent) 18%, transparent); }
.maternal-trimester-alert {
  --maternal-alert-fg: #7a4a00;
  --maternal-alert-bg: #fff5df;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--maternal-alert-fg) 30%, transparent);
  border-inline-start: 4px solid var(--maternal-alert-fg);
  border-radius: 11px;
  background: var(--maternal-alert-bg);
  overflow: hidden;
}
.maternal-trimester-alert > summary {
  min-height: 58px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  list-style: none;
  cursor: pointer;
}
.maternal-trimester-alert > summary::-webkit-details-marker { display: none; }
.maternal-trimester-alert > summary::after { content: "⌄"; color: var(--maternal-alert-fg); font-size: var(--text-card-title); line-height: 1; transition: transform 150ms ease; }
.maternal-trimester-alert[open] > summary::after { transform: rotate(180deg); }
.maternal-trimester-alert > summary:focus-visible { outline: 3px solid color-mix(in srgb, var(--maternal-alert-fg) 36%, transparent); outline-offset: -3px; }
.maternal-trimester-alert > summary > span { min-width: 0; display: grid; gap: 3px; }
.maternal-trimester-alert > summary small { color: #725d3b; font-size: var(--text-small); line-height: 1.45; font-weight: var(--weight-bold); }
.maternal-trimester-alert > summary strong { color: var(--ink); font-size: var(--text-body); line-height: 1.6; }
.maternal-trimester-alert > summary > b {
  padding: 4px 8px;
  border-radius: 999px;
  color: var(--maternal-alert-fg);
  background: rgba(255, 255, 255, 0.78);
  font-size: var(--text-body);
  line-height: 1.6;
  text-align: right;
  white-space: nowrap;
}
.maternal-trimester-alert__body { display: grid; gap: 10px; padding: 0 12px 12px; border-top: 1px solid rgba(122, 74, 0, 0.14); }
.maternal-trimester-alert__intro,
.maternal-trimester-alert__note { margin: 0; color: var(--ink); font-size: var(--text-body); line-height: 1.6; }
.maternal-trimester-alert__intro { padding-top: 10px; font-weight: var(--weight-bold); }
.maternal-trimester-alert__list { display: grid; margin: 0; padding: 0; list-style: none; }
.maternal-trimester-alert__list li { display: grid; gap: 4px; padding: 10px 0; border-top: 1px solid rgba(122, 74, 0, 0.14); }
.maternal-trimester-alert__list li:first-child { border-top: 0; }
.maternal-trimester-alert__list strong { color: var(--maternal-alert-fg); font-size: var(--text-body); line-height: 1.6; }
.maternal-trimester-alert__list span { color: var(--ink); font-size: var(--text-body); line-height: 1.6; font-weight: var(--weight-semibold); }
.maternal-trimester-alert__emergency {
  display: grid;
  gap: 4px;
  margin: 0;
  padding: 10px;
  border: 1px solid rgba(177, 43, 43, 0.24);
  border-radius: 9px;
  color: #7d2525;
  background: #fff1f1;
}
.maternal-trimester-alert__emergency strong { font-size: var(--text-body); line-height: 1.6; }
.maternal-trimester-alert__emergency span { font-size: var(--text-body); line-height: 1.6; font-weight: var(--weight-semibold); }
.maternal-trimester-alert__note { color: var(--muted); font-size: var(--text-body); }
.maternal-calendar__note {
  margin: 0;
  padding: 10px 12px;
  border-radius: 11px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.74);
  font-size: var(--text-small);
  line-height: 1.5;
}
.maternal-record-reminder,
.maternal-self-contained-note,
.maternal-where-note {
  margin: 0;
  padding: 11px 12px;
  border-radius: 12px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.68);
  font-size: var(--text-body);
  line-height: 1.6;
}
.maternal-record-reminder { border: 1px solid rgba(171, 105, 15, 0.24); background: #fff8e8; }
.maternal-record-reminder strong,
.maternal-self-contained-note strong,
.maternal-where-note strong { color: var(--ink); }
.maternal-knowledge-details {
  border: 1px solid color-mix(in srgb, var(--maternal-accent) 24%, transparent);
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.7);
  overflow: hidden;
}
.maternal-knowledge-details > summary {
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  color: var(--ink);
  font-size: var(--text-small);
  line-height: 1.45;
  font-weight: var(--weight-bold);
  cursor: pointer;
}
.maternal-knowledge-details > summary { flex-wrap: wrap; }
.maternal-knowledge-details > summary span { min-width: 0; color: var(--maternal-accent); font-size: var(--text-small); white-space: normal; }
.maternal-knowledge-details > summary:focus-visible { outline: 3px solid color-mix(in srgb, var(--maternal-accent) 35%, transparent); outline-offset: -3px; }
.maternal-source-details > summary { list-style: none; }
.maternal-source-details > summary::-webkit-details-marker { display: none; }
.maternal-source-details > summary::after { content: "⌄"; color: var(--maternal-accent); font-size: var(--text-card-title); line-height: 1; transition: transform 150ms ease; }
.maternal-source-details[open] > summary::after { transform: rotate(180deg); }
.maternal-knowledge-details__body { display: grid; gap: 15px; padding: 4px 12px 13px; }
.maternal-timeline-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.maternal-timeline-row { min-width: 0; }
.maternal-timeline-item {
  border: 1px solid rgba(35, 72, 125, 0.13);
  border-inline-start: 4px solid #91a1b6;
  border-radius: 11px;
  background: white;
  overflow: hidden;
}
.maternal-timeline-item--complete,
.maternal-timeline-item--current,
.maternal-timeline-item--recorded { border-inline-start-color: var(--route-routine-fg); background: var(--route-routine-bg); }
.maternal-timeline-item--planned,
.maternal-timeline-item--future { border-inline-start-color: var(--route-planned-fg); background: var(--route-planned-bg); }
.maternal-timeline-item--past,
.maternal-timeline-item--neutral,
.maternal-timeline-item--conditional { border-inline-start-color: #91a1b6; background: #f8fafc; }
.maternal-timeline-item--verify,
.maternal-timeline-item--unknown,
.maternal-timeline-item--action { border-inline-start-color: var(--route-verify-fg); background: var(--route-verify-bg); }
.maternal-timeline-item > summary {
  min-height: 58px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  list-style: none;
  cursor: pointer;
}
.maternal-timeline-item > summary::-webkit-details-marker { display: none; }
.maternal-timeline-item > summary::after { content: "⌄"; color: var(--maternal-accent); font-size: var(--text-card-title); line-height: 1; transition: transform 150ms ease; }
.maternal-timeline-item[open] > summary::after { transform: rotate(180deg); }
.maternal-timeline-item > summary:focus-visible { outline: 3px solid color-mix(in srgb, var(--maternal-accent) 34%, transparent); outline-offset: -3px; }
.maternal-timeline-item__copy { min-width: 0; display: grid; gap: 3px; }
.maternal-timeline-item__copy small { color: var(--muted); font-size: var(--text-small); line-height: 1.45; font-weight: var(--weight-bold); }
.maternal-timeline-item__copy strong { color: var(--ink); font-size: var(--text-body); line-height: 1.45; }
.maternal-timeline-item__meta { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.maternal-timeline-item__meta b,
.maternal-timeline-item__meta em {
  padding: 4px 7px;
  border-radius: 999px;
  color: var(--ink);
  background: rgba(255, 255, 255, 0.72);
  font-size: var(--text-small);
  line-height: 1.45;
  text-align: right;
  font-style: normal;
}
.maternal-timeline-item__meta em { color: var(--maternal-accent); background: color-mix(in srgb, var(--maternal-bg) 72%, white); }
.maternal-timeline-item__body { display: grid; padding: 0 12px 12px; border-top: 1px solid rgba(35, 72, 125, 0.09); }
.maternal-timeline-item__facts { display: grid; gap: 0; margin: 0; }
.maternal-timeline-item__facts > div {
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr);
  gap: 10px;
  margin: 0;
  padding: 10px 0;
  border-top: 1px solid rgba(35, 72, 125, 0.09);
}
.maternal-timeline-item__facts > div:first-child { border-top: 0; }
.maternal-timeline-item__facts dt {
  color: var(--maternal-accent);
  font-size: var(--text-small);
  line-height: 1.45;
  font-weight: var(--weight-bold);
}
.maternal-timeline-item__facts dd {
  min-width: 0;
  margin: 0;
  color: var(--ink);
  font-size: var(--text-body);
  line-height: 1.6;
  font-weight: var(--weight-semibold);
}
.maternal-timeline-item__facts > .maternal-timeline-item__expectation,
.maternal-timeline-item__facts > .maternal-timeline-item__warning,
.maternal-timeline-item__facts > .maternal-timeline-item__action {
  margin-inline: -4px;
  padding-inline: 8px;
  border-radius: 9px;
}
.maternal-timeline-item__facts > .maternal-timeline-item__expectation { background: color-mix(in srgb, var(--route-planned-bg) 72%, white); }
.maternal-timeline-item__facts > .maternal-timeline-item__warning { background: #fff7e7; }
.maternal-timeline-item__facts > .maternal-timeline-item__warning dt { color: #8a5710; }
.maternal-timeline-item__facts > .maternal-timeline-item__action { background: rgba(255, 255, 255, 0.68); }
.maternal-knowledge-section { display: grid; gap: 10px; padding: 13px; border: 1px solid rgba(35, 72, 125, 0.13); border-radius: 13px; background: white; }
.maternal-knowledge-section > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.maternal-knowledge-section > header span { color: var(--ink); font-size: var(--text-body); font-weight: var(--weight-bold); }
.maternal-knowledge-section > header strong { color: var(--maternal-accent); font-size: var(--text-small); text-align: right; }
.maternal-knowledge-section article { display: grid; gap: 7px; padding-top: 10px; border-top: 1px solid rgba(35, 72, 125, 0.1); }
.maternal-knowledge-section article > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.maternal-knowledge-section h4 { margin: 0; color: var(--ink); font-size: var(--text-card-title); }
.maternal-knowledge-section p { margin: 0; color: var(--muted); font-size: var(--text-body); line-height: 1.6; }
.maternal-knowledge-section p strong { color: var(--ink); }
.maternal-mini-status { padding: 4px 7px; border-radius: 999px; color: var(--maternal-accent); background: var(--maternal-bg); font-size: var(--text-small); font-weight: var(--weight-bold); text-align: right; }
.maternal-knowledge-section--routine { border-inline-start: 5px solid var(--route-routine-fg); }
.maternal-knowledge-section--deferred { border-inline-start: 5px solid var(--route-verify-fg); }
.maternal-weight-table { display: grid; min-width: 0; }
.maternal-weight-table > div { display: grid; grid-template-columns: 0.85fr 0.85fr 1.3fr; gap: 8px; padding: 11px 8px; border-top: 1px solid rgba(35, 72, 125, 0.1); border-inline-start: 4px solid transparent; }
.maternal-weight-table > div:first-child { border-top: 0; }
.maternal-weight-table span { min-width: 0; display: grid; gap: 4px; color: var(--muted); font-size: var(--text-body); line-height: 1.45; }
.maternal-weight-table span b { color: var(--ink); font-size: var(--text-body); }
.maternal-weight-table span em { width: fit-content; padding: 3px 7px; border-radius: 999px; color: var(--route-routine-fg); background: var(--route-routine-bg); font-size: var(--text-small); line-height: 1.45; font-style: normal; font-weight: var(--weight-bold); }
.maternal-weight-table span small { display: none; color: var(--muted); font-size: var(--text-small); line-height: 1.45; font-weight: var(--weight-bold); }
.maternal-weight-table__head span { color: var(--ink); font-size: var(--text-small); font-weight: var(--weight-bold); }
.maternal-weight-table > .is-active { border: 1px solid color-mix(in srgb, var(--route-routine-fg) 48%, transparent); border-inline-start: 5px solid var(--route-routine-fg); border-radius: 11px; background: var(--route-routine-bg); }
.maternal-weight-result {
  --weight-result-fg: var(--route-planned-fg);
  --weight-result-bg: var(--route-planned-bg);
  display: grid;
  gap: 7px;
  padding: 14px 15px;
  border: 1px solid color-mix(in srgb, var(--weight-result-fg) 45%, transparent);
  border-inline-start: 5px solid var(--weight-result-fg);
  border-radius: 13px;
  background: var(--weight-result-bg);
}
.maternal-weight-result--within { --weight-result-fg: var(--route-routine-fg); --weight-result-bg: var(--route-routine-bg); }
.maternal-weight-result--below,
.maternal-weight-result--above,
.maternal-weight-result--review { --weight-result-fg: #9a6200; --weight-result-bg: #fff7df; }
.maternal-weight-result--loss_review { --weight-result-fg: #a83232; --weight-result-bg: #fff1ef; }
.maternal-weight-result > span { color: var(--weight-result-fg); font-size: var(--text-small); line-height: 1.45; font-weight: var(--weight-bold); letter-spacing: 0.06em; text-transform: uppercase; }
.maternal-weight-result h4 { margin: 0; color: var(--ink); font-size: var(--text-subheading); line-height: 1.35; }
.maternal-weight-result p { margin: 0; color: var(--ink); font-size: var(--text-body); line-height: 1.6; }
.maternal-weight-scale { display: grid; gap: 8px; padding: 3rem 12px 12px; border: 1px solid rgba(35, 72, 125, 0.14); border-radius: 13px; background: rgba(255, 255, 255, 0.75); }
.maternal-weight-scale__track { position: relative; height: 14px; border: 1px solid rgba(35, 72, 125, 0.18); border-radius: 999px; background: linear-gradient(90deg, #fff0d1 0 33.333%, #dff4e9 33.333% 66.666%, #fff0d1 66.666% 100%); }
.maternal-weight-scale__track::before,
.maternal-weight-scale__track::after { content: ""; position: absolute; inset-block: -3px; width: 1px; background: rgba(35, 72, 125, 0.26); }
.maternal-weight-scale__track::before { left: 33.333%; }
.maternal-weight-scale__track::after { left: 66.666%; }
.maternal-weight-scale__marker { position: absolute; left: var(--maternal-weight-position); top: 50%; width: 18px; height: 18px; transform: translate(-50%, -50%); border: 3px solid white; border-radius: 50%; background: var(--route-planned-fg); box-shadow: 0 0 0 2px rgba(35, 72, 125, 0.25); z-index: 1; }
.maternal-weight-scale[data-relation="within"] .maternal-weight-scale__marker { background: var(--route-routine-fg); }
.maternal-weight-scale[data-relation="below"] .maternal-weight-scale__marker,
.maternal-weight-scale[data-relation="above"] .maternal-weight-scale__marker,
.maternal-weight-scale[data-relation="review"] .maternal-weight-scale__marker { background: #9a6200; }
.maternal-weight-scale[data-relation="loss_review"] .maternal-weight-scale__marker { background: #a83232; }
.maternal-weight-scale__marker b { position: absolute; left: 50%; bottom: 20px; transform: translateX(-50%); padding: 3px 6px; border-radius: 7px; color: white; background: var(--ink); font-size: var(--text-small); line-height: 1.45; white-space: nowrap; }
.maternal-weight-scale__labels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; }
.maternal-weight-scale__labels span { color: var(--muted); font-size: var(--text-small); line-height: 1.45; text-align: center; font-weight: var(--weight-bold); }
.maternal-weight-scale > p { margin: 0; color: var(--muted); font-size: var(--text-body); line-height: 1.6; text-align: center; }
.maternal-bmi-context { margin: 0; padding: 11px 12px; border-radius: 11px; color: var(--muted); background: rgba(255, 255, 255, 0.72); font-size: var(--text-small); line-height: 1.55; }
.maternal-bmi-context strong { color: var(--ink); }
.empty-state { grid-column: 1 / -1; padding: 44px; text-align: center; color: var(--muted); }

.home-measurement-guides {
  margin-top: 36px;
}
.home-guides-list {
  display: grid;
  gap: 18px;
}
.measurement-guide-accordion > summary h3 {
  margin: 0;
  color: var(--ink);
  font-size: var(--text-card-title);
  line-height: 1.35;
  letter-spacing: -0.02em;
}
.guide-clinical-link {
  justify-self: start;
  padding: 10px 14px;
  border: 1px solid currentColor;
  border-radius: 10px;
  background: #fff;
  color: var(--nav-guide);
  font: inherit;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  text-align: left;
  cursor: pointer;
}
.guide-clinical-link:focus-visible { outline: 3px solid var(--nav-guide); outline-offset: 3px; }
.measurement-guide {
  margin: 0;
  padding: 30px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
  background: #fff;
}
.guide-heading { display: flex; align-items: center; gap: 13px; }
.guide-heading > div { min-width: 0; }
.guide-icon {
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: white;
  background: var(--accent);
}
.guide-heading h2 {
  margin: 0;
  color: var(--nav-guide);
  font-size: var(--text-section);
  font-weight: var(--weight-bold);
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.guide-instructions { min-width: 0; }
.guide-intro { margin: 0 0 12px; color: var(--muted); font-size: var(--text-body); line-height: 1.6; }
.glucose-icon { background: #18a277; }
.oximeter-icon {
  background: #16799f;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  letter-spacing: -0.02em;
}
.guide-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.guide-steps li { color: var(--muted); font-size: var(--text-body); line-height: 1.6; }
.guide-steps span { display: block; margin-bottom: 6px; color: var(--ink); font-size: var(--text-card-title); font-weight: var(--weight-bold); }
.measurement-guide > p { grid-column: 1; margin: 0; color: var(--muted); font-size: var(--text-body); line-height: 1.6; }
.guide-notes {
  grid-column: 1;
  display: grid;
  gap: 8px;
  margin-top: -7px;
}
.guide-notes p {
  margin: 0;
  color: var(--muted);
  font-size: var(--text-body);
  line-height: 1.6;
}
.guide-notes strong { color: var(--ink); }
.guide-notes .guide-safety {
  padding: 10px 12px;
  border: 1px solid rgba(234, 106, 106, 0.22);
  border-radius: 12px;
  color: #755252;
  background: rgba(255, 239, 239, 0.72);
}
.oximeter-entry-mount {
  min-width: 0;
  grid-column: 1 / -1;
  display: grid;
  gap: 10px;
  padding-top: 2px;
}
.oximeter-entry {
  background: rgba(255, 255, 255, 0.82);
}
.oximeter-time output {
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.oximeter-entry-mount .screening-evaluation {
  margin-top: 0;
}

.safety-stop {
  display: flex;
  gap: 20px;
  padding: 28px;
  border: 1px solid #f2cccc;
  border-radius: 24px;
  background: rgba(255, 243, 243, 0.9);
  box-shadow: var(--shadow-small);
}
.safety-symbol {
  width: 46px;
  height: 46px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: white;
  background: var(--red);
  font-size: var(--text-section);
  font-weight: var(--weight-bold);
}
.safety-stop .card-kicker { color: var(--red); }
.safety-stop h2 { margin-top: 6px; }
.safety-stop p { max-width: 680px; margin: 8px 0 17px; color: #795555; line-height: 1.6; }
.emergency-link {
  display: inline-flex;
  padding: 10px 15px;
  border-radius: 11px;
  color: white;
  background: var(--red);
  text-decoration: none;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
}

.medical-footer {
  margin-top: 28px;
  padding: 20px 22px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: var(--text-body);
  line-height: 1.6;
}
.medical-footer > div:first-child { max-width: 650px; }
.medical-footer strong { color: var(--ink); }
.source-links { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 7px 12px; }
.source-links span { width: 100%; color: var(--quiet); text-align: right; }
.source-links a { color: var(--accent-strong); text-decoration: none; font-weight: var(--weight-semibold); }
.source-links a:hover { text-decoration: underline; }

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  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;
}

.drawing-launcher {
  position: fixed;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  z-index: 30;
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 7px 15px 7px 7px;
  border: 1px solid var(--accent-border);
  border-radius: 999px;
  color: var(--accent-strong);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 13px 34px rgba(36, 75, 139, 0.2);
  backdrop-filter: blur(16px);
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  cursor: pointer;
}
.drawing-launcher:hover { transform: translateY(-2px); box-shadow: 0 16px 40px rgba(36, 75, 139, 0.24); }
body.drawing-open .drawing-launcher { opacity: 0; visibility: hidden; pointer-events: none; }
.drawing-launcher-icon {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: white;
  background: linear-gradient(145deg, #5f93f2, #2f70e5);
  font-size: var(--text-subheading);
}

.drawing-overlay {
  position: fixed;
  inset: 0;
  width: 100vw;
  max-width: none;
  height: 100dvh;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  overflow: hidden;
  background: transparent;
}
.drawing-overlay:not([open]) { display: none; }
.drawing-overlay::backdrop { background: transparent; }
.drawing-panel {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100dvh;
  overflow: hidden;
  isolation: isolate;
}

.drawing-toolbar {
  position: fixed;
  top: max(12px, env(safe-area-inset-top));
  left: 50%;
  z-index: 3;
  width: max-content;
  max-width: calc(100% - 16px);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 6px;
  border: 1px solid rgba(137, 155, 180, 0.34);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(19, 42, 75, 0.14);
  transform: translateX(-50%);
}
.drawing-actions { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; justify-content: center; }
.drawing-tool,
.drawing-actions button {
  min-height: 44px;
  flex: 0 0 auto;
  padding: 0 8px;
  border: 1px solid #d7e0ea;
  border-radius: 9px;
  color: #334155;
  background: white;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
  cursor: pointer;
}
.drawing-tool { display: inline-flex; align-items: center; gap: 6px; }
.drawing-tool.active { border-color: #77a5f3; color: #1455bd; background: #eef5ff; box-shadow: inset 0 0 0 1px rgba(55, 119, 237, 0.1); }
.drawing-color-control {
  min-height: 44px;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 4px;
  padding: 0 4px 0 8px;
  border: 1px solid #d7e0ea;
  border-radius: 9px;
  color: #64748b;
  background: white;
  font-size: var(--text-small);
  font-weight: var(--weight-bold);
}
.drawing-color-control input {
  width: 32px;
  height: 42px;
  padding: 2px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  cursor: pointer;
}
.drawing-actions button:disabled { opacity: 0.45; cursor: not-allowed; }
.drawing-actions .drawing-close { color: #243247; background: #f6f8fb; }

.drawing-canvas {
  position: fixed;
  inset: 0;
  z-index: 1;
  display: block;
  width: 100vw;
  height: 100dvh;
  touch-action: none;
  cursor: crosshair;
}
.drawing-canvas.drawing-active { cursor: none; }

@media (max-width: 1024px) {
  :root { --layout-gutters: 48px; }
}

@media (max-width: 920px) {
  .intake-shell { padding-top: 18px; }
  .measurement-guide { grid-template-columns: 1fr; }
  .measurement-guide > p { grid-column: 1; }
  .guide-notes { grid-column: 1; }
}

@media (max-width: 640px) {
  :root { --layout-gutters: 24px; }
  .topbar { min-height: 68px; height: auto; }
  .brand { gap: 8px; font-size: 1.25rem; }
  .brand-mark { width: 2.5rem; height: 2.5rem; }
  .topbar .prototype-pill { margin-left: auto; }
  .prototype-pill { font-size: var(--text-small); padding: 7px 9px; }
  .intake-shell { padding: 16px 0 22px; }
  .form-card { padding: 22px 18px; border-radius: 24px; }
  .form-heading--compact h1 { font-size: var(--text-section); }
  .two-column-fields { grid-template-columns: 1fr; }
  .maternal-plan-launcher { grid-column: 1; margin-top: 0; }
  .maternal-plan-launcher__button { min-height: 48px; padding: 10px 12px; }
  .compact-field { margin-top: 2px; }
  .compact-field .choice-row { margin-top: 0; }
  .measurement-section { padding: 18px; }
  .measurement-fields { grid-template-columns: 1fr; }
  .newborn-context-heading { align-items: flex-start; flex-direction: column; gap: 3px; }
  .newborn-context-heading span { text-align: left; }
  .newborn-record-glance,
  .newborn-home-grid,
  .newborn-next-grid { grid-template-columns: 1fr; }
  .newborn-roadmap-section > summary { align-items: flex-start; flex-direction: column; gap: 4px; }
  .newborn-roadmap-section > summary b { text-align: left; }
  .child-followup-section > summary,
  .child-followup-focus header { align-items: flex-start; flex-direction: column; gap: 4px; }
  .child-followup-section > summary b,
  .child-followup-focus header b { text-align: left; }
  .child-preventive-assessments__heading,
  .child-preventive-assessments li > header { flex-direction: column; gap: 4px; }
  .child-preventive-assessments__heading b,
  .child-preventive-assessments li > header span { max-width: none; text-align: left; }
  .child-physical-topic > header { flex-direction: column; gap: 4px; }
  .child-physical-topic > header span { max-width: none; text-align: left; }
  .subsection-heading { flex-direction: column; gap: 9px; }
  .check-grid { grid-template-columns: 1fr; }
  .module-fields, .module-check-grid { grid-template-columns: 1fr; }
  .maternal-stage-options { grid-template-columns: 1fr; }
  .maternal-orientation-fields { grid-template-columns: 1fr; }
  .maternal-orientation-panel { padding: 14px 12px; }
  .maternal-record-field { grid-template-columns: 1fr; gap: 7px; }
  .maternal-record-field select { font-size: var(--text-body); }
  .maternal-roadmap-glance,
  .maternal-weight-readings,
  .maternal-orientation-readings,
  .maternal-vaccine-glance,
  .maternal-guide-glance,
  .maternal-decision__route { grid-template-columns: 1fr; }
  .maternal-decision__route > span:first-child { grid-column: 1; }
  .maternal-knowledge-section > header,
  .maternal-knowledge-section article > div { align-items: flex-start; flex-direction: column; }
  .maternal-time-layer > summary { grid-template-columns: minmax(0, 1fr) auto; align-items: start; }
  .maternal-time-layer > summary b { grid-column: 1; text-align: left; }
  .maternal-time-layer > summary::after { grid-column: 2; grid-row: 1; }
  .maternal-trimester-alert > summary { grid-template-columns: minmax(0, 1fr) auto; align-items: start; }
  .maternal-trimester-alert > summary > b { grid-column: 1; text-align: left; white-space: normal; }
  .maternal-trimester-alert > summary::after { grid-column: 2; grid-row: 1; }
  .maternal-condition-guide__header { align-items: flex-start; }
  .maternal-condition-guide__header > b { white-space: nowrap; }
  .maternal-condition-item > summary { grid-template-columns: minmax(0, 1fr) auto; align-items: start; }
  .maternal-condition-item > summary > b { grid-column: 1; text-align: left; }
  .maternal-condition-item > summary::after { grid-column: 2; grid-row: 1; }
  .maternal-knowledge-section > header strong,
  .maternal-mini-status { text-align: left; }
  .maternal-timeline-item > summary { grid-template-columns: minmax(0, 1fr) auto; align-items: start; }
  .maternal-timeline-item > summary::after { grid-column: 2; grid-row: 1; }
  .maternal-timeline-item__copy { grid-column: 1; grid-row: 1; }
  .maternal-timeline-item__meta { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; }
  .maternal-timeline-item__meta b,
  .maternal-timeline-item__meta em { text-align: left; }
  .maternal-timeline-item__facts > div { grid-template-columns: 1fr; gap: 4px; }
  .maternal-timeline-item__facts dt { font-size: var(--text-small); }
  .maternal-timeline-item__facts dd { font-size: var(--text-body); }
  .maternal-weight-table__head { display: none !important; }
  .maternal-weight-table > div { grid-template-columns: 1fr; gap: 8px; padding: 13px 12px; }
  .maternal-weight-table span { font-size: var(--text-body); }
  .maternal-weight-table span small { display: block; }
  .maternal-weight-result h4 { font-size: var(--text-subheading); }
  .maternal-weight-scale { padding-inline: 8px; }
  .maternal-weight-scale__labels span { font-size: var(--text-small); }
  .maternal-health-view { padding-top: 22px; }
  .maternal-health-view-header { margin-bottom: 18px; }
  .maternal-health-view-header .maternal-view-back { margin-bottom: 22px; }
  .maternal-health-view-header h1 { font-size: var(--text-page); }
  .maternal-health-view-header p { font-size: var(--text-body); }
  .maternal-health-view-actions { grid-template-columns: 1fr; }
  .maternal-plan-results { margin-top: 22px; }
  .family-history-question select,
  .family-history-details input,
  .family-history-details select { font-size: var(--text-body); }
  .vaccine-record-fields { grid-template-columns: 1fr; }
  .vaccine-education { padding: 14px; }
  .vaccine-education__points { grid-template-columns: 1fr; }
  .vaccine-card-heading { align-items: stretch; flex-direction: column; }
  .vaccine-card-heading .status-chip { align-self: flex-start; }
  .vaccine-record-field input,
  .vaccine-record-field select,
  .vaccine-record-form .input-field input,
  .vaccine-record-form .input-field select { font-size: var(--text-body); }
  .clinical-grid { grid-template-columns: 1fr; }
  .cancer-decision { padding: 15px 14px; }
  .cancer-decision__heading > strong { font-size: var(--text-subheading); }
  .cancer-decision__facts dd { font-size: var(--text-body); }
  .cancer-decision__sources > div { grid-template-columns: 1fr; gap: 4px; }
  .cancer-decision__source-kind { margin-bottom: 4px; white-space: normal; }
  .maternal-decision { padding: 15px 14px; }
  .maternal-decision__heading > strong { font-size: var(--text-subheading); }
  .maternal-decision__facts dd { font-size: var(--text-body); }
  .clinical-wide { grid-column: 1; }
  .urgent-symptoms-alert { align-items: flex-start; margin-bottom: 16px; padding: 9px 10px; }
  .urgent-alert-copy { display: grid; gap: 2px; }
  .travel-place-listbox { max-height: 200px; }
  .result-safety-reminder { margin-top: 26px; padding: 12px 13px; }
  .optional-travel-plan { margin-top: 26px; padding-top: 20px; }
  .optional-plan-inputs { gap: 10px; margin-top: 16px; padding-top: 16px; }
  .optional-plan-inputs > .optional-plan-launcher { margin: 0; padding: 0; }
  .travel-plan-details > summary { min-height: 52px; padding: 11px 14px; }
  .travel-plan-body { padding: 14px; }
  .travel-results { margin-top: 24px; }
  .optional-plan-result-group { padding: 15px; border-radius: 18px; }
  .travel-results h2,
  .travel-results-heading h2 { font-size: var(--text-section); }
  .form-actions { grid-template-columns: 1fr; margin-top: 16px; }
  .module-wide { grid-column: 1; }
  .conditional-details { padding: 14px; }
  .results-shell { padding-top: 18px; }
  .results-header { align-items: flex-start; flex-direction: column; gap: 18px; padding-top: 18px; }
  .results-header h2 { font-size: var(--text-page); }
  .plan-card-section:not(:first-child) { margin-top: 10px; padding-top: 24px; }
  .plan-card-section__heading h2 { font-size: var(--text-section); }
  .plan-card-section__heading p { font-size: var(--text-body); }
  .measurement-summary-heading { align-items: flex-start; flex-direction: column; gap: 5px; }
  .measurement-summary-heading h2 { font-size: var(--text-section); }
  .plan-score { width: 110px; min-height: 92px; height: auto; flex-basis: auto; border-radius: 25px; }
  .plan-score span { font-size: 2rem; }
  .plan-score small { max-width: 100%; text-align: center; }
  .health-card, .health-card.wide-card, .health-card.full-card { min-height: 0; }
  .metric-list { grid-template-columns: 1fr; }
  .development-milestones { grid-template-columns: 1fr; }
  .diagnosis-guidance-list { grid-template-columns: 1fr; }
  .vaccine-timeline { grid-template-columns: 1fr; }
  .adult-vaccine-list { grid-template-columns: 1fr; }
  .adult-vaccine-list .adult-vaccine-risk { grid-column: 1; }
  .screening-date-controls { grid-template-columns: 1fr; align-items: stretch; }
  .screening-date-fallback-controls { grid-template-columns: 1fr; }
  .screening-date-entry input[type="text"], .unknown-choice { width: 100%; }
  .colonoscopy-fields { grid-template-columns: 1fr; }
  .colonoscopy-date-choice, .colonoscopy-fields label:last-child { grid-column: 1; }
  .section-title-row { align-items: flex-start; flex-direction: column; gap: 7px; }
  .filter-bar {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2px;
    overflow: visible;
  }
  .filter-bar > .filter-button {
    min-width: 0;
    min-height: 44px;
    padding: 8px 2px;
    font-size: var(--text-small);
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .home-measurement-guides { margin-top: 28px; }
  .home-guides-heading h2 { font-size: var(--text-section); }
  .measurement-guide { padding: 22px; }
  .guide-heading h2 { font-size: var(--text-subheading); }
  .guide-steps { grid-template-columns: 1fr; gap: 17px; }
  .guide-steps li { display: block; }
  .guide-steps span { margin: 0 0 6px; }
  .oximeter-steps li {
    display: block;
    align-items: start;
    gap: 12px;
  }
  .oximeter-steps li > span { min-width: 0; overflow-wrap: anywhere; }
  .safety-stop { padding: 22px; flex-direction: column; }
  .medical-footer { flex-direction: column; }
  .source-links { justify-content: flex-start; }
  .source-links span { text-align: left; }
  .drawing-launcher { right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); }
  .drawing-toolbar {
    top: max(8px, env(safe-area-inset-top));
    border-radius: 12px;
  }
}

@media (max-width: 360px) {
  .oximeter-steps li { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .oximeter-steps li > span { margin-bottom: 2px; }
  .birth-date-inputs { gap: 6px; }
  .input-field .birth-date-control input { padding-inline: 7px 22px; }
  .birth-date-caret { right: 6px; }
  .birth-date-listbox { max-height: 152px; }
  .exact-date-parts {
    grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.15fr) minmax(0, 0.85fr);
    gap: 4px;
  }
  .exact-date-parts select,
  .exact-date-parts input { padding-inline: 6px; }
}

@media (max-width: 420px) {
  .result-card-accordion > summary {
    min-height: 72px;
    grid-template-columns: minmax(0, 1fr) 14px;
    gap: 8px 10px;
    padding: 14px;
  }
  .result-card-accordion__copy strong { font-size: var(--text-card-title); }
  .result-card-accordion__copy small { font-size: var(--text-small); }
  .result-card-accordion__chevron {
    grid-column: 2;
    grid-row: 1;
  }
  .month-year-parts { grid-template-columns: 1fr; }
  .bmi-summary-card { padding: 18px; }
  .clinical-range-summary {
    grid-template-columns: minmax(0, 1fr) 12px;
    gap: 6px 8px;
    padding-inline: 10px;
  }
  .clinical-range-summary-action {
    grid-column: 1;
    grid-row: 2;
    justify-self: start;
  }
  .clinical-range-summary-chevron {
    grid-column: 2;
    grid-row: 1 / span 2;
  }
  .clinical-range-body { padding: 9px 10px 10px; }
  .clinical-range-row {
    grid-template-columns: minmax(82px, 0.72fr) minmax(0, 1.28fr);
    gap: 6px 9px;
  }
  .clinical-range-current { grid-column: 1 / -1; justify-self: start; }
  .bmi-waist-summary > div { display: grid; grid-template-columns: 1fr; }
  .urgent-symptoms-alert { gap: 7px; }
  .urgent-alert-symbol { width: 20px; height: 20px; flex-basis: 20px; font-size: var(--text-body); }
  .route-intro,
  .next-action,
  .next-action--compact { padding: 12px; }
  .next-action__heading { display: grid; grid-template-columns: minmax(0, 1fr); }
  .travel-plan-details > summary {
    grid-template-columns: minmax(0, 1fr) 12px;
    gap: 4px 8px;
    padding-inline: 12px;
  }
  .travel-plan-details > summary small {
    grid-column: 1;
    grid-row: 2;
    justify-self: start;
    white-space: normal;
  }
  .travel-plan-details > summary::after {
    grid-column: 2;
    grid-row: 1 / span 2;
  }
  .vaccine-record-details > summary {
    grid-template-columns: minmax(0, 1fr) 12px;
    gap: 5px 8px;
    padding-inline: 11px;
  }
  .vaccine-record-summary-action {
    grid-column: 1;
    grid-row: 2;
    justify-self: start;
    white-space: normal;
  }
  .vaccine-record-chevron {
    grid-column: 2;
    grid-row: 1 / span 2;
  }
  .vaccine-record-form .screening-evaluate,
  .vaccine-record-form button[type="submit"] {
    width: 100%;
    justify-self: stretch;
  }
  .clinical-entry > summary.clinical-entry-trigger { gap: 6px; padding-inline: 8px; }
  .clinical-entry-trigger-label { font-size: var(--text-small); }
  .clinical-entry-trigger-action { padding-inline: 7px; }
  .vaccine-timeline li { grid-template-columns: 1fr; }
  .vaccine-age { white-space: normal; }
}

@media (max-width: 240px) {
  .result-safety-reminder { padding: 10px; }
  .bmi-summary-card,
  .bmi-weight-reference,
  .bmi-waist-summary,
  .cardiometabolic-context { padding: 10px; }
  .bmi-weight-reference > strong { font-size: var(--text-subheading); }
  .bmi-summary-card .bmi-reading { flex-direction: column; align-items: flex-start; gap: 4px; }
  .bmi-summary-card .bmi-reading strong { font-size: 2rem; }
  .bmi-reading span { padding-bottom: 0; }
  .clinical-range-summary,
  .clinical-range-body,
  .clinical-range-context { padding: 10px; }
  .clinical-range-summary-copy > strong { display: grid; }
  .clinical-range-row { grid-template-columns: 1fr; }
  .clinical-range-current { grid-column: 1; justify-self: stretch; }
  .route-intro,
  .next-action,
  .next-action--compact { padding: 10px; }
  .optional-travel-plan { padding-top: 16px; }
  .travel-plan-details > summary { padding-inline: 10px; }
  .travel-plan-body { padding: 10px; }
  .vaccine-record-details > summary { padding: 10px; }
  .vaccine-record-body { padding: 10px; }
  .vaccine-record-summary-action {
    grid-column: 1 / -1;
    grid-row: 2;
  }
  .vaccine-record-chevron {
    grid-column: 2;
    grid-row: 1;
  }
  .clinical-entry > summary.clinical-entry-trigger {
    grid-template-columns: minmax(0, 1fr) 10px;
  }
  .clinical-entry-trigger-action {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: start;
  }
  .clinical-entry-trigger-chevron {
    grid-column: 2;
    grid-row: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

@media (forced-colors: active) {
  .growth-percentile-row,
  .growth-percentile-track,
  .growth-percentile-marker,
  .growth-percentile-marker::after,
  .growth-percentile-marker-label {
    border-color: CanvasText;
    background: Canvas;
    color: CanvasText;
  }
  .growth-percentile-track {
    background: linear-gradient(to right, Canvas 0 var(--growth-lower), Highlight var(--growth-lower) var(--growth-upper), Canvas var(--growth-upper) 100%);
  }
  .growth-percentile-marker,
  .growth-percentile-marker::after { background: Highlight; }
  .family-history-question select,
  .family-history-details,
  .family-history-details input,
  .family-history-details select,
  .family-history-check,
  .plan-card-section,
  .plan-card-section--urgent .plan-card-section__heading,
  .clinical-entry,
  .clinical-measurement-date,
  .blood-pressure-followup,
  .lung-pack-years,
  .family-history-result-summary li {
    border-color: CanvasText;
    background: Canvas;
    color: CanvasText;
  }
  .cancer-decision,
  .cancer-decision__safety {
    border-color: CanvasText;
    background: Canvas;
    color: CanvasText;
  }
  .cancer-decision__heading > span,
  .cancer-decision__heading > strong,
  .cancer-decision__facts dt,
  .cancer-decision__facts dd,
  .cancer-decision__sources > strong,
  .cancer-decision__sources a,
  .cancer-decision__source-kind {
    color: CanvasText;
  }
  .clinical-entry > summary.clinical-entry-trigger,
  .clinical-entry[open] > .clinical-entry-trigger,
  .clinical-entry-trigger-action,
  .family-context-note {
    border-color: CanvasText;
    background: Canvas;
    color: CanvasText;
  }
  .result-card-accordion > summary:focus-visible { outline-color: Highlight; }
  .result-card-accordion__chevron,
  .travel-plan-details > summary::after { border-color: ButtonText; }
  .bmi-weight-reference,
  .cardiometabolic-context {
    border: 1px solid CanvasText;
    background: Canvas;
    color: CanvasText;
  }
  .bmi-reading-classification,
  .bmi-weight-reference > strong,
  .cardiometabolic-context__eyebrow,
  .cardiometabolic-context > strong,
  .cardiometabolic-context > p { color: CanvasText; }
  .bmi-scale-track { border: 1px solid CanvasText; }
  .bmi-scale-segment { border-right: 1px solid CanvasText; }
  .bmi-scale-marker { border-top-color: CanvasText; }
  .bmi-scale-key.is-active { border: 2px solid Highlight; }
  .bmi-scale-dot { border: 1px solid CanvasText; }
  .clinical-range-guide,
  .clinical-range-context {
    border: 2px solid CanvasText;
    background: Canvas;
    color: CanvasText;
  }
  .clinical-range-summary,
  .clinical-range-summary-copy > span,
  .clinical-range-summary-copy > strong,
  .clinical-range-group h4,
  .clinical-range-note,
  .clinical-range-context > strong,
  .clinical-range-context > span,
  .clinical-range-context > p {
    color: CanvasText;
    background: Canvas;
  }
  .clinical-range-summary-action {
    border-color: ButtonText;
    color: ButtonText;
    background: ButtonFace;
  }
  .clinical-range-summary-chevron { border-color: CanvasText; }
  .clinical-range-row.is-active {
    border: 2px solid CanvasText;
    border-inline-start-width: 6px;
    background: Canvas;
    color: CanvasText;
  }
  .clinical-range-current {
    border: 1px solid CanvasText;
    color: CanvasText;
    background: Canvas;
  }
  .route-intro,
  .next-action {
    border: 2px solid CanvasText;
    background: Canvas;
    color: CanvasText;
  }
  .next-action__level,
  .next-action__heading > strong,
  .next-action .next-action__instruction,
  .next-action .next-action__meta,
  .next-action__meta b { color: CanvasText; }
  .next-action__level i { background: CanvasText; }
  .vaccine-record-details {
    border: 2px solid CanvasText;
    background: Canvas;
    color: CanvasText;
  }
  .vaccine-record-details[open] > summary { background: Canvas; }
  .vaccine-record-summary-action {
    border-color: ButtonText;
    color: ButtonText;
    background: ButtonFace;
  }
  .vaccine-record-chevron { border-color: CanvasText; }
  .vaccine-education,
  .vaccine-education__points > div,
  .vaccine-education .vaccine-education__prompt,
  .vaccine-education .vaccine-education__alert {
    border: 2px solid CanvasText;
    color: CanvasText;
    background: Canvas;
  }
  .vaccine-education h4,
  .vaccine-education p,
  .vaccine-education__points strong,
  .vaccine-education__points span,
  .vaccine-education .vaccine-education__alert,
  .vaccine-education__source { color: CanvasText; }
}

.life-stage-guidance { display: block; min-width: 0; }
.life-stage-guidance__section {
  margin-block: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
}
.life-stage-guidance__section > summary {
  display: list-item;
  padding: 16px;
  cursor: pointer;
  color: var(--ink);
  background: var(--accent-soft);
  overflow-wrap: anywhere;
}
.life-stage-guidance__section > summary strong { font-size: var(--text-body); line-height: 1.6; }
.life-stage-guidance__section > summary span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: var(--text-body);
  line-height: 1.6;
}
.life-stage-guidance__section dl { margin: 0; padding: 0 16px; }
.life-stage-guidance__section dl > div { padding-block: 14px; }
.life-stage-guidance__section dl > div + div { border-top: 1px solid var(--line); }
.life-stage-guidance__section dt { font-size: var(--text-body); line-height: 1.5; font-weight: var(--weight-bold); color: var(--ink); }
.life-stage-guidance__section dd { margin: 5px 0 0; font-size: var(--text-body); line-height: 1.65; color: var(--muted); overflow-wrap: anywhere; }
.health-card .life-stage-guidance__privacy { font-size: var(--text-body); line-height: 1.6; margin: 0 0 16px; }
.health-card .life-stage-guidance__safety { font-size: var(--text-body); line-height: 1.6; border-inline-start: 3px solid var(--accent); padding-inline-start: 12px; }
.life-stage-guidance__sources ul { margin: 0; padding: 16px 32px; font-size: var(--text-small); line-height: 1.65; overflow-wrap: anywhere; }
.life-stage-guidance__sources li + li { margin-top: 10px; }
@media (forced-colors: active) {
  .life-stage-guidance__section { border-color: CanvasText; }
  .life-stage-guidance__section > summary { background: Canvas; color: CanvasText; }
}

:focus-visible { outline: 3px solid var(--accent-ring); outline-offset: 3px; }


.offline-review-banner {
  width: min(1160px, calc(100% - 40px));
  margin: 12px auto 0;
  padding: 11px 14px;
  border: 1px solid rgba(122, 74, 0, 0.28);
  border-inline-start: 5px solid #875000;
  border-radius: 12px;
  color: #624719;
  background: #fff5df;
  box-shadow: 0 8px 24px rgba(74, 53, 20, 0.08);
  font-size: 14px;
  line-height: 1.5;
}
.offline-review-banner strong { display: block; color: #6d4400; font-size: 15px; }
.offline-review-banner span { display: block; }
@media (max-width: 640px) {
  .offline-review-banner { width: calc(100% - 24px); margin-top: 8px; padding: 10px 12px; }
}
