/* Product shell shared by Chat, Track, Profile and their existing detail screens.
   Matches the inspected v0.2 prototype: warm canvas, white rounded surfaces,
   black primary actions and quiet coral emphasis. */
.gs-product-layout {
  --font-display:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --font-body:var(--font-display);
  --gs-sand:#f6f3ed;
  --gs-warm-cream:#f6f3ed;
  --gs-sand-light:#eeece6;
  --gs-card:#fff;
  --gs-card-elevated:#f6f3ed;
  --gs-border:#dcddd7;
  --gs-divider:#dcddd7;
  --gs-text-primary:#10110f;
  --gs-text-secondary:#555950;
  --gs-text-muted:#62665e;
  --gs-text-hint:#62665e;
  --gs-coral:#d93a3e;
  --gs-coral-deep:#b72f33;
  --gs-coral-light:#f4cdcb;
  --gs-coral-glow:#fde9e7;
  --gs-nav-bg:#fff;
  --gs-nav-active:#fde9e7;
  --gs-product-action:#10110f;
  --gs-product-on-action:#fff;
  --gs-page-px:18px;
  --gs-radius-lg:24px;
  --gs-radius-md:14px;
  font-family:var(--font-body);
  line-height:1.5;
}
.gs-product-layout .gs-app-shell { background:var(--gs-sand)!important; }
.gs-product-layout .gs-app-header {
  background:var(--gs-sand)!important;
  border-bottom:0!important;
  padding-top:calc(14px + env(safe-area-inset-top))!important;
  padding-bottom:14px!important;
}
.gs-product-layout .gs-app-header-title {
  color:var(--gs-text-primary);
  font-size:var(--gs-type-page-title-size);
  line-height:var(--gs-type-page-title-line);
  letter-spacing:-1px;
  font-weight:700;
}
.gs-product-header-subtitle {
  margin:4px 0 0;
  font-size:var(--gs-type-caption-size);
  line-height:var(--gs-type-caption-line);
  color:var(--gs-text-secondary);
}
.gs-product-layout .gs-app-avatar {
  background:var(--gs-product-action);
  color:var(--gs-product-on-action);
  border-color:transparent;
  width:44px;
  height:44px;
}
.gs-product-layout .gs-app-header > div > div:last-child > a {
  border-color:transparent!important;
  background:transparent!important;
}
.gs-product-layout .gs-card {
  border-radius:26px!important;
  padding:20px!important;
  margin-bottom:14px!important;
  box-shadow:none;
}
.gs-product-hub .gs-card-title { font-size:calc(var(--gs-type-card-title-size) + 4px); line-height:1.3; }
.gs-product-layout .gs-button {
  min-height:44px;
  border-radius:14px!important;
  font-weight:600;
}
.gs-product-layout .gs-button--primary {
  background:var(--gs-product-action)!important;
  color:var(--gs-product-on-action)!important;
}
.gs-product-hub { padding-top:20px; }
.gs-product-hub .gs-tab-inactive { --gs-segment-tab-inactive-bg:var(--gs-card); }
.gs-product-hub .gs-scrollbar-hide { padding-bottom:12px!important; }
.gs-product-hub .gs-tab-active,
.gs-product-hub .gs-tab-inactive {
  min-height:44px;
  border-radius:14px!important;
  border:1px solid var(--gs-border)!important;
  background:var(--gs-card);
  color:var(--gs-text-secondary);
}
.gs-product-hub .gs-tab-active {
  --gs-coral:var(--gs-coral-glow);
  --gs-on-coral:var(--gs-coral-deep);
  background:var(--gs-coral-glow);
  border-color:var(--gs-coral-light)!important;
  color:var(--gs-coral-deep);
}
.gs-copilot-intro { margin-bottom:18px!important; }
.gs-product-kicker {
  display:inline-flex;
  padding:5px 10px;
  border-radius:30px;
  background:var(--gs-coral-glow);
  color:var(--gs-coral-deep);
  font-size:var(--gs-type-caption-size);
  line-height:var(--gs-type-caption-line);
  font-weight:500;
}
.gs-copilot-intro h2 {
  margin:18px 0 10px;
  font-size:calc(var(--gs-type-section-title-size) + 4px);
  line-height:1.15;
  letter-spacing:-.8px;
  font-weight:700;
  color:var(--gs-text-primary);
}
.gs-copilot-intro p {
  margin:0 0 24px;
  font-size:var(--gs-type-body-size);
  line-height:var(--gs-type-body-line);
  color:var(--gs-text-secondary);
}
.gs-product-quick-grid { gap:10px; }
.gs-product-layout .gs-quick-add-item {
  min-height:112px;
  border-radius:20px!important;
  background:var(--gs-card)!important;
  gap:10px!important;
}
.gs-product-layout .gs-quick-add-item > div { border-radius:50%!important; }
.gs-product-layout .gs-quick-add-item .gs-caption { font-size:13px; font-weight:500; }
.gs-product-layout .gs-row-separator { padding-top:14px!important; padding-bottom:14px!important; }
.gs-product-layout .gs-row-separator > div:first-child { border-radius:14px!important; }
.gs-product-layout .gs-row-subtitle { white-space:normal; }
.gs-product-profile { padding-top:12px; }
.gs-product-profile .gs-group-label {
  color:var(--gs-text-primary);
  font-size:var(--gs-type-section-title-size);
  line-height:var(--gs-type-section-title-line);
  letter-spacing:-.3px;
  text-transform:none;
  font-weight:600;
  margin-bottom:10px;
}
.gs-product-profile .gs-profile-identity { padding:22px!important; }
.gs-product-profile .gs-profile-name { font-size:calc(var(--gs-type-profile-name-size) + 4px); letter-spacing:-.5px; }
.gs-product-layout .gs-form-section { background:var(--gs-card); border-radius:24px; padding:18px; }
.gs-product-layout .gs-form-section-inner { background:var(--gs-sand); border-radius:16px; }
.gs-product-layout .gs-form-input { border-radius:12px; min-height:44px; background:var(--gs-card); }
.gs-product-layout .gs-form-section-heading { border-bottom:0; padding-bottom:0; }
.gs-product-layout .gs-choice-chip { border-radius:14px; min-height:44px; }
.gs-product-layout .gs-tracker-sticky-header {
  background:var(--gs-sand);
  border-bottom:1px solid var(--gs-border);
  border-radius:16px;
  color:var(--gs-text-primary);
  z-index:10;
}
.gs-product-layout .gs-tracker-sticky-header h1 { font-size:16px; }
.gs-product-layout .gs-tracker-sticky-header a { color:var(--gs-text-secondary); }
.dark .gs-product-layout {
  --gs-sand:#191a17;
  --gs-warm-cream:#191a17;
  --gs-sand-light:#2d2f29;
  --gs-card:#23251f;
  --gs-card-elevated:#2d2f29;
  --gs-border:#41443b;
  --gs-divider:#41443b;
  --gs-text-primary:#f3f4ed;
  --gs-text-secondary:#cccec4;
  --gs-text-muted:#b2b6a8;
  --gs-text-hint:#b2b6a8;
  --gs-coral:#ff8985;
  --gs-coral-deep:#ffaaa5;
  --gs-coral-light:#67443e;
  --gs-coral-glow:#402925;
  --gs-nav-bg:#23251f;
  --gs-nav-active:#402925;
  --gs-product-action:#f3f4ed;
  --gs-product-on-action:#191a17;
}

.gs-product-layout .gs-product-embedded-header { display:none; }

.gs-product-detail-layout .gs-app-header-title {
  font-size:var(--gs-type-section-title-size);
  line-height:var(--gs-type-section-title-line);
  letter-spacing:-.4px;
}

/* Default product hubs follow the reference hierarchy; full libraries remain
   available on their existing routes and in accessible bottom sheets. */
.gs-product-intro { margin:18px 0 24px; }
.gs-product-intro h2 { font-size:28px;line-height:1.15;letter-spacing:-1px;font-weight:700;color:var(--gs-text-primary);margin:0 0 10px; }
.gs-product-intro p,.gs-product-section-heading p { margin:4px 0 0;color:var(--gs-text-secondary);font-size:16px;line-height:1.5; }
.gs-product-section-heading { display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 12px; }
.gs-product-section-heading h2,.gs-product-additional h2 { font-size:20px;line-height:1.25;letter-spacing:-.5px;color:var(--gs-text-primary);font-weight:650;margin:0; }
.gs-product-text-link { color:var(--gs-green,#2f6b55);font-size:14px;white-space:nowrap;text-decoration:none; }
.gs-product-carousel { margin:0 calc(-1 * var(--gs-page-px)); }
.gs-product-carousel-rail { position:relative;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gs-page-px);padding:0 var(--gs-page-px);scrollbar-width:none;overscroll-behavior-x:contain; }
.gs-product-carousel-rail::-webkit-scrollbar { display:none; }
.gs-product-carousel-slide { flex:0 0 calc(100% - 20px);min-width:0;scroll-snap-align:start; }
.gs-product-carousel-slide:only-child { flex-basis:100%; }
.gs-product-carousel-controls { display:flex;justify-content:center;align-items:center;gap:24px;padding:14px 0 22px;color:var(--gs-text-secondary); }
.gs-product-carousel-controls > button { width:44px;height:44px;display:grid;place-items:center; }
.gs-product-carousel-controls output { display:block;text-align:center;font-size:12px; }
.gs-product-carousel-dots { display:flex;justify-content:center;gap:5px;margin-top:8px; }
.gs-product-carousel-dots button { width:7px;height:7px;background:var(--gs-border);border-radius:99px; }
.gs-product-carousel-dots button[aria-current=true] { background:var(--gs-coral);width:18px; }
.gs-evidence-card { background:var(--gs-card);border:1px solid var(--gs-border);border-radius:28px;padding:20px 18px 24px;min-height:560px;display:flex;flex-direction:column;align-items:center;height:100%;text-align:center; }
.gs-product-meta { display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;font-size:12px; }
.gs-product-meta > span { display:flex;align-items:center;gap:6px; }
.gs-product-meta > span:last-child { max-width:48%;text-align:right; }
.gs-product-kicker { gap:5px;align-items:center; }
.gs-product-question { width:100%;padding:16px;background:var(--gs-coral-glow);border-radius:18px;text-align:left;margin:16px 0 20px; }
.gs-product-question > span { font-size:11px;text-transform:uppercase;color:var(--gs-coral-deep);letter-spacing:.6px; }
.gs-product-question p { margin:6px 0 0;font-size:16px;font-weight:600;line-height:1.35;color:var(--gs-text-primary); }
.gs-product-steps { display:flex;width:100%;justify-content:center;margin:0 0 22px; }
.gs-product-steps > div { position:relative;flex:1;max-width:110px;display:flex;flex-direction:column;align-items:center;gap:10px; }
.gs-product-steps > div:not(:last-child)::after { content:"";position:absolute;left:calc(50% + 25px);right:calc(-50% + 25px);height:3px;background:var(--gs-border);top:21px; }
.gs-product-step-icon { display:grid;place-items:center;border-radius:50%;background:var(--gs-sand-light);width:44px;height:44px;color:var(--gs-text-secondary); }
.gs-product-step-icon.is-first { background:var(--gs-coral);color:var(--gs-on-coral); }
.gs-product-steps small { font-size:12px;line-height:1.3;color:var(--gs-text-primary); }
.gs-evidence-card h2 { font-size:24px;font-weight:700;letter-spacing:-.7px;line-height:1.2;color:var(--gs-text-primary);margin:0 0 10px; }
.gs-evidence-description { font-size:16px;line-height:1.5;margin:0 0 14px; }
.gs-evidence-note { display:flex;align-items:flex-start;gap:8px;border-top:1px solid var(--gs-border);padding-top:14px;color:var(--gs-green,#2f6b55);font-size:15px;line-height:1.45;margin:0 0 18px;width:100%; }
.gs-evidence-note svg { flex-shrink:0;margin-top:3px; }
.gs-evidence-action { margin-top:auto;padding-top:16px; }
.gs-product-additional { margin:22px 0 28px; }
.gs-product-additional > p { font-size:14px;margin:5px 0 14px; }
.gs-product-shortcuts { display:grid;grid-template-columns:repeat(3,1fr);gap:10px; }
.gs-product-shortcuts a { border:1px solid var(--gs-border);border-radius:16px;background:var(--gs-card);min-height:88px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font-size:14px;color:var(--gs-text-primary); }
.gs-product-library-button { display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:50px;background:var(--gs-card);border:1px solid var(--gs-border);border-radius:14px;margin-top:12px;font-weight:600;color:var(--gs-text-primary); }
.gs-product-library-button span { color:var(--gs-text-secondary);font-weight:400; }
.gs-product-library-button svg:last-child { margin-left:auto; }
.gs-product-library-button svg:first-child { margin-left:16px; }
.gs-product-library-button svg:last-child { margin-right:14px; }
.gs-product-recent { border:1px solid var(--gs-border);background:var(--gs-card);border-radius:22px;padding:0 14px; }
.gs-product-empty-copy { padding:24px 18px;background:var(--gs-card);border:1px solid var(--gs-border);border-radius:20px;font-size:14px; }
.gs-care-product-home,.gs-care-detail,.gs-product-track-home { padding-top:2px; }
.gs-care-support-card { border-radius:26px;padding:22px 20px;background:var(--gs-coral-glow);height:100%;min-height:246px;display:flex;align-items:flex-start;flex-direction:column; }
.gs-care-support-card h2 { margin:16px 0 10px;font-size:24px;line-height:1.2;letter-spacing:-.6px;font-weight:700;color:var(--gs-text-primary); }
.gs-care-support-card p { font-size:16px;line-height:1.45;margin:0 0 20px; }
.gs-care-support-card .gs-button { margin-top:auto; }
.gs-care-destinations { margin:24px 0; }
.gs-care-destinations > h2 { font-size:13px;font-weight:600;margin-bottom:12px; }
.gs-care-destination { display:flex;align-items:center;gap:14px;border:1px solid var(--gs-border);background:var(--gs-card);border-radius:22px;padding:16px 14px;margin-bottom:10px;color:var(--gs-text-primary);text-decoration:none; }
.gs-product-icon-well { width:48px;height:48px;border-radius:16px;background:var(--gs-sand-light);display:grid;place-items:center;flex-shrink:0;color:var(--gs-text-secondary); }
.gs-care-destination > span:nth-child(2) { flex:1;min-width:0; }
.gs-care-destination strong { font-size:18px;letter-spacing:-.4px;display:block;font-weight:650;line-height:1.25; }
.gs-care-destination > span > span { display:block;color:var(--gs-text-secondary);font-size:15px;line-height:1.4;margin-top:4px; }
.gs-care-destination > svg { flex-shrink:0; }
.gs-care-detail .gs-care-list-shell { border-radius:24px;background:var(--gs-card);border:1px solid var(--gs-border);padding:8px 14px; }
.gs-care-detail .gs-row-title,.gs-care-detail .gs-row-subtitle { white-space:normal; }
.gs-care-saved-visit { margin-bottom:22px; }
.gs-care-saved-visit .gs-section-title { margin-bottom:12px; }
.gs-product-layout .gs-product-sheet { background:var(--gs-card)!important;border-radius:28px 28px 0 0!important;box-shadow:0 -12px 40px #00000012; }
.gs-product-layout .gs-sheet-title { font-size:21px;line-height:1.25;letter-spacing:-.4px;color:var(--gs-text-primary); }
.gs-product-layout .gs-sheet-header { padding:12px 20px 18px; }
.gs-product-layout .gs-sheet-close { min-width:44px;min-height:44px; }
.gs-product-sheet-intro { font-size:15px;line-height:1.45;margin:0 0 18px; }
.gs-product-library-group { background:var(--gs-card);border:1px solid var(--gs-border);border-radius:18px;margin-bottom:10px;padding:10px; }
.gs-product-library-group summary { position:relative;cursor:pointer;list-style:none;min-height:48px;padding:5px 28px 5px 6px; }
.gs-product-library-group summary::-webkit-details-marker { display:none; }
.gs-product-library-group summary::after { content:"›";position:absolute;right:10px;top:6px;font-size:24px; }
.gs-product-library-group summary strong,.gs-product-library-group summary small { display:block; }
.gs-product-library-group summary strong { font-size:15px;color:var(--gs-text-primary); }
.gs-product-library-group summary small { font-size:12px;margin-top:2px; }
.gs-product-library-group .gs-row-separator { background:var(--gs-sand-light);border-radius:14px;margin-top:5px;padding:10px!important; }
.gs-product-library-links { display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 4px; }
.gs-product-library-links a { padding:10px 12px;border-radius:12px;border:1px solid var(--gs-border);font-size:14px; }
.gs-product-context-strip { width:100%;display:flex;align-items:center;gap:10px;background:var(--gs-card);border:1px solid var(--gs-border);border-radius:15px;text-align:left;padding:10px 12px;margin:20px 0 16px; }
.gs-product-context-icon { width:34px;height:34px;border-radius:10px;background:var(--gs-green-bg);color:var(--gs-green);display:grid;place-items:center;flex-shrink:0; }
.gs-product-context-strip > span:nth-child(2) { flex:1;min-width:0; }
.gs-product-context-strip strong { display:block;font-size:14px;color:var(--gs-text-primary);font-weight:600; }
.gs-product-context-strip small { display:block;font-size:12px;margin-top:2px;line-height:1.35; }
.gs-chat-question-card { border:1px solid var(--gs-border);border-radius:27px;padding:20px;background:var(--gs-card); }
.gs-chat-question-card h2 { margin:18px 0 10px;font-size:24px;line-height:1.2;letter-spacing:-.8px;font-weight:700;color:var(--gs-text-primary); }
.gs-chat-question-card > p { font-size:16px;line-height:1.5;margin-bottom:24px; }
.gs-chat-evidence-summary { display:grid;grid-template-columns:1fr 1fr;background:var(--gs-sky-bg);color:var(--gs-sky-text);border-radius:20px;padding:16px 14px;margin-top:16px; }
.gs-chat-evidence-summary > div + div { border-left:1px solid var(--gs-border);padding-left:16px; }
.gs-chat-evidence-summary strong { display:block;font-size:22px;line-height:1.2;font-weight:650; }
.gs-chat-evidence-summary span { display:block;font-size:14px;margin-top:5px; }
.gs-chat-home-actions { display:flex;justify-content:center;gap:8px;margin:16px 0 100px; }
.gs-chat-home-actions button { display:flex;align-items:center;gap:7px;min-height:44px;padding:10px 12px;border:1px solid var(--gs-border);border-radius:14px;background:var(--gs-card);font-size:14px;font-weight:500;color:var(--gs-text-primary); }
.gs-chat-home-actions button span { background:var(--gs-coral-glow);color:var(--gs-coral-deep);padding:1px 6px;border-radius:99px;font-size:12px; }
.gs-chat-home-composer { position:fixed;bottom:calc(70px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:100%;max-width:var(--gs-max-width);padding:10px 16px 12px;background:var(--gs-sand);border-top:1px solid var(--gs-border);z-index:21; }
.gs-chat-home-composer form { display:flex;align-items:center;gap:8px;padding:6px;background:var(--gs-card);border:1px solid var(--gs-border);border-radius:16px; }
.gs-chat-home-composer textarea { flex:1;min-width:0;resize:none;border:none;background:transparent;font-size:16px;padding:8px 2px;box-shadow:none;line-height:1.4;max-height:100px;color:var(--gs-text-primary); }
.gs-chat-home-composer button { flex-shrink:0;width:42px;height:44px;display:grid;place-items:center;border-radius:12px; }
.gs-chat-home-composer button[type=submit] { background:var(--gs-sand-light); }
.gs-chat-home-composer[data-native-platform="ios"] { bottom:calc(80px + env(safe-area-inset-bottom)); }
.gs-chat-home-composer[data-native-platform="android"] { bottom:env(safe-area-inset-bottom); }
.gs-product-question-row { display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 0;border-bottom:1px solid var(--gs-border);font-size:16px;line-height:1.4;color:var(--gs-text-primary); }
.gs-product-question-row strong { font-weight:550; }
.gs-product-question-row svg { flex-shrink:0; }
.gs-product-demo-note { font-size:12px;line-height:1.4;border-radius:10px;padding:6px 10px;background:var(--gs-coral-glow);color:var(--gs-coral-deep);margin:8px 0 -10px; }
.gs-product-layout .gs-product-confirm-panel { background:var(--gs-card)!important;border-radius:28px 28px 0 0!important;padding-bottom:env(safe-area-inset-bottom);max-height:90dvh;overflow-y:auto; }
.gs-product-layout .gs-product-confirm-panel h3 { font-size:21px; }
.gs-product-layout .gs-product-confirm-panel button[aria-label=Close] { min-height:44px;min-width:44px; }
@media (prefers-reduced-motion:reduce) { .gs-product-carousel-rail { scroll-behavior:auto; } }

/* Preview the source text at a consistent height; the View Plan link above the
   carousel keeps full instructions available without making every slide tall. */
.gs-evidence-card .gs-product-question p,.gs-evidence-card h2 { display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden; }
.gs-evidence-card .gs-evidence-description { display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden; }
.gs-evidence-note span { display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden; }
.gs-product-steps small { display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden; }
.gs-product-sheet .gs-sheet-panel-content { background:var(--gs-card); }

.gs-evidence-card > * { flex-shrink:0; }

/* Morning bowel player: C01 shelf grammar on product tokens, not .cr-player. */
.mb-session {
  --mb-card-surface:var(--gs-card);
  display:flex;
  flex-direction:column;
  flex:1;
  min-height:0;
  height:100%;
}
.dark .mb-session {
  --mb-card-surface:var(--gs-card-elevated);
}
.mb-session__chrome {
  flex-shrink:0;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:2px 0 8px;
}
.mb-session__ticks {
  display:flex;
  gap:4px;
  width:100%;
}
.mb-session__tick {
  flex:1;
  height:3px;
  border-radius:99px;
  background:var(--gs-border);
}
.mb-session__tick.is-filled {
  background:var(--gs-product-action);
}
.mb-session__chrome-row {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 12px;
  min-height:44px;
}
.mb-session__chrome-row--progress {
  min-height:auto;
}
.mb-session__part,
.mb-session__status {
  margin:0;
  font-size:var(--gs-type-label-size);
  line-height:var(--gs-type-label-line);
  font-weight:600;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--gs-text-muted);
}
.mb-session__part {
  flex-shrink:0;
}
.mb-session__status {
  flex:1;
  min-width:0;
  text-align:right;
}
.mb-session__safety-exit {
  display:flex;
  justify-content:flex-end;
}
.mb-session__safety-exit form {
  margin:0;
}
.mb-session__chrome-care {
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  min-height:44px;
  margin:0;
  padding:8px 0 8px 12px;
  border:0;
  background:transparent;
  color:var(--gs-text-secondary);
  font:inherit;
  font-size:var(--gs-type-body-small-size);
  line-height:var(--gs-type-body-small-line);
  font-weight:600;
  text-align:right;
  cursor:pointer;
}
.mb-session__chrome-care:hover {
  color:var(--gs-text-primary);
}
.mb-session__chrome-care:focus-visible,
.mb-session .mb-info-btn:focus-visible,
.mb-overview__quiet:focus-visible,
.gs-morning-bowel-layout .mb-sheet-care summary:focus-visible {
  outline:2px solid var(--gs-product-action);
  outline-offset:2px;
}
.mb-session__body {
  flex:1;
  min-height:0;
  overflow-y:auto;
  display:flex;
  flex-direction:column;
  gap:1.25rem;
  padding-bottom:8px;
  scroll-padding-block:16px;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.mb-session__shelf,
.mb-overview__shelf {
  flex-shrink:0;
  display:flex;
  flex-direction:column;
  gap:12px;
  width:100%;
  margin-top:auto;
  padding:12px 0 max(16px, env(safe-area-inset-bottom));
  background:var(--gs-sand);
}
.mb-session__shelf > form,
.mb-session__shelf > a,
.mb-session__shelf > .gs-button,
.mb-overview__shelf > form,
.mb-overview__shelf > a,
.mb-overview__shelf > .gs-button {
  width:100%;
  margin:0;
}
.mb-session__shelf .gs-button,
.mb-overview__shelf .gs-button {
  min-height:48px;
  white-space:normal;
  text-align:center;
}
.mb-session__shelf .gs-product-text-link {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:44px;
  white-space:normal;
  text-align:center;
}
.mb-session .mb-step {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:16px;
  width:100%;
  min-height:0;
  flex-shrink:0;
  padding:8px 0 16px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.mb-session .mb-step__title-row {
  display:flex;
  align-items:flex-start;
  gap:8px;
  width:100%;
  margin:0;
}
.mb-session .mb-step__title-row h2 {
  flex:1;
  min-width:0;
  margin:0;
  font-size:var(--gs-type-page-title-size);
  line-height:1.12;
  font-weight:700;
  letter-spacing:-0.035em;
  color:var(--gs-text-primary);
}
.mb-session .mb-step__visual {
  width:100%;
  max-width:184px;
  margin:0 auto;
}
.mb-session .mb-step__copy {
  display:flex;
  flex-direction:column;
  gap:8px;
  width:100%;
}
.mb-session .mb-step__copy > * {
  margin:0;
}
.mb-session .mb-step--outcome {
  padding-bottom:0;
}
.mb-session .gs-care-support-card {
  height:auto;
  min-height:0;
  flex-shrink:0;
  align-items:stretch;
  background:var(--mb-card-surface);
  border:1px solid var(--gs-border);
  box-shadow:none;
  padding:20px;
  border-radius:24px;
}
.mb-session .gs-care-support-card > .mb-session__eyebrow,
.mb-session .gs-care-support-card > .mb-session__cue,
.mb-session .gs-care-support-card .mb-session__cue-note {
  margin-bottom:0;
}
.mb-session__eyebrow {
  display:block;
  margin:0;
  font-size:var(--gs-type-label-size);
  line-height:var(--gs-type-label-line);
  font-weight:600;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--gs-text-muted);
}
.mb-session .mb-card-title-row {
  display:flex;
  align-items:center;
  gap:4px;
  width:100%;
  margin:16px 0 10px;
}
.mb-session .gs-care-support-card > h2,
.mb-session .mb-card-title-row h2,
.mb-session .gs-care-support-card .mb-card-title-row h2 {
  margin:0;
  flex:1;
  min-width:0;
  font-size:var(--gs-type-page-title-size);
  font-weight:700;
  letter-spacing:-0.035em;
  line-height:1.12;
}
.mb-session .gs-care-support-card > h2 {
  margin:10px 0;
}
.mb-session__cue {
  margin:0;
  font-size:var(--gs-type-body-size);
  line-height:var(--gs-type-body-line);
  font-weight:400;
  color:var(--gs-text-secondary);
}
.mb-session__cue-note {
  margin:8px 0 0;
  font-size:var(--gs-type-body-small-size);
  line-height:var(--gs-type-body-small-line);
  font-weight:600;
  color:var(--gs-text-muted);
}
.mb-remembered {
  width:100%;
  margin-top:18px;
  padding-top:16px;
}
.mb-remembered h3 {
  margin:0 0 6px;
  font-size:var(--gs-type-card-title-size);
  line-height:var(--gs-type-card-title-line);
  font-weight:700;
  letter-spacing:0.01em;
  color:var(--gs-text-primary);
}
.mb-remembered__list {
  margin:0;
}
.mb-remembered__row {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  min-height:44px;
  padding:6px 0;
}
.mb-remembered__row dt,
.mb-remembered__row dd {
  margin:0;
  font-size:var(--gs-type-body-small-size);
  line-height:var(--gs-type-body-small-line);
}
.mb-remembered__row dt {
  color:var(--gs-text-muted);
}
.mb-remembered__row dd {
  text-align:right;
  font-weight:700;
  color:var(--gs-text-primary);
}
.mb-remembered__row a {
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  min-height:44px;
  max-width:220px;
  color:var(--gs-link, var(--gs-text-primary));
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.mb-edit-record {
  width:100%;
  padding:4px 16px;
  border:1px solid var(--gs-border);
  border-radius:24px;
  background:var(--gs-card);
}
.mb-edit-record__heading {
  width:100%;
  padding:4px 0 8px;
}
.mb-edit-record__heading .mb-card-title-row {
  margin:8px 0;
}
.mb-edit-record__heading .mb-card-title-row h2 {
  margin:0;
  flex:1;
  min-width:0;
  color:var(--gs-text-primary);
  font-size:var(--gs-type-page-title-size);
  line-height:var(--gs-type-page-title-line);
  font-weight:700;
  letter-spacing:-0.035em;
}
.dark .mb-edit-record {
  background:var(--gs-card-elevated);
}
.mb-edit-record__list {
  margin:0;
}
.mb-edit-record__row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:68px;
  padding:12px 0;
}
.mb-edit-record__row dt,
.mb-edit-record__row dd {
  margin:0;
  font-size:var(--gs-type-body-small-size);
  line-height:var(--gs-type-body-small-line);
}
.mb-edit-record__row dt {
  color:var(--gs-text-muted);
}
.mb-edit-record__row dd {
  margin-top:3px;
  font-weight:700;
  color:var(--gs-text-primary);
}
.mb-edit-record__change {
  flex:none;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  padding:0 4px;
  font-size:var(--gs-type-body-small-size);
  line-height:var(--gs-type-body-small-line);
  font-weight:600;
  color:var(--gs-link, var(--gs-text-primary));
  text-decoration:underline;
  text-underline-offset:3px;
}
.mb-session__field {
  display:flex;
  flex-direction:column;
  gap:6px;
  width:100%;
  margin-top:14px;
}
.mb-session__field label {
  font-size:var(--gs-type-label-size);
  line-height:var(--gs-type-label-line);
  font-weight:600;
  color:var(--gs-text-primary);
}
.mb-session .gs-care-support-card .mb-session__quiet {
  width:auto;
  max-width:100%;
  padding:10px 0;
  text-align:left;
}
.mb-session .mb-info-btn {
  flex-shrink:0;
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:0;
  border:none;
  background:none;
  cursor:pointer;
  color:var(--gs-text-muted);
}
.mb-session .mb-info-btn span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border-radius:999px;
  border:1.4px solid var(--gs-text-muted);
  font-size:11px;
  font-weight:800;
  line-height:1;
  font-style:normal;
}
.mb-session .mb-safety-topics,
#mb-session-care .mb-safety-topics,
.gs-morning-bowel-layout .mb-sheet-care .mb-safety-topics {
  width:100%;
}
.mb-session .mb-safety-topic,
#mb-session-care .mb-safety-topic,
.gs-morning-bowel-layout .mb-sheet-care .mb-safety-topic {
  width:100%;
}
.mb-session .mb-safety-topic summary,
#mb-session-care .mb-safety-topic summary,
.gs-morning-bowel-layout .mb-sheet-care .mb-safety-topic summary {
  cursor:pointer;
  list-style:none;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 0;
  font-size:var(--gs-type-row-title-size);
  line-height:var(--gs-type-row-title-line);
  font-weight:600;
  color:var(--gs-text-primary);
}
.mb-session .mb-safety-topic summary::-webkit-details-marker,
#mb-session-care .mb-safety-topic summary::-webkit-details-marker,
.gs-morning-bowel-layout .mb-sheet-care .mb-safety-topic summary::-webkit-details-marker { display:none; }
.mb-session .mb-safety-topic summary::after,
#mb-session-care .mb-safety-topic summary::after,
.gs-morning-bowel-layout .mb-sheet-care .mb-safety-topic summary::after {
  content:"›";
  flex-shrink:0;
  font-size:20px;
  font-weight:400;
  color:var(--gs-text-muted);
}
.mb-session .mb-safety-topic .mb-sheet-body,
#mb-session-care .mb-safety-topic .mb-sheet-body,
.gs-morning-bowel-layout .mb-sheet-care .mb-safety-topic .mb-sheet-body {
  margin:0 0 14px;
  font-size:var(--gs-type-body-size);
  line-height:var(--gs-type-body-line);
  color:var(--gs-text-secondary);
}
.mb-session__quiet {
  display:block;
  width:100%;
  margin:0;
  padding:12px 0;
  border:none;
  background:none;
  font-size:var(--gs-type-body-small-size);
  line-height:var(--gs-type-body-small-line);
  font-weight:600;
  color:var(--gs-text-secondary);
  text-align:center;
  cursor:pointer;
  text-decoration:none;
}
.mb-session__quiet:active {
  opacity:0.6;
}
.mb-session__shelf .mb-session__quiet {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  white-space:normal;
}
.mb-session__caption {
  margin:0;
  font-size:var(--gs-type-caption-size);
  line-height:var(--gs-type-caption-line);
  color:var(--gs-text-muted);
  text-align:center;
}
.mb-session__quiet-row {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:8px 16px;
  padding-top:4px;
  width:100%;
}
.mb-session__quiet-row .mb-session__quiet,
.mb-session__quiet-row form {
  display:inline-flex;
  width:auto;
  margin:0;
}
.mb-session__quiet-row .mb-session__quiet {
  padding:10px 8px;
  min-height:44px;
}
.mb-session__choice-row {
  display:flex;
  flex-wrap:wrap;
  justify-content:stretch;
  align-items:stretch;
  gap:8px;
  width:100%;
}
.mb-session__choice-row form {
  display:flex;
  flex:1 1 0;
  min-width:0;
  margin:0;
}
.mb-session__choice-row .gs-button {
  width:100%;
  min-height:44px;
}
.mb-session .mb-sheet-body {
  margin:6px 0 0;
  font-size:var(--gs-type-body-size);
  line-height:var(--gs-type-body-line);
  color:var(--gs-text-secondary);
}
.mb-outcome {
  display:flex;
  flex-direction:column;
  gap:12px;
  width:100%;
}
.mb-outcome__set {
  margin:0;
  padding:0;
  border:0;
  width:100%;
}
.mb-outcome__legend {
  margin:0 0 8px;
  font-size:var(--gs-type-label-size);
  line-height:var(--gs-type-label-line);
  font-weight:600;
  color:var(--gs-text-primary);
}
.mb-outcome__choice {
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  min-height:52px;
  margin-top:8px;
  padding:12px 14px;
  border:1px solid var(--gs-border);
  border-radius:14px;
  background:var(--mb-card-surface);
  cursor:pointer;
}
.mb-outcome__radio {
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.mb-outcome__indicator {
  flex:none;
  width:20px;
  height:20px;
  border:2px solid var(--gs-text-muted);
  border-radius:999px;
  background:transparent;
  box-shadow:inset 0 0 0 4px transparent;
}
.mb-outcome__label {
  font-size:var(--gs-type-row-title-size);
  line-height:var(--gs-type-row-title-line);
  font-weight:600;
  color:var(--gs-text-primary);
}
.mb-outcome__choice:has(.mb-outcome__radio:checked) {
  border-color:var(--gs-product-action);
  background:var(--gs-sand-light);
}
.dark .mb-outcome__choice:has(.mb-outcome__radio:checked) {
  background:var(--gs-card);
}
.mb-outcome__radio:checked + .mb-outcome__indicator {
  border-color:var(--gs-product-action);
  background:var(--gs-product-action);
  box-shadow:inset 0 0 0 4px var(--mb-card-surface);
}
.mb-outcome__choice:has(.mb-outcome__radio:focus-visible) {
  outline:3px solid color-mix(in srgb, var(--gs-product-action) 28%, transparent);
  outline-offset:2px;
}
.mb-outcome__tracker-status {
  display:flex;
  align-items:center;
  min-height:44px;
  margin:4px 0 0;
  padding:10px 12px;
  border:1px solid var(--gs-border);
  border-radius:14px;
  background:var(--gs-sand-light);
  color:var(--gs-text-secondary);
  font-size:var(--gs-type-body-small-size);
  line-height:var(--gs-type-body-small-line);
  font-weight:600;
}
.mb-session-record {
  width:100%;
  padding:12px 0 16px;
}
.mb-session-record__title {
  margin:0 0 10px;
  font-size:var(--gs-type-card-title-size);
  line-height:var(--gs-type-card-title-line);
  font-weight:600;
  color:var(--gs-text-primary);
}
.mb-session-record .mb-session__caption {
  text-align:left;
  margin:0 0 12px;
}
.mb-session-record > summary.mb-session-record__title {
  cursor:pointer;
  list-style:none;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0;
  padding:8px 0;
}
.mb-session-record > summary.mb-session-record__title::-webkit-details-marker { display:none; }
.mb-session-record > summary.mb-session-record__title::after {
  content:"›";
  flex-shrink:0;
  font-size:20px;
  font-weight:400;
  color:var(--gs-text-muted);
}
.mb-session-record__list {
  margin:0;
}
.mb-session-record__row {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  min-height:36px;
  padding:8px 0;
}
.mb-session-record__row dt {
  margin:0;
  font-size:var(--gs-type-caption-size);
  line-height:var(--gs-type-caption-line);
  color:var(--gs-text-muted);
}
.mb-session-record__row dd {
  margin:0;
  font-size:var(--gs-type-body-small-size);
  line-height:var(--gs-type-body-small-line);
  text-align:right;
  color:var(--gs-text-primary);
}
.mb-session-record__recent {
  list-style:none;
  margin:0;
  padding:0;
}
.mb-session-record__morning + .mb-session-record__morning {
  margin-top:16px;
  padding-top:16px;
}
.mb-session-record__date {
  margin:0 0 8px;
  font-size:var(--gs-type-card-title-size);
  line-height:var(--gs-type-card-title-line);
  font-weight:700;
  color:var(--gs-text-primary);
}
.mb-session-record__sessions {
  list-style:none;
  margin:0;
  padding:0;
}
.mb-session-record__session + .mb-session-record__session {
  margin-top:8px;
}
.mb-session-record__when {
  margin:0 0 6px;
  font-size:var(--gs-type-caption-size);
  line-height:var(--gs-type-caption-line);
  color:var(--gs-text-muted);
}
.mb-session-record__session a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:56px;
  padding:8px 0;
  color:inherit;
  text-decoration:none;
}
.mb-session-record__session a::after {
  content:"›";
  flex-shrink:0;
  font-size:20px;
  font-weight:400;
  color:var(--gs-text-muted);
}
.mb-session-record__summary {
  margin:0;
  font-size:var(--gs-type-body-small-size);
  line-height:var(--gs-type-body-small-line);
  color:var(--gs-text-primary);
}

/* Morning bowel overview: 3-page intro deck on product tokens. */
.mb-overview {
  display:flex;
  flex-direction:column;
  flex:1;
  min-height:0;
  height:100%;
}
.mb-overview__body {
  flex:1;
  min-height:0;
  overflow-y:auto;
  padding-bottom:8px;
  scroll-padding-block:16px;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.mb-overview--landing {
  justify-content:flex-start;
}
.mb-overview__landing-state {
  display:flex;
  flex-direction:column;
  flex:1;
  min-height:0;
  width:100%;
  margin:0;
}
.mb-overview__landing-copy {
  display:flex;
  flex-direction:column;
  gap:16px;
  padding:24px 0 16px;
}
.mb-guidance-notice {
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:4px 0 0;
  padding:12px 14px;
  border:0;
  border-radius:14px;
  background:var(--gs-sand-light);
}
.dark .mb-guidance-notice {
  background:var(--gs-card);
}
.mb-guidance-notice__label {
  margin:0;
  font-size:var(--gs-type-label-size);
  line-height:var(--gs-type-label-line);
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--gs-text-muted);
}
.mb-guidance-notice__body {
  margin:0;
  font-size:var(--gs-type-body-small-size);
  line-height:var(--gs-type-body-small-line);
  font-weight:400;
  color:var(--gs-text-secondary);
}
.mb-guidance-notice--full {
  margin-top:0;
}
.mb-overview__landing-actions {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
}
.mb-overview__landing-actions form,
.mb-overview__landing-actions .mb-overview__quiet {
  width:100%;
  margin:0;
}
.mb-overview__landing-help {
  padding-top:8px;
}
.mb-overview__page {
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:0;
}
.mb-overview__page[hidden] {
  display:none;
}
.mb-overview__eyebrow-row {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
}
.mb-overview__eyebrow,
.mb-overview__kicker {
  margin:0;
  font-size:var(--gs-type-label-size);
  line-height:var(--gs-type-label-line);
  font-weight:600;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--gs-text-muted);
}
.mb-overview__counter {
  margin:0;
  font-size:var(--gs-type-caption-size);
  line-height:var(--gs-type-caption-line);
  font-weight:600;
  color:var(--gs-text-hint);
  white-space:nowrap;
}
.mb-overview__visual {
  width:100%;
  max-width:220px;
  margin:14px auto 2px;
}
.mb-overview__title {
  margin:8px 0 0;
  font-size:var(--gs-type-page-title-size);
  line-height:var(--gs-type-page-title-line);
  font-weight:700;
  letter-spacing:-0.035em;
  line-height:1.12;
  color:var(--gs-text-primary);
}
.mb-overview__cue {
  margin:0;
  font-size:var(--gs-type-body-size);
  line-height:var(--gs-type-body-line);
  font-weight:400;
  color:var(--gs-text-secondary);
}
.mb-overview__beats,
.mb-overview__note {
  margin:0;
  font-size:var(--gs-type-body-small-size);
  line-height:var(--gs-type-body-small-line);
  font-weight:400;
  color:var(--gs-text-muted);
}
.mb-overview__parts {
  list-style:none;
  margin:8px 0 0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.mb-overview__part {
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.mb-overview__part-num {
  flex-shrink:0;
  width:28px;
  padding-top:2px;
  font-size:var(--gs-type-caption-size);
  line-height:var(--gs-type-caption-line);
  font-weight:600;
  letter-spacing:0.04em;
  color:var(--gs-text-hint);
}
.mb-overview__part strong {
  display:block;
  font-size:var(--gs-type-row-title-size);
  line-height:var(--gs-type-row-title-line);
  font-weight:600;
  color:var(--gs-text-primary);
}
.mb-overview__part small {
  display:block;
  margin-top:3px;
  font-size:var(--gs-type-row-subtitle-size);
  line-height:var(--gs-type-row-subtitle-line);
  color:var(--gs-text-muted);
}
.mb-overview__limits {
  list-style:none;
  margin:4px 0 0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:18px;
}
.mb-overview__limit strong {
  display:block;
  margin:8px 0 4px;
  font-size:var(--gs-type-row-title-size);
  line-height:var(--gs-type-row-title-line);
  font-weight:600;
  color:var(--gs-text-primary);
}
.mb-overview__limit p {
  margin:0;
  font-size:var(--gs-type-body-small-size);
  line-height:var(--gs-type-body-small-line);
  color:var(--gs-text-secondary);
}
.mb-overview__chip {
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:2px 10px;
  border:1px solid var(--gs-border);
  border-radius:999px;
  font-size:var(--gs-type-caption-size);
  line-height:var(--gs-type-caption-line);
  font-weight:600;
  color:var(--gs-text-secondary);
  background:var(--gs-card);
}
.mb-overview__shelf .gs-button--primary {
  width:100%;
}
.mb-overview__dots {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:2px;
  width:100%;
}
.mb-overview__dot {
  display:grid;
  place-items:center;
  min-width:44px;
  min-height:44px;
  margin:0;
  padding:0;
  border:none;
  background:none;
  cursor:pointer;
}
.mb-overview__dot span {
  width:7px;
  height:7px;
  border-radius:999px;
  background:var(--gs-border);
}
.mb-overview__dot.is-current span {
  width:22px;
  background:var(--gs-product-action);
}
.mb-overview__cta-row {
  display:flex;
  align-items:stretch;
  gap:10px;
  width:100%;
}
.mb-overview__back {
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;
  min-height:44px;
  margin:0;
  padding:0;
  border:1px solid var(--gs-border);
  border-radius:14px;
  background:var(--gs-card);
  color:var(--gs-text-primary);
  cursor:pointer;
}
.mb-overview__back[hidden] {
  display:none;
}
.mb-overview__cluster {
  flex:1;
  min-width:0;
  width:100%;
}
.mb-overview [hidden] {
  display:none !important;
}
.mb-overview__cluster form,
.mb-overview__cluster .gs-button {
  width:100%;
  margin:0;
}
.mb-overview__quiet {
  display:block;
  width:100%;
  margin:0;
  padding:12px 0;
  border:none;
  background:none;
  min-height:44px;
  font-size:var(--gs-type-body-small-size);
  line-height:var(--gs-type-body-small-line);
  font-weight:600;
  color:var(--gs-text-secondary);
  text-align:center;
  cursor:pointer;
  text-decoration:none;
}
.mb-overview__quiet:active {
  opacity:0.6;
}
.mb-overview__shortcuts {
  width:100%;
}
.mb-overview__quiet-row {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:8px 16px;
  padding-top:4px;
  width:100%;
}
.mb-overview__quiet-row .mb-overview__quiet,
.mb-overview__quiet-row form {
  display:inline-flex;
  width:auto;
  margin:0;
}
.mb-overview__quiet-row .mb-overview__quiet {
  padding:10px 8px;
}
.mb-overview__shortcuts .mb-overview__quiet-row {
  padding-top:0;
  gap:0 16px;
}
.mb-overview__sheet-list {
  display:flex;
  flex-direction:column;
}
.mb-overview__sheet-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  margin:0;
  padding:14px 0;
  border:none;
  background:none;
  font-size:var(--gs-type-row-title-size);
  line-height:var(--gs-type-row-title-line);
  font-weight:600;
  color:var(--gs-text-primary);
  text-align:left;
  cursor:pointer;
}
.mb-overview__sheet-row::after {
  content:"›";
  flex-shrink:0;
  font-size:20px;
  font-weight:400;
  color:var(--gs-text-muted);
}

/* Morning bowel sheets: C01 evidence rhythm on product tokens. */
.gs-product-sheet .mb-sheet-subtitle {
  margin:0;
  font-size:var(--gs-type-body-small-size);
  line-height:var(--gs-type-body-small-line);
  color:var(--gs-text-secondary);
}
.gs-product-sheet .mb-sheet-callout-title {
  margin:0;
  font-size:var(--gs-type-heading-lg-size);
  line-height:var(--gs-type-heading-lg-line);
  font-weight:700;
  letter-spacing:-0.025em;
  line-height:1.25;
  color:var(--gs-text-primary);
}
.gs-product-sheet .mb-sheet-label {
  margin:20px 0 0;
  font-size:var(--gs-type-label-size);
  line-height:var(--gs-type-label-line);
  font-weight:600;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--gs-text-muted);
}
.gs-product-sheet .mb-sheet-label:first-child,
.gs-product-sheet .mb-sheet-subtitle + .mb-sheet-label {
  margin-top:16px;
}
.gs-product-sheet .mb-sheet-body {
  margin:6px 0 0;
  font-size:var(--gs-type-body-size);
  line-height:var(--gs-type-body-line);
  color:var(--gs-text-secondary);
}
.gs-product-sheet .mb-sheet-body:first-child {
  margin-top:0;
}
.gs-product-sheet .mb-sheet-body + .mb-sheet-body {
  margin-top:16px;
}
.gs-product-sheet .mb-sheet-footer {
  margin:16px 0 0;
  font-size:var(--gs-type-caption-size);
  line-height:var(--gs-type-caption-line);
  color:var(--gs-text-hint);
}
.gs-product-sheet .mb-sheet-footer--compact {
  margin-top:0;
}
.gs-product-sheet .mb-sheet-actions {
  display:flex;
  flex-direction:column;
  margin-top:16px;
}
.gs-product-sheet .mb-sheet-action {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:52px;
  padding:12px 0;
  color:var(--gs-text-primary);
  font-size:var(--gs-type-row-title-size);
  line-height:var(--gs-type-row-title-line);
  font-weight:600;
  text-decoration:none;
}
.gs-product-sheet .mb-sheet-action::after {
  content:"›";
  flex-shrink:0;
  color:var(--gs-text-muted);
  font-size:20px;
  font-weight:400;
}
.gs-product-sheet .mb-sheet__section + .mb-sheet__section {
  margin-top:24px;
  padding-top:4px;
}
.mb-overview__learn-more > section + section {
  margin-top:24px;
  padding-top:4px;
}
.mb-overview__limits--sheet {
  margin-top:12px;
}
.mb-overview__learn-section > summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:52px;
  cursor:pointer;
  list-style:none;
  font-size:var(--gs-type-row-title-size);
  line-height:var(--gs-type-row-title-line);
  font-weight:600;
  color:var(--gs-text-primary);
}
.mb-overview__learn-section > summary::-webkit-details-marker {
  display:none;
}
.mb-overview__learn-section > summary::after {
  content:"›";
  flex-shrink:0;
  font-size:20px;
  font-weight:400;
  color:var(--gs-text-muted);
  transform:rotate(90deg);
  transition:transform .15s ease;
}
.mb-overview__learn-section[open] > summary::after {
  transform:rotate(-90deg);
}
.mb-overview__learn-section > .mb-sheet-label:first-of-type {
  margin-top:8px;
}
.mb-overview__learn-more .mb-safety-topics {
  width:100%;
  margin-top:12px;
}
.mb-overview__learn-more .mb-safety-topic summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:48px;
  padding:12px 0;
  cursor:pointer;
  list-style:none;
  font-size:var(--gs-type-row-title-size);
  line-height:var(--gs-type-row-title-line);
  font-weight:600;
  color:var(--gs-text-primary);
}
.mb-overview__learn-more .mb-safety-topic summary::-webkit-details-marker {
  display:none;
}
.mb-overview__learn-more .mb-safety-topic summary::after {
  content:"›";
  flex-shrink:0;
  color:var(--gs-text-muted);
}
.mb-overview__learn-more .mb-safety-topic .mb-sheet-body {
  margin:0 0 14px;
}
.mb-care-summary-note {
  margin:14px 0 2px;
  padding:12px 14px;
  border:1px solid var(--gs-border);
  border-radius:14px;
  background:var(--gs-sand-light);
}
.dark .mb-care-summary-note {
  background:var(--gs-card);
}
.mb-care-summary-note p {
  margin:0;
  text-align:left;
  color:var(--gs-text-secondary);
  font-size:var(--gs-type-body-small-size);
  line-height:var(--gs-type-body-small-line);
}
.mb-care-summary-composer .mb-card-title-row {
  margin-top:0;
  margin-bottom:8px;
}
.mb-care-summary-composer .mb-session__cue + .mb-session__cue {
  margin-top:6px;
  font-size:var(--gs-type-body-small-size);
  line-height:var(--gs-type-body-small-line);
}
.mb-care-summary-composer .mb-session__field {
  margin-top:12px;
}
.mb-care-summary-composer .gs-form-textarea {
  min-height:80px;
  resize:vertical;
}
.mb-care-summary-composer #review_question {
  min-height:72px;
}
.mb-care-summary-sheet .mb-care-summary-editor {
  min-height:clamp(220px, 32dvh, 300px);
  max-height:40dvh;
  resize:vertical;
  line-height:1.5;
  border-color:var(--gs-border);
  box-shadow:none;
  caret-color:var(--gs-text-primary);
}
.mb-care-summary-sheet .mb-care-summary-editor:focus {
  border-color:var(--gs-product-action);
  box-shadow:0 0 0 2px color-mix(in srgb, var(--gs-product-action) 18%, transparent);
}
.mb-sheet-prompt-actions {
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:16px;
}
.mb-sheet-prompt-actions .gs-button {
  min-height:48px;
}
.mb-tracker-context {
  margin:0 0 16px;
  padding:16px;
  border:1px solid var(--gs-border);
  border-radius:14px;
  background:var(--gs-card);
  color:var(--gs-text-secondary);
}
.mb-tracker-context p {
  margin:0;
  font-size:var(--gs-type-body-small-size);
  line-height:var(--gs-type-body-small-line);
}
.mb-tracker-context p:first-child {
  color:var(--gs-text-primary);
  font-weight:600;
}
.mb-tracker-context p + p {
  margin-top:8px;
}
.gs-morning-bowel-layout .gs-product-sheet .gs-sheet-header {
  padding-top:8px;
  padding-bottom:16px;
}
.gs-morning-bowel-layout .gs-product-sheet .gs-sheet-title {
  font-weight:700;
}
.gs-morning-bowel-layout .gs-product-sheet .gs-sheet-close {
  min-width:44px;
  min-height:44px;
}

@media (max-height:760px) {
  .mb-session .mb-step__visual,
  .mb-overview__visual {
    max-width:144px;
  }
  .mb-session__body {
    gap:16px;
  }
}

.gs-morning-bowel-layout .gs-app-shell > nav {
  border-top:0!important;
}
.gs-morning-bowel-layout main {
  height:100dvh;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.gs-morning-bowel-layout #flash_messages:empty {
  display:none;
}
.gs-morning-bowel-layout .mb-session,
.gs-morning-bowel-layout .mb-overview {
  flex:1;
  min-height:0;
}
.gs-product-sheet .mb-sheet-source {
  margin:12px 0 0;
}
.gs-product-sheet .mb-sheet-source-title {
  min-height:44px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 0;
  font-size:var(--gs-type-row-title-size);
  line-height:var(--gs-type-row-title-line);
  font-weight:600;
  color:var(--gs-text-primary);
  text-decoration:underline;
  text-underline-offset:3px;
}
a.mb-sheet-source-title:hover {
  color:var(--gs-text-primary);
}
.gs-product-sheet .mb-sheet-source-org {
  margin:0 0 8px;
  font-size:var(--gs-type-body-small-size);
  line-height:var(--gs-type-body-small-line);
  color:var(--gs-text-muted);
}
.gs-product-sheet .mb-sheet-source-limits {
  margin:0 0 14px;
}
.gs-product-sheet .mb-sheet-source-limits summary {
  cursor:pointer;
  list-style:none;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:var(--gs-type-caption-size);
  line-height:var(--gs-type-caption-line);
  font-weight:600;
  color:var(--gs-text-secondary);
}
.gs-product-sheet .mb-sheet-source-limits summary::-webkit-details-marker { display:none; }
.gs-product-sheet .mb-sheet-source-limits-body {
  margin:0 0 8px;
  white-space:pre-line;
  font-size:var(--gs-type-body-small-size);
  line-height:var(--gs-type-body-small-line);
  color:var(--gs-text-secondary);
}
.gs-morning-bowel-layout .mb-sheet-care {
  margin:16px 0 8px;
}
.gs-morning-bowel-layout .mb-sheet-care > summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:44px;
  padding:12px 0;
  color:var(--gs-text-primary);
  font-size:var(--gs-type-row-title-size);
  line-height:var(--gs-type-row-title-line);
  font-weight:600;
  cursor:pointer;
  list-style:none;
}
.gs-morning-bowel-layout .mb-sheet-care > summary::-webkit-details-marker { display:none; }
.gs-morning-bowel-layout .mb-sheet-care > summary::after {
  content:"›";
  color:var(--gs-text-muted);
  font-size:20px;
  font-weight:400;
}
.gs-morning-bowel-layout .mb-sheet-care__content {
  padding-bottom:12px;
}
