:root {
  --bg: #f5f4ee;
  --surface: #fffef9;
  --surface-soft: #edf7f1;
  --surface-ink: #12241e;
  --text: #141d18;
  --dim: #5f6c63;
  --muted: #6e7a72;
  --line: #d9e3d7;
  --teal: #087c70;
  --teal-ink: #043f39;
  --mint: #ddf7ef;
  --berry: #bb245e;
  --berry-soft: #fae4ec;
  --amber: #b87519;
  --amber-soft: #fff0c9;
  --blue: #3157d5;
  --shadow: 0 22px 55px rgba(27, 45, 36, .13), 0 2px 8px rgba(27, 45, 36, .06);
  --shadow-soft: 0 14px 34px rgba(27, 45, 36, .09);
  --shadow-lift: 0 28px 70px rgba(7, 74, 65, .18), 0 8px 22px rgba(27, 45, 36, .08);
  --glow: 0 0 0 1px rgba(255, 255, 255, .72) inset;
  --radius: 8px;
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html, body { margin: 0; min-height: 100%; }
html { background: var(--bg); }
body {
  color: var(--text);
  font: 16px/1.5 Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  background:
    linear-gradient(118deg, rgba(8, 124, 112, .14), transparent 36%),
    linear-gradient(252deg, rgba(187, 36, 94, .08), transparent 34%),
    linear-gradient(180deg, rgba(255, 254, 249, .94) 0, rgba(245, 244, 238, .78) 45%, rgba(237, 247, 241, .92) 100%),
    repeating-linear-gradient(90deg, rgba(8, 63, 57, .035) 0 1px, transparent 1px 80px),
    repeating-linear-gradient(0deg, rgba(8, 63, 57, .026) 0 1px, transparent 1px 80px),
    var(--bg);
  background-attachment: fixed;
  min-height: 100vh;
}
.skip-link {
  position: fixed;
  top: calc(8px + env(safe-area-inset-top));
  left: 12px;
  z-index: 30;
  transform: translateY(-140%);
  padding: 10px 14px;
  border-radius: var(--radius);
  background: var(--teal-ink);
  color: #fff;
  box-shadow: var(--shadow-lift);
  transition: transform .14s ease;
}
.skip-link:focus {
  transform: translateY(0);
}
button, input, textarea, select { font: inherit; }
button, .btn {
  --busy-fg: #fff;
  border: 0;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: var(--radius);
  padding: 10px 16px;
  background:
    linear-gradient(135deg, #0c867a, #087c70 48%, #3157d5 135%);
  color: #fff;
  font-weight: 800;
  max-width: 100%;
  min-width: 0;
  line-height: 1.15;
  text-align: center;
  white-space: normal;
  cursor: pointer;
  box-shadow: 0 15px 32px rgba(8, 124, 112, .24), 0 2px 0 rgba(255, 255, 255, .2) inset;
  position: relative;
  overflow: hidden;
  touch-action: manipulation;
  user-select: none;
  transition:
    transform .12s ease,
    filter .12s ease,
    box-shadow .12s ease,
    background-color .12s ease,
    border-color .12s ease;
}
button > span,
button > b,
button > small,
.btn > span,
.btn > b,
.btn > small {
  min-width: 0;
}
button:focus-visible, .btn:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 3px solid rgba(15, 118, 110, .26);
  outline-offset: 2px;
}
button:hover, .btn:hover {
  box-shadow: 0 19px 38px rgba(8, 124, 112, .28), 0 2px 0 rgba(255, 255, 255, .24) inset;
  transform: translateY(-1px);
}
button.ghost, .btn.ghost {
  --busy-fg: var(--teal-ink);
  background: rgba(255, 254, 249, .84);
  color: var(--text);
  border: 1px solid rgba(217, 227, 215, .95);
  box-shadow: 0 8px 18px rgba(27, 45, 36, .05);
}
button.ghost:hover, .btn.ghost:hover {
  border-color: rgba(8, 124, 112, .25);
  box-shadow: 0 14px 30px rgba(27, 45, 36, .09);
}
:where(button, .btn, .shop-link):active,
:where(button, .btn, .shop-link).is-pressed {
  transform: translateY(1px) scale(.985);
  filter: brightness(.96);
}
button.sm {
  min-height: 36px;
  padding: 7px 11px;
  font-size: 13px;
}
.favorite-btn:disabled {
  color: var(--teal);
  border-color: #bde8db;
  background: var(--mint);
}
button:disabled, .btn:has(+ input:disabled) { opacity: .55; cursor: default; }
button.ghost:disabled {
  color: var(--muted);
  background: rgba(242, 245, 238, .72);
  border-color: rgba(217, 227, 215, .76);
  box-shadow: none;
  transform: none;
}
button.is-busy {
  color: transparent !important;
  pointer-events: none;
  opacity: .92;
}
button.is-busy:disabled { opacity: .92; }
button.is-busy .i,
button.is-busy svg {
  opacity: 0;
}
button.is-busy::before {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(50% - 34px);
  width: 16px;
  height: 16px;
  margin: -8px 0 0 -8px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, .45);
  border-top-color: var(--busy-fg);
  animation: button-spin .75s linear infinite;
}
button.ghost.is-busy::before,
button.icon-btn.is-busy::before {
  border-color: rgba(15, 118, 110, .22);
  border-top-color: var(--teal);
}
button.is-busy::after {
  content: attr(data-busy-label);
  position: absolute;
  top: 50%;
  left: calc(50% + 10px);
  transform: translate(-50%, -50%);
  color: var(--busy-fg);
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}
button.icon-btn.is-busy::before,
button.top-icon.is-busy::before,
button.sm.is-busy::before {
  left: 50%;
}
button.icon-btn.is-busy::after,
button.top-icon.is-busy::after,
button.sm.is-busy::after {
  content: "";
}
button.sm.is-busy::before {
  width: 14px;
  height: 14px;
  margin: -7px 0 0 -7px;
}
@keyframes button-spin {
  to { transform: rotate(360deg); }
}
input, textarea, select {
  width: 100%;
  color: var(--text);
  background: rgba(255, 254, 249, .9);
  border: 1px solid rgba(217, 227, 215, .95);
  border-radius: var(--radius);
  padding: 12px 13px;
  outline: none;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .76) inset;
}
select {
  min-height: 46px;
  padding-right: 40px;
  appearance: none;
  background:
    linear-gradient(45deg, transparent 50%, var(--teal-ink) 50%) right 18px center / 7px 7px no-repeat,
    linear-gradient(135deg, var(--teal-ink) 50%, transparent 50%) right 13px center / 7px 7px no-repeat,
    rgba(255, 254, 249, .9);
}
input:focus, textarea:focus, select:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(15, 118, 110, .12); }
label {
  display: block;
  margin: 0 0 7px;
  color: var(--dim);
  font-size: 13px;
  font-weight: 800;
}
a { color: var(--teal-ink); font-weight: 800; text-decoration: none; }
code { background: #eef2e9; border: 1px solid var(--line); border-radius: 6px; padding: 1px 5px; }

.topbar {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: calc(12px + env(safe-area-inset-top)) 16px 12px;
  background:
    linear-gradient(90deg, rgba(255, 254, 249, .94), rgba(240, 248, 242, .88)),
    rgba(255, 254, 249, .82);
  border-bottom: 1px solid rgba(217, 227, 215, .8);
  box-shadow: 0 12px 34px rgba(27, 45, 36, .06);
  backdrop-filter: blur(22px) saturate(1.2);
}
.brand { display: flex; align-items: center; gap: 11px; min-width: 0; }
.top-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}
.top-icon {
  width: 38px;
  min-height: 38px;
  padding: 0;
  background: rgba(255, 254, 249, .85);
  color: var(--teal-ink);
  border: 1px solid rgba(217, 227, 215, .95);
  box-shadow: 0 9px 18px rgba(27, 45, 36, .07);
}
.top-icon.active {
  background:
    linear-gradient(135deg, rgba(221, 247, 239, .98), rgba(236, 244, 255, .88));
  color: var(--teal);
  border-color: rgba(8, 124, 112, .24);
  box-shadow: 0 12px 24px rgba(8, 124, 112, .14), 0 0 0 1px rgba(255, 255, 255, .72) inset;
}
.top-icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.logo {
  display: block;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  object-fit: contain;
  background: transparent;
  filter: drop-shadow(0 16px 24px rgba(8, 124, 112, .24));
}
.topbar h1 {
  margin: 0;
  font-size: 20px;
  line-height: 1.05;
  letter-spacing: 0;
}
.tagline {
  margin: 2px 0 0;
  color: var(--dim);
  font-size: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 270px;
}
.pill {
  border-radius: 999px;
  padding: 5px 10px;
  background: rgba(255, 254, 249, .86);
  border: 1px solid rgba(217, 227, 215, .95);
  color: var(--dim);
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
  box-shadow: 0 8px 16px rgba(27, 45, 36, .05);
}
.pill.healthy { color: var(--teal); }
.pill.degraded { color: var(--amber); background: var(--amber-soft); }
.pill.unhealthy { color: var(--berry); background: var(--berry-soft); }
.pill.unknown { color: var(--dim); }
#health-pill[hidden] { display: none; }

.health-pill {
  width: 34px;
  min-width: 34px;
  min-height: 34px;
  padding: 0;
  display: inline-grid;
  place-items: center;
  box-shadow: none;
  cursor: pointer;
  overflow: visible;
}
.health-pill:hover {
  border-color: rgba(15, 118, 110, .3);
  filter: none;
}
.health-pill::before {
  content: "";
  width: 11px;
  height: 11px;
  border-radius: 999px;
  background: currentColor;
  box-shadow: 0 0 0 4px rgba(100, 112, 103, .14);
}
.health-pill.healthy { background: rgba(223, 245, 236, .8); }
.health-pill.degraded { background: var(--amber-soft); }
.health-pill.unhealthy { background: var(--berry-soft); }
.health-pill.healthy::before { box-shadow: 0 0 0 4px rgba(15, 118, 110, .14); }
.health-pill.degraded::before { box-shadow: 0 0 0 4px rgba(183, 121, 31, .15); }
.health-pill.unhealthy::before { box-shadow: 0 0 0 4px rgba(180, 35, 91, .14); }

.view {
  width: min(1120px, 100%);
  margin: 0 auto;
  padding: 22px 16px calc(100px + env(safe-area-inset-bottom));
}
.screen-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin: 8px 0 18px;
  padding: 2px 2px 0;
}
.screen-head h2 {
  margin: 2px 0 0;
  font-size: clamp(28px, 6vw, 44px);
  line-height: 1.05;
  letter-spacing: 0;
  color: var(--surface-ink);
}
.eyebrow {
  margin: 0;
  color: var(--teal);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.stat-strip {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(255, 254, 249, .82);
  border: 1px solid rgba(217, 227, 215, .92);
  color: var(--dim);
  font-size: 12px;
  font-weight: 800;
  box-shadow: 0 8px 18px rgba(27, 45, 36, .05);
}
.chip b { color: var(--text); }
.chip.green { background: var(--mint); color: var(--teal-ink); border-color: #bde8db; }
.chip.berry { background: var(--berry-soft); color: var(--berry); border-color: #f4bdd2; }
.google-btn {
  background: #ffffff;
  color: var(--surface-ink);
  border: 1px solid var(--line);
  box-shadow: 0 10px 24px rgba(35, 52, 41, .1);
}
.unlock-choice-stack {
  display: grid;
  gap: 14px;
}
.unlock-shared-meal {
  display: grid;
  grid-template-columns: minmax(0, 260px) minmax(0, 1fr);
  gap: 20px;
  align-items: center;
  margin: 0 auto 20px;
  max-width: 960px;
}
.unlock-shared-meal img { width: 100%; height: 170px; object-fit: contain; }
.unlock-shared-meal:not(:has(img)) { grid-template-columns: minmax(0, 1fr); }
.unlock-shared-meal h3 { font-size: 23px; margin: 0 0 8px; overflow-wrap: anywhere; }
.unlock-shared-meal .meta { font-size: 14px; line-height: 1.5; }
@media (max-width: 600px) {
  .unlock-shared-meal { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .unlock-shared-meal img { height: 150px; }
  .unlock-shared-meal h3 { font-size: 21px; }
}
.unlock-option {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(8, 124, 112, .14);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .92), rgba(240, 251, 246, .72)),
    var(--surface);
}
.unlock-option.google {
  border-color: rgba(44, 107, 237, .2);
  background:
    radial-gradient(circle at 0% 0%, rgba(44, 107, 237, .11), transparent 38%),
    linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(232, 238, 255, .58)),
    var(--surface);
}
.unlock-option h3 {
  margin: 0 0 4px;
}
.unlock-option .btn,
.unlock-option .inline-form {
  margin-top: 0;
}
.unlock-divider {
  display: grid;
  place-items: center;
  color: var(--dim);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.unlock-divider span {
  padding: 4px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 254, 249, .92);
}

.card {
  position: relative;
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .96), rgba(255, 255, 255, .9)),
    var(--surface);
  border: 1px solid rgba(217, 227, 215, .92);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 18px;
  margin-bottom: 14px;
}
.card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  border-radius: var(--radius) var(--radius) 0 0;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .92), transparent);
  pointer-events: none;
}
.card h3 {
  margin: 0;
  font-size: 17px;
  line-height: 1.25;
}
.card.quiet {
  box-shadow: 0 10px 24px rgba(27, 45, 36, .05);
  background: rgba(255, 254, 249, .72);
}
.account-card {
  border-color: rgba(15, 118, 110, .22);
  background:
    linear-gradient(135deg, rgba(221, 247, 239, .86), rgba(255, 254, 249, .94) 58%),
    var(--surface);
}
.account-card,
.saved-meals-card,
.privacy-card,
.token-card,
.disclosure-center-card,
.product-health-card,
.launch-readiness-card,
.ops-card,
.disclaimer-card {
  isolation: isolate;
  overflow: hidden;
  border-color: rgba(8, 124, 112, .18);
  background:
    radial-gradient(circle at 10% 0%, rgba(142, 229, 199, .24), transparent 29%),
    radial-gradient(circle at 96% 7%, rgba(108, 131, 255, .12), transparent 31%),
    linear-gradient(128deg, rgba(255, 255, 255, .97), rgba(221, 247, 239, .44) 44%, rgba(231, 235, 255, .2) 78%, rgba(250, 228, 236, .14)),
    linear-gradient(180deg, rgba(255, 254, 249, .98), rgba(247, 251, 247, .94)),
    var(--surface);
  box-shadow:
    0 26px 62px rgba(7, 74, 65, .12),
    0 8px 22px rgba(27, 45, 36, .055),
    0 1px 0 rgba(255, 255, 255, .78) inset;
  backdrop-filter: blur(16px) saturate(1.08);
}
.account-card::before,
.saved-meals-card::before,
.privacy-card::before,
.token-card::before,
.disclosure-center-card::before,
.product-health-card::before,
.launch-readiness-card::before,
.ops-card::before,
.disclaimer-card::before {
  height: 4px;
  background: linear-gradient(90deg, #043f39, #087c70 30%, #8ee5c7 55%, #3157d5 84%);
  opacity: .78;
}
.account-card > *,
.saved-meals-card > *,
.privacy-card > *,
.token-card > *,
.disclosure-center-card > *,
.product-health-card > *,
.launch-readiness-card > *,
.ops-card > *,
.disclaimer-card > * {
  position: relative;
  z-index: 1;
}
.privacy-card,
.token-card {
  background:
    radial-gradient(circle at 8% 0%, rgba(142, 229, 199, .26), transparent 28%),
    radial-gradient(circle at 95% 5%, rgba(49, 87, 213, .14), transparent 34%),
    linear-gradient(128deg, rgba(255, 255, 255, .97), rgba(221, 247, 239, .44) 44%, rgba(236, 244, 255, .34)),
    var(--surface);
}
.disclosure-center-card,
.disclaimer-card {
  background:
    radial-gradient(circle at 8% 0%, rgba(255, 240, 201, .36), transparent 31%),
    radial-gradient(circle at 96% 8%, rgba(142, 229, 199, .2), transparent 32%),
    linear-gradient(128deg, rgba(255, 255, 255, .98), rgba(255, 240, 201, .32) 42%, rgba(221, 247, 239, .28) 78%),
    var(--surface);
}
.ops-card,
.launch-readiness-card {
  background:
    radial-gradient(circle at 9% 0%, rgba(236, 244, 255, .5), transparent 30%),
    radial-gradient(circle at 96% 8%, rgba(142, 229, 199, .22), transparent 33%),
    linear-gradient(128deg, rgba(255, 255, 255, .98), rgba(239, 246, 255, .56) 43%, rgba(221, 247, 239, .3) 80%),
    var(--surface);
}
.account-card code {
  word-break: break-word;
}
.account-row .count-pill {
  max-width: 190px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.profile-card-head {
  gap: 14px;
  margin-bottom: 12px;
}
.profile-card-head .eyebrow {
  margin-bottom: 4px;
}
.profile-card-head h3 {
  max-width: 42rem;
  font-size: 21px;
}
.profile-card-head .meta {
  max-width: 56rem;
}
.profile-control-card {
  border-radius: var(--radius-lg);
}
.profile-control-deck {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(158px, 1fr));
  gap: 9px;
  margin: 12px 0;
}
.profile-control-tile {
  min-width: 0;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 9px;
  align-items: flex-start;
  min-height: 88px;
  padding: 11px;
  border: 1px solid rgba(8, 124, 112, .13);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .94), rgba(248, 252, 246, .78));
  box-shadow:
    0 12px 24px rgba(7, 74, 65, .06),
    0 1px 0 rgba(255, 255, 255, .72) inset;
}
.profile-control-tile.ready {
  border-color: rgba(8, 124, 112, .24);
  background:
    linear-gradient(180deg, rgba(221, 247, 239, .9), rgba(255, 254, 249, .82));
}
.profile-control-tile.attention {
  border-color: rgba(217, 119, 6, .24);
  background:
    linear-gradient(180deg, rgba(255, 240, 201, .82), rgba(255, 254, 249, .84));
}
.profile-control-tile .i {
  width: 22px;
  height: 22px;
  color: var(--teal);
}
.profile-control-tile.attention .i {
  color: var(--amber);
}
.profile-control-tile span,
.profile-control-tile b,
.profile-control-tile strong,
.profile-control-tile small {
  display: block;
  min-width: 0;
}
.profile-control-tile b {
  color: var(--dim);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .02em;
  line-height: 1.15;
  text-transform: uppercase;
}
.profile-control-tile strong {
  margin-top: 4px;
  color: var(--teal-ink);
  font-size: 15px;
  line-height: 1.15;
  overflow-wrap: anywhere;
}
.profile-control-tile small {
  margin-top: 4px;
  color: var(--dim);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.28;
}
.saved-meals-list {
  margin-top: 12px;
}
button.saved-meal-remove {
  min-height: 42px;
  white-space: nowrap;
}
.muted, .meta, .empty, .status-line {
  color: var(--dim);
}
.meta { font-size: 13px; }
.empty { text-align: center; padding: 28px 8px; font-weight: 700; }
.loading {
  min-height: 142px;
  display: grid;
  place-items: center;
  gap: 12px;
  margin-bottom: 14px;
  padding: 34px 18px;
  border: 1px solid rgba(8, 124, 112, .14);
  border-radius: var(--radius);
  background:
    radial-gradient(circle at 50% 0%, rgba(142, 229, 199, .28), transparent 40%),
    linear-gradient(135deg, rgba(255, 254, 249, .88), rgba(221, 247, 239, .5));
  color: var(--dim);
  text-align: center;
  font-weight: 900;
  box-shadow: 0 18px 38px rgba(27, 45, 36, .07);
}
.loading::before {
  content: "";
  width: 34px;
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, #fffef9 0 35%, transparent 36%),
    conic-gradient(from -90deg, var(--teal), #8ee5c7 48%, rgba(8, 124, 112, .12) 49% 100%);
  box-shadow:
    0 0 0 7px rgba(221, 247, 239, .7),
    0 14px 28px rgba(8, 124, 112, .15);
  animation: loading-spin .9s linear infinite;
}
.loading span {
  display: block;
}
.loading.inline {
  min-height: 0;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 9px;
  margin: 0;
  padding: 14px 0 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  text-align: left;
}
.loading.inline::before {
  width: 17px;
  box-shadow: 0 0 0 4px rgba(221, 247, 239, .7);
}
@keyframes loading-spin {
  to { transform: rotate(360deg); }
}
.screen-error-shell {
  border-color: rgba(187, 36, 94, .18);
  background:
    radial-gradient(circle at 10% 0%, rgba(250, 228, 236, .56), transparent 34%),
    linear-gradient(135deg, rgba(255, 254, 249, .96), rgba(255, 240, 201, .34));
}
.screen-error-card {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}
.screen-error-icon {
  width: 52px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(187, 36, 94, .14), rgba(255, 240, 201, .72));
  color: var(--berry);
  box-shadow: 0 14px 28px rgba(187, 36, 94, .1);
}
.screen-error-icon .i {
  width: 26px;
  height: 26px;
}
.screen-error-card h3 {
  margin-bottom: 6px;
  font-size: 22px;
}
.screen-error-card .home-actions {
  margin-top: 14px;
}
.error-detail {
  margin-top: 12px;
  border: 1px solid rgba(217, 227, 215, .72);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .58);
}
.error-detail summary {
  min-height: 36px;
  display: flex;
  align-items: center;
  padding: 8px 10px;
  color: var(--dim);
  cursor: pointer;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.error-detail pre {
  overflow: auto;
  margin: 0;
  padding: 0 10px 10px;
  color: var(--dim);
  font-size: 12px;
  white-space: pre-wrap;
}
.row { display: flex; align-items: center; gap: 10px; }
.row > * { min-width: 0; }
.spread { justify-content: space-between; }
.top-align { align-items: flex-start; }
.i, button svg, .btn svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex: 0 0 auto;
}

.capture-card { padding: 12px; }
.capture-grid {
  display: grid;
  gap: 12px;
}
.capture-stage {
  position: relative;
  min-height: 310px;
  overflow: hidden;
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(15, 118, 110, .2), transparent 45%),
    linear-gradient(315deg, rgba(180, 35, 91, .12), transparent 42%),
    #203128;
}
.preview {
  width: 100%;
  height: 100%;
  min-height: 310px;
  object-fit: cover;
  display: none;
}
.photo-placeholder {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  text-align: center;
  color: #eef8ef;
  gap: 10px;
}
.photo-placeholder svg {
  width: 52px;
  height: 52px;
  margin: 0 auto;
}
button.inventory-photo-trigger {
  width: 100%;
  height: 100%;
  padding: 20px;
  border: 0;
  border-radius: inherit;
  background: transparent;
  box-shadow: none;
  color: #eef8ef;
}
button.inventory-photo-trigger:hover { transform: none; background: rgba(255, 255, 255, .06); }
button.inventory-photo-trigger:focus-visible { outline: 3px solid var(--mint); outline-offset: -6px; }
.capture-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.capture-actions.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.capture-actions button, .capture-actions .btn { width: 100%; padding-inline: 8px; }
.label-scan-grid { margin-top: 12px; }
.label-stage,
.label-stage .preview {
  min-height: 190px;
}
.label-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.label-list b {
  color: var(--text);
  margin-right: 2px;
}
.label-list span {
  border-radius: 999px;
  padding: 4px 8px;
  background: #f2f5ee;
  color: var(--dim);
  font-size: 12px;
  font-weight: 800;
}
.status-line { margin: 12px 4px 0; font-size: 13px; }
.freshness-strip {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  margin: 0 0 12px;
  padding: 11px 12px;
  border: 1px solid #bde8db;
  border-radius: var(--radius);
  background: rgba(223, 245, 236, .66);
}
.freshness-strip.stale {
  border-color: #f3d587;
  background: var(--amber-soft);
}
.freshness-strip .i {
  width: 22px;
  height: 22px;
  color: var(--teal);
}
.freshness-strip.stale .i {
  color: #68400c;
}
.freshness-strip b,
.freshness-strip span {
  display: block;
}
.freshness-strip b {
  color: var(--teal-ink);
  font-size: 13px;
}
.freshness-strip.stale b {
  color: #68400c;
}
.freshness-strip span {
  margin-top: 2px;
  color: var(--dim);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}
.freshness-strip.stale span {
  color: #68400c;
}
.freshness-strip button {
  min-height: 38px;
}
.result-head, .insight {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.score, .cal {
  display: inline-grid;
  place-items: center;
  min-width: 56px;
  min-height: 40px;
  border-radius: var(--radius);
  background: linear-gradient(180deg, #e5fbf3, #cbf1e6);
  color: var(--teal-ink);
  font-weight: 900;
  box-shadow: 0 10px 20px rgba(8, 124, 112, .12);
}
.cal b,
.cal small {
  display: block;
}
.cal b {
  font-size: 17px;
  line-height: 1;
}
.cal small {
  margin-top: 2px;
  color: var(--teal);
  font-size: 9px;
  font-weight: 950;
  line-height: 1;
  text-transform: uppercase;
}
.cal.needs-nutrition {
  min-width: 86px;
  background: linear-gradient(180deg, rgba(255, 243, 205, .94), rgba(255, 231, 161, .82));
  color: #68400c;
  box-shadow: 0 10px 20px rgba(138, 91, 0, .12);
}
.cal.needs-nutrition b {
  font-size: 13px;
}
.cal.needs-nutrition small {
  color: #8a5b00;
  font-size: 8px;
}
.match-badge {
  display: inline-grid;
  place-items: center;
  min-width: 62px;
  min-height: 50px;
  border-radius: var(--radius);
  background: linear-gradient(180deg, #e7fbf4, #c9f0e5);
  color: var(--teal-ink);
  padding: 6px 9px;
  text-align: center;
  line-height: 1.05;
  font-weight: 900;
  border: 1px solid rgba(8, 124, 112, .12);
  box-shadow: 0 12px 24px rgba(8, 124, 112, .11);
}
.match-badge b {
  display: block;
  font-size: 18px;
}
.match-badge small {
  display: block;
  margin-top: 3px;
  color: var(--teal);
  font-size: 10px;
  text-transform: uppercase;
}
.match-badge.compact {
  min-width: 70px;
  min-height: 44px;
}
.match-pair {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  max-width: 170px;
}
.match-pair .match-badge {
  min-width: 76px;
}
.match-badge.inventory {
  background: linear-gradient(180deg, #f7faf4, #e9f4e8);
}
.match-badge.nutrition {
  background: linear-gradient(180deg, #e8fbf5, #c8f1e7);
}
.confidence-badge {
  display: inline-grid;
  place-items: center;
  min-width: 82px;
  min-height: 54px;
  border-radius: var(--radius);
  background: var(--mint);
  color: var(--teal-ink);
  padding: 6px 9px;
  text-align: center;
  line-height: 1.05;
  font-weight: 900;
}
.confidence-badge b {
  display: block;
  font-size: 18px;
}
.confidence-badge small {
  display: block;
  margin-top: 3px;
  color: var(--teal);
  font-size: 10px;
  text-transform: uppercase;
}
.confidence-badge.trust {
  justify-items: start;
  min-width: 138px;
  min-height: 42px;
  text-align: left;
}
.confidence-badge.trust b {
  font-size: 15px;
  text-transform: capitalize;
}
.confidence-badge.trust small {
  max-width: 160px;
  color: inherit;
  line-height: 1.15;
}
.confidence-badge.trust.high {
  background: var(--mint);
  color: var(--teal-ink);
}
.confidence-badge.trust.medium {
  background: var(--amber-soft);
  color: #68400c;
}
.confidence-badge.trust.low {
  background: var(--berry-soft);
  color: var(--berry);
}
.confidence-badge.trust.compact {
  min-width: 112px;
  min-height: 36px;
  padding: 5px 8px;
}
.confidence-badge.trust.compact b {
  font-size: 13px;
}
.trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.metrics-row, .research-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 14px 0;
}
.metrics-row.compact { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dashboard-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}
.home-shortcuts-card {
  border-color: rgba(8, 124, 112, .24);
  background:
    linear-gradient(135deg, rgba(221, 247, 239, .82), rgba(255, 254, 249, .96) 48%, rgba(232, 238, 255, .72)),
    var(--surface);
  box-shadow: var(--shadow-lift);
}
.home-shortcut-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.home-shortcut-head h3 {
  margin-top: 2px;
}
.home-shortcut-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}
.home-shortcut-grid[data-count="2"] {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.home-shortcut-grid[data-count="4"] {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.home-shortcut {
  min-width: 0;
  min-height: 112px;
  display: grid;
  align-content: start;
  justify-items: start;
  gap: 10px;
  padding: 14px;
  border-radius: var(--radius);
  border: 1px solid rgba(8, 124, 112, .17);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(248, 252, 246, .82)),
    var(--surface);
  color: var(--ink);
  box-shadow: 0 14px 26px rgba(7, 74, 65, .08);
  text-align: left;
}
.home-shortcut svg {
  width: 25px;
  height: 25px;
  color: var(--teal);
}
.home-shortcut span,
.home-shortcut b,
.home-shortcut small {
  min-width: 0;
  display: block;
}
.home-shortcut b {
  color: var(--teal-ink);
  font-size: 15px;
  font-weight: 950;
  line-height: 1.12;
}
.home-shortcut small {
  margin-top: 5px;
  color: var(--dim);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
}
.home-shortcut.supplement {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(255, 246, 221, .56)),
    var(--surface);
}
.home-shortcut.workout {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(232, 238, 255, .7)),
    var(--surface);
}
.home-shortcut.feel {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(250, 228, 237, .64)),
    var(--surface);
}
.home-shortcut-launch,
.log-quick-add-callout {
  width: 100%;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 86px;
  padding: 15px;
  border-radius: var(--radius);
  border: 1px solid rgba(8, 124, 112, .18);
  background:
    radial-gradient(circle at 0% 0%, rgba(142, 229, 199, .28), transparent 34%),
    linear-gradient(135deg, rgba(255, 255, 255, .94), rgba(232, 238, 255, .6)),
    var(--surface);
  color: var(--ink);
  text-align: left;
  box-shadow: 0 16px 34px rgba(7, 74, 65, .09);
}
.home-shortcut-launch > svg,
.log-quick-add-callout > svg {
  width: 28px;
  height: 28px;
  color: var(--teal);
}
.home-shortcut-launch span,
.log-quick-add-callout span {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.home-shortcut-launch b,
.log-quick-add-callout b {
  color: var(--teal-ink);
  font-size: 16px;
  font-weight: 950;
  line-height: 1.1;
}
.home-shortcut-launch small,
.log-quick-add-callout small {
  color: var(--dim);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
}
.home-shortcut-launch em {
  justify-self: end;
  max-width: 150px;
  color: var(--dim);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.2;
  text-align: right;
}
.home-actions, .prompt-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.more-grid {
  display: grid;
  gap: 14px;
}
.more-intro {
  margin-bottom: 14px;
}
.more-path-card-wrap {
  border-color: rgba(8, 124, 112, .22);
  background: linear-gradient(135deg, rgba(221, 247, 239, .78), rgba(255, 254, 249, .95));
  box-shadow: var(--shadow-lift);
}
.more-path-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.more-path-head h3 {
  margin-top: 2px;
}
.more-path-head button {
  flex: 0 0 auto;
}
.main-path-next {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin-top: 14px;
  padding: 13px;
  border: 1px solid rgba(8, 124, 112, .18);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .96), rgba(221, 247, 239, .86)),
    var(--surface);
  box-shadow: 0 14px 28px rgba(7, 74, 65, .08);
}
.main-path-next.complete {
  border-color: rgba(49, 87, 213, .18);
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .96), rgba(232, 238, 255, .9)),
    var(--surface);
}
.main-path-next b,
.main-path-next span,
.main-path-next small {
  display: block;
}
.main-path-next b {
  color: var(--teal-ink);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.main-path-next span {
  margin-top: 2px;
  color: var(--text);
  font-size: 18px;
  font-weight: 950;
  line-height: 1.15;
}
.main-path-next small {
  margin-top: 4px;
  color: var(--dim);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}
.main-path-next button {
  min-height: 44px;
}
.more-path-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 14px;
}
.main-path-card {
  min-height: 88px;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 12px;
  text-align: left;
  color: var(--teal-ink);
  background: rgba(255, 254, 249, .86);
  border: 1px solid #bde8db;
  box-shadow: 0 12px 22px rgba(8, 124, 112, .07);
}
.main-path-card.done {
  background: rgba(221, 247, 239, .78);
  color: var(--teal-ink);
}
.main-path-card.current {
  border-color: rgba(49, 87, 213, .28);
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .96), rgba(230, 236, 255, .9));
  box-shadow: 0 16px 30px rgba(49, 87, 213, .12);
}
.main-path-card .i {
  width: 24px;
  height: 24px;
}
.main-path-card span {
  display: grid;
  gap: 2px;
}
.main-path-card small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
}
.support-card {
  box-shadow: none;
}
.support-tools {
  gap: 16px;
}
.more-section {
  display: grid;
  gap: 9px;
}
.more-section.compact .more-section-head h3 {
  font-size: 14px;
}
.more-section.compact .more-section-head .meta {
  font-size: 12px;
}
.more-section-head h3 {
  margin: 0 0 2px;
  font-size: 16px;
}
.more-section-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.nav-card {
  justify-content: flex-start;
  min-height: 78px;
  padding: 12px;
  text-align: left;
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .9), rgba(248, 251, 245, .82));
  color: var(--text);
  border: 1px solid rgba(217, 227, 215, .9);
  box-shadow: 0 10px 18px rgba(27, 45, 36, .045);
}
.nav-card .i {
  width: 24px;
  height: 24px;
}
.nav-card span {
  display: grid;
  gap: 1px;
}
.nav-card small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}
.more-section.compact .nav-card {
  min-height: 64px;
  padding: 10px;
  background: rgba(255, 254, 249, .84);
}
.more-section.compact .nav-card .i {
  width: 20px;
  height: 20px;
}
.more-section.compact .nav-card small {
  font-size: 11px;
}
.notice-card {
  border-color: #f3d587;
  background: rgba(255, 252, 242, .94);
}
.visual-accent {
  position: relative;
  overflow: hidden;
  min-height: 132px;
  margin: -6px -6px 14px;
  border-radius: var(--radius);
  background: #eef6ec;
}
.visual-accent img {
  width: 100%;
  height: 100%;
  min-height: 132px;
  display: block;
  object-fit: cover;
}
.visual-accent::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .9), rgba(255, 255, 255, .34) 44%, rgba(255, 255, 255, .04)),
    linear-gradient(0deg, rgba(255, 255, 255, .72), transparent 52%);
  pointer-events: none;
}
.visual-accent.onboarding {
  min-height: 150px;
}
.visual-accent.onboarding img {
  min-height: 150px;
}
.onboarding-card {
  border-color: rgba(8, 124, 112, .24);
  background:
    linear-gradient(135deg, rgba(221, 247, 239, .9), rgba(255, 254, 249, .94)),
    var(--surface);
  box-shadow: var(--shadow-lift);
}
body:has(.onboarding-card) .quick-add-fab {
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px);
}
.onboarding-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.onboarding-head h3 { margin-top: 2px; }
.progress-badge {
  display: inline-grid;
  place-items: center;
  min-width: 52px;
  height: 42px;
  gap: 0;
  border-radius: var(--radius);
  background: var(--teal);
  color: #fff;
  line-height: 1;
}
.progress-badge b {
  font-size: 17px;
  font-weight: 950;
}
.progress-badge small {
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
  opacity: .9;
}
.onboarding-primary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.core-loop-rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin-top: 14px;
  padding: 7px;
  border: 1px solid rgba(8, 124, 112, .12);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .58);
}
.core-loop-rail span {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 8px;
  border-radius: 6px;
  color: var(--dim);
  font-size: 11px;
  font-weight: 900;
  line-height: 1.15;
}
.core-loop-rail span.done {
  background: rgba(221, 247, 239, .74);
  color: var(--teal-ink);
}
.core-loop-rail span.current {
  background: rgba(255, 240, 201, .78);
  color: #68400c;
}
.core-loop-rail .i {
  width: 15px;
  height: 15px;
}
.core-loop-rail b {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.onboarding-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 14px;
}
.onboarding-step {
  min-height: 74px;
  justify-content: flex-start;
  text-align: left;
  padding: 10px;
  background: rgba(255, 255, 255, .82);
  color: var(--text);
  border: 1px solid var(--line);
  box-shadow: none;
}
.onboarding-step.done {
  border-color: #bde8db;
  background: var(--mint);
  color: var(--teal-ink);
}
.onboarding-step.current {
  border-color: var(--teal);
  background: #fff;
  color: var(--teal-ink);
  box-shadow: 0 12px 28px rgba(15, 118, 110, .12);
}
.onboarding-step span {
  display: grid;
  gap: 1px;
}
.onboarding-step small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.25;
}
.onboarding-step.current small {
  color: var(--teal-ink);
}
.onboarding-foot {
  margin-top: 10px;
}
.onboarding-steps.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.onboarding-steps.two .onboarding-step {
  display: flex;
  align-items: center;
  cursor: default;
}
.first-run-fields {
  display: grid;
  grid-template-columns: minmax(110px, .7fr) minmax(170px, 1fr) auto;
  gap: 10px;
  align-items: end;
  margin-top: 14px;
  padding: 13px;
  border: 1px solid rgba(8, 124, 112, .16);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, .72);
}
.first-run-fields > div {
  min-width: 0;
}
.first-run-fields label {
  font-size: 11px;
  font-weight: 900;
}
.first-run-fields input,
.first-run-fields select {
  margin-top: 4px;
}
.first-run-fields button {
  min-height: 46px;
}
.first-run-meal-callout {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 11px;
  align-items: center;
  margin-top: 14px;
  padding: 13px;
  border: 1px solid rgba(49, 87, 213, .16);
  border-radius: var(--radius);
  background: linear-gradient(135deg, rgba(255, 255, 255, .86), rgba(236, 244, 255, .72));
}
.first-run-meal-callout > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--mint);
  color: var(--teal);
}
.first-run-meal-callout b,
.first-run-meal-callout small {
  display: block;
}
.first-run-meal-callout b {
  color: var(--surface-ink);
  font-size: 14px;
}
.first-run-meal-callout small {
  margin-top: 3px;
  color: var(--dim);
  font-size: 11px;
  line-height: 1.35;
}
.first-meal-progress {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin: 2px 0 14px;
  padding: 6px;
  border: 1px solid rgba(8, 124, 112, .14);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, .62);
}
.first-meal-progress span {
  min-width: 0;
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr);
  gap: 6px;
  align-items: center;
  padding: 7px;
  border-radius: 6px;
  color: var(--muted);
}
.first-meal-progress span.current {
  background: var(--mint);
  color: var(--teal-ink);
}
.first-meal-progress span.done {
  color: var(--teal);
}
.first-meal-progress b {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 11px;
}
.first-meal-progress small {
  overflow: hidden;
  font-size: 10px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.first-week-card {
  border-color: rgba(8, 124, 112, .2);
  box-shadow: var(--shadow-soft);
}
.first-week-next {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  margin-top: 12px;
  padding: 11px 12px;
  border: 1px solid rgba(8, 124, 112, .14);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .74);
}
.first-week-next b,
.first-week-next span {
  display: block;
}
.first-week-next b {
  color: var(--teal-ink);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.first-week-next span {
  margin-top: 2px;
  color: var(--dim);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}
.first-week-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 14px;
}
.first-week-step {
  min-height: 72px;
  justify-content: flex-start;
  text-align: left;
  padding: 10px;
  background: #fbfcf8;
  color: var(--text);
  border: 1px solid var(--line);
  box-shadow: none;
}
.first-week-step.done {
  border-color: #bde8db;
  background: var(--mint);
  color: var(--teal-ink);
}
.first-week-step span {
  display: grid;
  gap: 1px;
}
.first-week-step small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.25;
}
.daily-next-card {
  border-color: rgba(8, 124, 112, .22);
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .98), rgba(236, 248, 242, .92)),
    var(--surface);
  box-shadow: var(--shadow-soft);
}
.daily-next-body {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}
.daily-next-body > .i {
  width: 26px;
  height: 26px;
  color: var(--teal);
  filter: drop-shadow(0 8px 12px rgba(8, 124, 112, .18));
}
.daily-next-body h3 {
  margin: 1px 0 2px;
}
.daily-next-why {
  margin-top: 7px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.daily-next-why b,
.daily-next-why span {
  display: inline-block;
  border-radius: 999px;
  padding: 5px 8px;
  font-size: 11px;
  font-weight: 900;
}
.daily-next-why b {
  background: rgba(49, 87, 213, .1);
  color: var(--blue);
}
.daily-next-why span {
  background: var(--mint);
  color: var(--teal-ink);
}
.daily-next-body button {
  min-height: 44px;
}
.quick-repeat-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.quick-repeat-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border: 1px solid rgba(8, 124, 112, .12);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .94), rgba(221, 247, 239, .48), rgba(236, 244, 255, .28));
  box-shadow:
    0 12px 24px rgba(27, 45, 36, .055),
    0 1px 0 rgba(255, 255, 255, .74) inset;
}
.quick-repeat-item strong,
.quick-repeat-item span {
  display: block;
}
.quick-repeat-item span {
  margin-top: 2px;
  color: var(--dim);
  font-size: 12px;
  line-height: 1.35;
}
.quick-repeat-meta em {
  display: inline-flex;
  align-items: center;
  margin-left: 4px;
  padding: 2px 6px;
  border-radius: 999px;
  background: var(--amber-soft);
  color: #6f480d;
  font-size: 10px;
  font-style: normal;
  font-weight: 950;
  text-transform: uppercase;
  vertical-align: middle;
}
.quick-repeat-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}
.quick-repeat-actions .sm {
  min-height: 36px;
}
.favorite-log-list,
.quick-start-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.quick-start-list {
  padding-top: 2px;
}
.favorite-log-chip,
.quick-start-chip {
  justify-content: flex-start;
  max-width: 100%;
  min-height: 40px;
  background: linear-gradient(135deg, rgba(223, 245, 236, .95), rgba(255, 255, 255, .86)) !important;
  color: var(--teal-ink) !important;
  border-color: #bde8db !important;
  box-shadow: 0 8px 18px rgba(8, 124, 112, .07);
}
.quick-start-chip {
  background: linear-gradient(135deg, rgba(255, 254, 249, .94), rgba(236, 244, 255, .5)) !important;
  border-color: rgba(49, 87, 213, .12) !important;
  color: var(--text) !important;
}
.home-quick-log-card {
  border-color: rgba(8, 124, 112, .2);
  background:
    linear-gradient(135deg, rgba(221, 247, 239, .68), rgba(255, 254, 249, .96) 42%),
    var(--surface);
}
.quick-log-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-top: 12px;
}
.quick-log-flow span {
  min-width: 0;
  display: grid;
  gap: 2px;
  padding: 8px 9px;
  border: 1px solid rgba(8, 124, 112, .12);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .88), rgba(221, 247, 239, .42));
  color: var(--dim);
  font-size: 11px;
  font-weight: 850;
  line-height: 1.2;
  box-shadow: 0 8px 18px rgba(7, 74, 65, .04);
}
.quick-log-flow b {
  color: var(--teal-ink);
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}
.quick-log-flow.compact {
  margin-top: 10px;
}
.home-quick-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 11px;
}
.home-quick-chip {
  min-height: 36px;
  max-width: 100%;
  justify-content: flex-start;
  color: var(--teal-ink) !important;
  background: rgba(255, 255, 255, .82) !important;
  border-color: rgba(15, 118, 110, .16) !important;
}
.home-quick-log-form {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
}
.home-quick-log-form label,
.home-quick-log-form textarea,
.home-quick-log-form .status-line {
  grid-column: 1 / -1;
}
.home-quick-log-form textarea {
  min-height: 58px;
}
.home-quick-log-form .quick-log-actions {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, .7fr) minmax(0, 1fr);
}
.empty-state {
  display: grid;
  justify-items: center;
  gap: 8px;
  padding: 24px 8px;
  text-align: center;
  color: var(--dim);
}
.empty-state .visual-accent {
  width: min(100%, 520px);
  min-height: 118px;
  margin: -8px 0 8px;
}
.empty-state .visual-accent img {
  min-height: 118px;
}
.empty-state .visual-accent::after {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .88), rgba(255, 255, 255, .22) 54%, rgba(255, 255, 255, .03)),
    linear-gradient(0deg, rgba(255, 255, 255, .62), transparent 50%);
}
.empty-state h3 {
  margin: 0;
  color: var(--text);
}
.empty-state p {
  max-width: 520px;
  margin: 0;
  font-size: 14px;
}
.empty-state.inline {
  padding: 20px 12px;
  border: 1px dashed var(--line);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .78);
}
.trust-callout,
.source-head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.trust-callout .i,
.source-head .i {
  width: 24px;
  height: 24px;
  color: var(--teal);
  margin-top: 2px;
}
.disclaimer-card {
  border-color: rgba(217, 119, 6, .26);
}
.shopping-neutrality {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 12px;
  padding: 10px;
  border: 1px solid rgba(15, 118, 110, .18);
  border-radius: var(--radius);
  background: rgba(248, 251, 245, .92);
}
.shopping-neutrality .i {
  width: 20px;
  height: 20px;
  color: var(--teal);
  flex: 0 0 auto;
  margin-top: 1px;
}
.shopping-neutrality b,
.shopping-neutrality span,
.shopping-neutrality small {
  display: block;
}
.shopping-neutrality b {
  color: var(--teal-ink);
  font-size: 13px;
}
.shopping-neutrality span,
.shopping-neutrality small {
  margin-top: 2px;
  color: var(--dim);
  font-size: 12px;
  line-height: 1.35;
}
.source-card {
  box-shadow: none;
}
.nutrition-source-list {
  margin-top: 12px;
}
.nutrition-source-list li span {
  white-space: normal;
}
.nutrition-source-list li b {
  color: var(--dim);
  font-size: 12px;
  text-align: right;
}
.mini-action {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 10px;
  border: 1px solid rgba(217, 227, 215, .9);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .84);
  box-shadow: 0 8px 16px rgba(27, 45, 36, .04);
}
.mini-action span {
  color: var(--muted);
  font-size: 12px;
  text-align: right;
}
.disclosure-center-card {
  border-color: rgba(15, 118, 110, .2);
}
.disclosure-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.disclosure-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(80px, .35fr);
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(8, 124, 112, .14);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .92), rgba(248, 252, 246, .78));
  box-shadow: 0 10px 22px rgba(7, 74, 65, .055);
}
.disclosure-row strong,
.disclosure-row span,
.disclosure-row small {
  display: block;
}
.disclosure-row span {
  margin-top: 2px;
  color: var(--dim);
  font-size: 12px;
  line-height: 1.35;
}
.disclosure-row small {
  color: var(--teal-ink);
  font-size: 11px;
  font-weight: 900;
  text-align: right;
}
.saved-meal-row {
  border-color: rgba(8, 124, 112, .13);
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .92), rgba(221, 247, 239, .28));
  box-shadow: 0 12px 24px rgba(7, 74, 65, .055);
}
.saved-meal-row strong {
  color: var(--teal-ink);
}
.saved-meal-row span {
  line-height: 1.35;
}
.source-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.source-links a {
  padding: 8px 10px;
  border: 1px solid rgba(8, 124, 112, .12);
  border-radius: 999px;
  background: rgba(221, 247, 239, .72);
  color: var(--teal-ink);
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 8px 18px rgba(7, 74, 65, .055);
}
.launch-checklist {
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px solid rgba(8, 124, 112, .12);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .74);
}
.launch-checklist summary {
  color: var(--teal-ink);
  cursor: pointer;
  font-size: 13px;
  font-weight: 900;
}
.launch-checklist ul {
  margin: 8px 0 0;
  padding-left: 18px;
  color: var(--dim);
  font-size: 12px;
  line-height: 1.4;
}
.nutrition-scorecard {
  border-color: rgba(8, 124, 112, .24);
  background:
    linear-gradient(135deg, rgba(221, 247, 239, .94), rgba(255, 254, 249, .96) 42%),
    linear-gradient(315deg, rgba(250, 228, 236, .62), rgba(255, 254, 249, .35) 52%);
  box-shadow: var(--shadow-lift);
}
.scorecard-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.scorecard-head h3 {
  margin-top: 2px;
  font-size: 21px;
}
.nutrition-score {
  display: inline-grid;
  place-items: center;
  min-width: 74px;
  min-height: 62px;
  padding: 8px 10px;
  border-radius: var(--radius);
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: linear-gradient(135deg, #075f57, #0a8d7f);
  color: #fff;
  text-align: center;
  line-height: 1;
  font-weight: 900;
  box-shadow: 0 16px 34px rgba(8, 124, 112, .25), 0 1px 0 rgba(255, 255, 255, .28) inset;
}
.nutrition-scorecard .nutrition-score {
  --coverage: 0%;
  --score-track: linear-gradient(180deg, rgba(255, 254, 249, .96), rgba(228, 247, 242, .96));
  --score-fill: linear-gradient(180deg, rgba(181, 238, 255, .98) 0%, rgba(72, 219, 190, .96) 48%, rgba(91, 126, 244, .88) 100%);
  border: 1px solid rgba(8, 124, 112, .22);
  background: var(--score-track);
  color: var(--teal-ink);
  box-shadow: 0 18px 38px rgba(28, 120, 123, .18), 0 1px 0 rgba(255, 255, 255, .75) inset;
}
.nutrition-scorecard .nutrition-score::before {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: var(--coverage);
  background: var(--score-fill);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .58), 0 -10px 24px rgba(43, 150, 218, .14);
  transition: height .28s ease;
}
.nutrition-scorecard .nutrition-score::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 24% 10%, rgba(255, 255, 255, .74), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, .36), transparent 48%);
  pointer-events: none;
}
.nutrition-score b {
  display: block;
  font-size: 22px;
  position: relative;
  z-index: 1;
}
.nutrition-score small {
  display: block;
  margin-top: 4px;
  font-size: 10px;
  text-transform: uppercase;
  position: relative;
  z-index: 1;
}
.nutrition-score.needs_attention,
.nutrition-score.needs_baseline {
  background: linear-gradient(135deg, #3157d5, #0a8d7f);
}
.nutrition-scorecard .nutrition-score.needs_attention,
.nutrition-scorecard .nutrition-score.needs_baseline {
  --score-fill: linear-gradient(180deg, rgba(197, 240, 255, .98) 0%, rgba(93, 218, 199, .95) 54%, rgba(111, 148, 245, .86) 100%);
  background: var(--score-track);
  color: var(--teal-ink);
}
.scorecard-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: 10px;
  margin-top: 14px;
}
.scorecard-panel {
  min-width: 0;
  padding: 13px;
  border: 1px solid rgba(217, 227, 215, .88);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .72);
  box-shadow: 0 12px 24px rgba(27, 45, 36, .05);
}
.panel-label {
  margin: 0 0 9px;
  color: var(--dim);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.scorecard-nutrients {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.scorecard-nutrient {
  display: grid;
  gap: 2px;
  padding: 9px;
  border: 1px solid rgba(243, 213, 135, .95);
  border-radius: var(--radius);
  background: linear-gradient(180deg, #fff7dc, var(--amber-soft));
  box-shadow: 0 8px 14px rgba(184, 117, 25, .07);
}
.scorecard-nutrient strong {
  color: #68400c;
  font-size: 13px;
}
.scorecard-nutrient span {
  color: var(--text);
  font-size: 14px;
  font-weight: 900;
}
.scorecard-nutrient small {
  color: #68400c;
  font-size: 11px;
  font-weight: 800;
}
.scorecard-nutrient.ok {
  border-color: #bde8db;
  background: linear-gradient(180deg, #ecfbf6, var(--mint));
  box-shadow: 0 8px 14px rgba(8, 124, 112, .06);
}
.scorecard-nutrient.ok strong,
.scorecard-nutrient.ok small {
  color: var(--teal-ink);
}
.strength-row,
.scorecard-source,
.best-nutrients {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.strength-row {
  margin-top: 10px;
}
.strength-row b {
  color: var(--dim);
  font-size: 11px;
  text-transform: uppercase;
}
.strength-row span,
.best-nutrients span {
  border-radius: 999px;
  padding: 5px 8px;
  background: linear-gradient(180deg, #ecfbf6, var(--mint));
  color: var(--teal-ink);
  font-size: 12px;
  font-weight: 900;
  border: 1px solid rgba(8, 124, 112, .08);
}
.best-next h4 {
  margin: 0 0 3px;
  font-size: 17px;
}
.best-next-head {
  margin-bottom: 4px;
}
.best-next-head .panel-label {
  margin-bottom: 0;
}
.best-nutrients {
  margin-top: 8px;
}
.best-nutrients b {
  color: var(--teal);
}
.ranking-basis {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
}
.ranking-basis > b {
  color: var(--dim);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.ranking-basis span {
  border-radius: 999px;
  padding: 5px 8px;
  background: rgba(255, 254, 249, .78);
  border: 1px solid rgba(217, 227, 215, .82);
  color: var(--dim);
  font-size: 11px;
  font-weight: 900;
}
.best-for-line {
  display: grid;
  gap: 7px;
  margin-top: 10px;
  padding: 8px 10px;
  border: 1px solid rgba(8, 124, 112, .14);
  border-radius: var(--radius);
  background: rgba(221, 247, 239, .56);
  color: var(--teal-ink);
  font-size: 12px;
  line-height: 1.35;
}
.best-for-line > strong {
  color: var(--teal-ink);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.best-for-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.best-for-chips em {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border-radius: 999px;
  padding: 5px 8px;
  background: rgba(255, 254, 249, .7);
  border: 1px solid rgba(8, 124, 112, .1);
  color: var(--teal-ink);
  font-style: normal;
  font-weight: 900;
  overflow-wrap: anywhere;
}
.best-for-chips b {
  color: var(--teal);
  font-size: 10px;
  font-weight: 950;
  text-transform: uppercase;
}
.best-for-chips span {
  min-width: 0;
}
.recommendation-lens {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
  margin-top: 8px;
}
.recommendation-axis {
  min-width: 0;
  display: grid;
  gap: 1px;
  padding: 7px 8px;
  border: 1px solid rgba(217, 227, 215, .82);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .74);
  color: var(--dim);
  font-size: 11px;
  font-weight: 850;
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.recommendation-axis b {
  color: var(--teal-ink);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.recommendation-axis em {
  min-width: 0;
  color: currentColor;
  font-style: normal;
  overflow-wrap: anywhere;
}
.recommendation-axis.good {
  border-color: rgba(8, 124, 112, .14);
  background: rgba(221, 247, 239, .48);
  color: var(--teal-ink);
}
.recommendation-axis.caution {
  border-color: rgba(243, 213, 135, .96);
  background: rgba(255, 240, 201, .56);
  color: #68400c;
}
.best-fit-note {
  margin: 8px 0 0;
}
.meal-picks-card {
  border-color: rgba(8, 124, 112, .26);
  background:
    linear-gradient(145deg, rgba(255, 254, 249, .98), rgba(232, 247, 241, .9) 54%, rgba(255, 249, 238, .94)),
    var(--surface);
  box-shadow: var(--shadow-lift);
}
.meal-picks-head h3 {
  margin: 2px 0 3px;
  font-size: 21px;
}
.match-explainer {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.match-explainer span {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid rgba(8, 124, 112, .14);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .76);
  color: var(--dim);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.3;
  box-shadow: 0 8px 14px rgba(27, 45, 36, .04);
}
.match-explainer b {
  color: var(--teal-ink);
  font-size: 11px;
  text-transform: uppercase;
}
.meal-pick-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
  margin-top: 14px;
  padding: 4px;
  border: 1px solid rgba(8, 124, 112, .13);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(4, 63, 57, .06), rgba(255, 254, 249, .48)),
    rgba(237, 247, 241, .86);
}
.meal-pick-tab {
  min-height: 44px;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: var(--dim);
  box-shadow: none;
  font-size: 13px;
  font-weight: 900;
}
.meal-pick-tab.active {
  border-color: rgba(8, 124, 112, .22);
  background: rgba(255, 254, 249, .98);
  color: var(--teal-ink);
  box-shadow: 0 10px 20px rgba(27, 45, 36, .09), 0 1px 0 rgba(255, 255, 255, .88) inset;
}
.meal-pick-panel {
  margin-top: 12px;
  padding: 13px;
  border: 1px solid rgba(217, 227, 215, .82);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .72);
  box-shadow: 0 12px 24px rgba(27, 45, 36, .05);
}
.meal-pick-panel[hidden] {
  display: none !important;
}
.meal-pick-panel h3 {
  margin: 2px 0 0;
  font-size: 20px;
}
.scorecard-empty {
  min-height: 72px;
  display: grid;
  place-items: center;
  padding: 12px;
  border: 1px dashed var(--line);
  border-radius: var(--radius);
  color: var(--dim);
  text-align: center;
  font-size: 13px;
  font-weight: 800;
}
.scorecard-source {
  justify-content: space-between;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid rgba(220, 229, 216, .9);
  color: var(--dim);
  font-size: 12px;
}
.scorecard-source span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--teal-ink);
  font-weight: 900;
}
.scorecard-source .i {
  width: 16px;
  height: 16px;
}
.scorecard-source b {
  max-width: 430px;
  color: var(--dim);
  font-weight: 700;
  text-align: right;
}
.coverage-source-split {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.coverage-source-split span {
  min-width: 0;
  display: grid;
  gap: 2px;
  padding: 10px;
  border: 1px solid rgba(8, 124, 112, .13);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .72);
  box-shadow: 0 8px 14px rgba(27, 45, 36, .04);
}
.coverage-source-split b {
  color: var(--teal-ink);
  font-size: 18px;
}
.coverage-source-split small {
  color: var(--dim);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.supplement-source {
  border-top-style: dashed;
}
.supplement-card {
  border-color: rgba(49, 87, 213, .2);
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .98), rgba(236, 244, 255, .74) 54%, rgba(236, 251, 246, .82)),
    var(--surface);
  box-shadow: var(--shadow-soft);
}
.supplement-card h3 {
  margin-top: 2px;
}
.supplement-entry-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 14px;
}
.supplement-entry-actions button {
  min-width: 0;
  min-height: 52px;
  justify-content: center;
}
.supplement-shelf {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.supplement-shelf-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 11px;
  border: 1px solid rgba(49, 87, 213, .14);
  border-radius: var(--radius);
  background: linear-gradient(135deg, rgba(255, 254, 249, .88), rgba(236, 244, 255, .62));
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.supplement-shelf-item.just-logged,
.supplement-row.just-logged {
  border-color: rgba(15, 118, 110, .32);
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .94), rgba(210, 246, 232, .72)),
    var(--surface);
  box-shadow: 0 12px 26px rgba(15, 118, 110, .12);
}
.supplement-shelf-item button.logged,
.supplement-row button.logged {
  border-color: rgba(15, 118, 110, .2);
  background: rgba(210, 246, 232, .82);
  color: var(--teal-ink);
}
.supplement-shelf-item strong,
.supplement-shelf-item span {
  display: block;
}
.supplement-shelf-item > div:first-child > span {
  color: var(--dim);
  font-size: 12px;
  font-weight: 780;
}
.supplement-shelf-empty {
  margin-top: 12px;
}
.supplement-form {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, .75fr) minmax(0, 1fr) auto;
  gap: 8px;
  align-items: end;
  margin-top: 12px;
}
.supplement-save-row {
  margin-top: 10px;
}
.supplement-label-scan {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, 210px);
  gap: 12px;
  align-items: center;
  margin-top: 14px;
  padding: 12px;
  border: 1px solid rgba(49, 87, 213, .16);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, .58);
}
.supplement-label-scan.disabled {
  border-style: dashed;
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .82), rgba(236, 244, 255, .46)),
    var(--surface);
}
.supplement-label-scan h4 {
  margin: 2px 0 4px;
  color: var(--text);
}
.supplement-label-scan .home-actions,
.supplement-label-scan .status-line,
.supplement-label-scan #supplement-label-result {
  grid-column: 1 / -1;
}
.supplement-label-preview {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 132px;
  overflow: hidden;
  border: 1px dashed rgba(49, 87, 213, .24);
  border-radius: var(--radius);
  background: linear-gradient(135deg, rgba(236, 244, 255, .72), rgba(236, 251, 246, .68));
}
.supplement-label-preview img {
  display: none;
  width: 100%;
  height: 100%;
  max-height: 180px;
  object-fit: cover;
}
.supplement-label-preview div {
  display: grid;
  place-items: center;
  gap: 6px;
  color: var(--dim);
  font-size: 12px;
  font-weight: 900;
  text-align: center;
}
.supplement-review-card {
  margin-top: 10px;
}
.supplement-review-list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
.supplement-review-row {
  display: grid;
  gap: 9px;
  padding: 11px;
  border: 1px solid rgba(49, 87, 213, .14);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .9), rgba(236, 244, 255, .58)),
    var(--surface);
}
.supplement-review-row label {
  margin: 0;
}
.supplement-review-row .row > div {
  min-width: 0;
  flex: 1 1 auto;
}
.supplement-review-nutrients {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.supplement-review-nutrient {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.supplement-review-nutrient > span {
  color: var(--dim);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.supplement-next-card {
  margin-top: 10px;
  border-color: rgba(49, 87, 213, .24);
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .96), rgba(236, 244, 255, .78) 54%, rgba(236, 251, 246, .82)),
    var(--surface);
}
.supplement-next-list {
  display: grid;
  gap: 9px;
  margin-top: 12px;
}
.supplement-next-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 11px;
  border: 1px solid rgba(49, 87, 213, .16);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, .62);
}
.supplement-next-row strong,
.supplement-next-row span {
  display: block;
}
.supplement-next-row > div > span {
  color: var(--dim);
  font-size: 12px;
  font-weight: 780;
}
.supplement-next-note {
  margin-top: 10px;
}
.supplement-next-row button.logged {
  border-color: rgba(15, 118, 110, .18);
  background: rgba(210, 246, 232, .78);
  color: var(--teal-ink);
}
.supplement-recent-label {
  margin-top: 12px;
}
.unit-input {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fffef9;
}
.unit-input input {
  border: 0;
  background: transparent;
}
.unit-input span {
  padding: 0 11px;
  color: var(--teal-ink);
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}
.supplement-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.supplement-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid rgba(217, 227, 215, .82);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .78);
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.supplement-row strong,
.supplement-row span {
  display: block;
}
.supplement-row strong {
  color: var(--text);
  font-size: 14px;
}
.supplement-row > div > span {
  color: var(--dim);
  font-size: 12px;
  font-weight: 750;
}
.supplement-nutrients {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 6px;
}
.supplement-nutrients span {
  display: inline-flex;
  gap: 4px;
  border-radius: 999px;
  padding: 4px 7px;
  background: rgba(221, 247, 239, .7);
  color: var(--teal-ink);
  font-size: 11px;
  font-weight: 900;
}
.supplement-nutrients b {
  color: var(--teal);
}
.daily-forecast-card {
  border-color: rgba(49, 87, 213, .2);
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .98), rgba(235, 242, 255, .72)),
    var(--surface);
  box-shadow: var(--shadow-soft);
}
.household-card {
  border-color: rgba(8, 124, 112, .22);
}
.invite-landing-card {
  border-color: rgba(15, 118, 110, .28);
  background:
    linear-gradient(135deg, rgba(223, 245, 236, .86), rgba(255, 255, 255, .96) 48%),
    linear-gradient(315deg, rgba(255, 243, 205, .72), rgba(255, 255, 255, .32) 58%);
}
.invite-landing-card h3 {
  margin-top: 2px;
}
.household-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.household-member {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #f8fbf5;
}
.household-member.active {
  border-color: rgba(15, 118, 110, .28);
  background: #e8f7f1;
}
.household-member strong,
.household-member span {
  display: block;
}
.household-member span {
  margin-top: 2px;
  color: var(--dim);
  font-size: 12px;
  font-weight: 800;
}
.household-member-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.household-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}
.household-form .wide {
  grid-column: 1 / -1;
}
.household-invite-box {
  display: grid;
  gap: 10px;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(15, 118, 110, .18);
  border-radius: var(--radius);
  background: rgba(251, 252, 248, .82);
}
.household-invite-box h4 {
  margin: 0 0 3px;
  color: var(--text);
  font-size: 15px;
}
.household-invite-actions,
.household-join-row,
.invite-result {
  display: flex;
  align-items: center;
  gap: 8px;
}
.household-invite-list {
  display: grid;
  gap: 8px;
}
.household-invite-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
}
.household-invite-row strong,
.household-invite-row span {
  display: block;
}
.household-invite-row span {
  color: var(--dim);
  font-size: 12px;
  font-weight: 800;
}
.household-invite-row.revoked,
.household-invite-row.accepted {
  opacity: .78;
}
.household-invite-actions {
  justify-content: space-between;
}
.household-join-row > div,
.invite-result input {
  flex: 1 1 auto;
  min-width: 0;
}
.invite-result {
  padding: 10px;
  border: 1px dashed rgba(15, 118, 110, .28);
  border-radius: var(--radius);
  background: #fff;
}
.invite-result strong {
  color: var(--teal-ink);
  font-size: 17px;
  white-space: nowrap;
}
.invite-result .meta {
  margin: 0;
  flex: 1 0 100%;
}
.household-reco {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
}
.household-fit {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  padding: 7px 10px;
  border-radius: 8px;
  background: #e8f7f1;
  color: var(--teal-ink);
  font-size: 12px;
  font-weight: 900;
}
.household-fit b {
  overflow-wrap: anywhere;
}
.household-fit .i {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
}
.household-fit.warn {
  background: #fff3cd;
  color: #8a5b00;
}
.household-fit.danger {
  background: #fee2e2;
  color: #991b1b;
}
.household-fit.compact {
  padding: 6px 8px;
}
.forecast-head,
.forecast-next {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.forecast-head h3,
.forecast-next h3 {
  margin: 2px 0 3px;
}
.forecast-focus {
  margin-top: 10px;
}
.forecast-next {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(217, 227, 215, .85);
}
.forecast-scenario {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(49, 87, 213, .18);
}
.forecast-scenario-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.forecast-scenario-head h4 {
  margin: 2px 0 3px;
  color: var(--surface-ink);
  font-size: 17px;
}
.forecast-scenario-form {
  margin-top: 5px;
}
.forecast-scenario-starts {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 8px;
}
.forecast-scenario-starts button {
  min-height: 34px;
}
.forecast-scenario-result:empty {
  display: none;
}
.what-if-result {
  display: grid;
  gap: 14px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(49, 87, 213, .16);
}
.what-if-result > .meta {
  margin: 0;
}
.what-if-summary {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}
.what-if-summary > span,
.what-if-next-icon {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 8px;
  background: linear-gradient(145deg, #0f766e, #3157d5);
  color: #fff;
  box-shadow: 0 8px 18px rgba(49, 87, 213, .16);
}
.what-if-summary .i,
.what-if-next-icon .i {
  width: 18px;
  height: 18px;
}
.what-if-summary small,
.what-if-next small {
  display: block;
  color: var(--teal);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.what-if-summary strong,
.what-if-next strong {
  display: block;
  margin-top: 2px;
  color: var(--surface-ink);
  font-size: 15px;
}
.what-if-summary p,
.what-if-next p {
  margin: 4px 0 0;
  color: var(--dim);
  font-size: 13px;
  line-height: 1.45;
}
.what-if-section {
  display: grid;
  gap: 7px;
}
.what-if-section .panel-label {
  margin: 0;
}
.what-if-shift-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.what-if-shift {
  min-width: 0;
  padding: 3px 0 3px 10px;
  border-left: 3px solid #2f9e8f;
}
.what-if-shift > span,
.what-if-shift > strong,
.what-if-shift > small {
  display: block;
}
.what-if-shift > span {
  color: var(--dim);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.what-if-shift > strong {
  margin-top: 3px;
  color: var(--surface-ink);
  font-size: 15px;
  overflow-wrap: anywhere;
}
.what-if-shift > strong span {
  color: var(--teal);
}
.what-if-shift > small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.25;
}
.what-if-next {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 12px;
  border: 1px solid rgba(15, 118, 110, .18);
  border-radius: var(--radius);
  background:
    linear-gradient(100deg, rgba(221, 247, 239, .72), rgba(235, 242, 255, .62));
}
.what-if-caution {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 10px 12px;
  border-left: 3px solid #d3952f;
  background: rgba(255, 243, 205, .52);
}
.what-if-caution > span {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  color: #8a5b00;
}
.what-if-caution .i {
  width: 18px;
  height: 18px;
}
.what-if-caution small,
.what-if-caution strong {
  display: block;
}
.what-if-caution small {
  color: #8a5b00;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.what-if-caution strong {
  margin-top: 2px;
  color: var(--surface-ink);
  font-size: 14px;
}
.what-if-caution p {
  margin: 3px 0 0;
  color: var(--dim);
  font-size: 12px;
  line-height: 1.4;
}
.what-if-actions {
  margin-top: 0;
}
.metric {
  border: 1px solid rgba(217, 227, 215, .88);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .92), rgba(248, 251, 245, .86));
  padding: 11px;
  box-shadow: 0 8px 16px rgba(27, 45, 36, .045);
}
.metric span {
  display: block;
  color: var(--dim);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.metric strong {
  display: block;
  margin-top: 3px;
  font-size: 18px;
  color: var(--surface-ink);
  overflow-wrap: anywhere;
  word-break: break-word;
}
.food-list, .source-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.food-list li, .source-list li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 0;
  border-top: 1px solid var(--line);
}
.food-list li b, .source-list li span {
  color: var(--dim);
  font-size: 12px;
  white-space: nowrap;
}
.nutrition-source-list li span,
.nutrition-source-list li a,
.nutrition-source-list li b {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.food-editor {
  margin-top: 14px;
}
.meal-edit-card {
  position: relative;
  overflow: hidden;
  border-color: rgba(8, 124, 112, .18);
  background:
    radial-gradient(circle at 96% 0%, rgba(142, 229, 199, .18), transparent 28%),
    linear-gradient(145deg, rgba(255, 254, 249, .97), rgba(245, 252, 248, .84), rgba(236, 244, 255, .36)),
    var(--surface);
  box-shadow:
    0 20px 46px rgba(7, 74, 65, .095),
    0 1px 0 rgba(255, 255, 255, .82) inset;
}
.meal-edit-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(180deg, var(--teal), rgba(49, 87, 213, .62), rgba(142, 229, 199, .9));
}
.meal-edit-card > * {
  position: relative;
  z-index: 1;
}
.review-before-save {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  margin-top: 12px;
  padding: 11px 12px;
  border: 1px solid rgba(8, 124, 112, .2);
  border-radius: var(--radius);
  background: rgba(235, 250, 244, .86);
  box-shadow: 0 10px 24px rgba(7, 74, 65, .055);
}
.review-before-save.partial {
  border-color: rgba(217, 119, 6, .24);
  background: rgba(255, 248, 225, .86);
}
.review-before-save.missing {
  border-color: rgba(190, 24, 93, .22);
  background: rgba(255, 240, 246, .86);
}
.review-before-save-copy {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}
.review-before-save-mark {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--teal);
}
.review-before-save.partial .review-before-save-mark {
  background: #b45309;
}
.review-before-save.missing .review-before-save-mark {
  background: #be185d;
}
.review-before-save-copy b,
.review-before-save-copy small {
  display: block;
}
.review-before-save-copy b {
  margin-top: 1px;
  color: var(--surface-ink);
  font-size: 14px;
}
.review-before-save-copy small {
  margin-top: 2px;
  color: var(--dim);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.35;
}
.review-before-save-signals {
  display: grid;
  grid-template-columns: repeat(3, minmax(76px, 1fr));
  gap: 6px;
}
.review-before-save-signals span {
  min-width: 0;
  padding: 7px 8px;
  border-left: 1px solid rgba(8, 124, 112, .14);
}
.review-before-save-signals small,
.review-before-save-signals b {
  display: block;
}
.review-before-save-signals small {
  color: var(--dim);
  font-size: 9px;
  font-weight: 950;
  text-transform: uppercase;
}
.review-before-save-signals b {
  margin-top: 2px;
  color: var(--teal-ink);
  font-size: 11px;
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.meal-nutrition-read {
  display: grid;
  gap: 12px;
  margin-top: 12px;
  padding: 13px;
  border: 1px solid rgba(8, 124, 112, .14);
  border-radius: var(--radius);
  background:
    radial-gradient(circle at 100% 0%, rgba(49, 87, 213, .11), transparent 34%),
    linear-gradient(135deg, rgba(255, 255, 255, .92), rgba(221, 247, 239, .56)),
    var(--surface);
  box-shadow:
    0 14px 28px rgba(7, 74, 65, .075),
    0 1px 0 rgba(255, 255, 255, .78) inset;
}
.meal-nutrition-read-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.meal-nutrition-read-head h4 {
  margin: 2px 0 0;
  color: var(--surface-ink);
  font-size: 18px;
}
.meal-nutrition-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.meal-nutrition-facts span {
  min-width: 0;
  padding: 9px;
  border: 1px solid rgba(217, 227, 215, .86);
  border-radius: 12px;
  background: rgba(255, 254, 249, .78);
  color: var(--teal-ink);
  font-size: 16px;
  font-weight: 950;
  line-height: 1.12;
}
.meal-nutrition-facts b {
  display: block;
  margin-bottom: 4px;
  color: var(--dim);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}
.meal-pros-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
.meal-pro-list {
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(217, 227, 215, .82);
  border-radius: 12px;
  background: rgba(255, 255, 255, .68);
}
.meal-pro-list.positive {
  border-color: rgba(8, 124, 112, .2);
  background: rgba(221, 247, 239, .64);
}
.meal-pro-list.caution {
  border-color: rgba(217, 119, 6, .18);
  background: rgba(255, 247, 220, .52);
}
.meal-pro-list > b {
  display: block;
  margin-bottom: 7px;
  color: var(--surface-ink);
  font-size: 12px;
  font-weight: 950;
}
.meal-pro-list ul {
  display: grid;
  gap: 5px;
  margin: 0;
  padding-left: 17px;
}
.meal-pro-list li {
  color: var(--text);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.3;
}
.meal-nutrition-note {
  margin: 0;
}
.quick-log-card {
  border-color: rgba(15, 118, 110, .24);
  background:
    radial-gradient(circle at 96% 0%, rgba(49, 87, 213, .12), transparent 30%),
    linear-gradient(135deg, rgba(223, 245, 236, .78), rgba(255, 255, 255, .96) 48%),
    linear-gradient(315deg, rgba(250, 228, 237, .44), rgba(255, 255, 255, .35) 55%);
}
.quick-log-form {
  display: grid;
  gap: 8px;
  margin-top: 12px;
  border: 1px solid rgba(8, 124, 112, .1);
  border-radius: var(--radius);
  padding: 10px;
  background:
    linear-gradient(145deg, rgba(255, 254, 249, .9), rgba(246, 251, 247, .72));
  box-shadow:
    0 10px 22px rgba(27, 45, 36, .045),
    0 1px 0 rgba(255, 255, 255, .72) inset;
}
.quick-log-form label,
.manual-meal-form label,
.quick-log-time-field label {
  color: var(--teal-ink);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}
.quick-log-form textarea {
  min-height: 86px;
  resize: vertical;
}
.quick-log-form input,
.manual-time-field input {
  min-height: 40px;
  padding: 9px 10px;
  border-color: rgba(8, 124, 112, .15);
  background: rgba(255, 255, 255, .82);
}
.quick-log-actions {
  margin-top: 4px;
}
.quick-log-preview {
  margin-top: 12px;
}
.quick-log-question {
  margin-top: 10px;
  padding: 10px;
  border: 1px solid rgba(15, 118, 110, .18);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, .7);
  color: var(--teal-ink);
  font-weight: 800;
}
.manual-meal-form {
  display: grid;
  gap: 10px;
  margin-top: 12px;
  border: 1px solid rgba(8, 124, 112, .1);
  border-radius: var(--radius);
  padding: 10px;
  background:
    linear-gradient(145deg, rgba(255, 254, 249, .9), rgba(246, 251, 247, .72));
  box-shadow:
    0 10px 22px rgba(27, 45, 36, .045),
    0 1px 0 rgba(255, 255, 255, .72) inset;
}
.manual-time-field {
  max-width: 260px;
}
.manual-save-result {
  margin-top: 12px;
}
.journal-insert-card {
  position: relative;
  overflow: hidden;
  border-color: rgba(15, 118, 110, .24);
}
.journal-insert-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #0f766e, #3aa3ff, #d94679);
}
.journal-missed-form {
  position: relative;
}
.journal-missed-grid {
  display: grid;
  grid-template-columns: minmax(170px, .46fr) minmax(0, 1fr);
  gap: 10px;
  align-items: end;
}
.quick-log-time-field {
  display: grid;
  gap: 8px;
}
.journal-timeline {
  display: grid;
  gap: 18px;
  margin-top: 14px;
}
.journal-day {
  display: grid;
  gap: 10px;
}
.journal-day-label {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 0 2px;
}
.journal-day-label b {
  color: var(--teal-ink);
  font-size: 13px;
  font-weight: 950;
  text-transform: uppercase;
}
.journal-day-label span {
  color: var(--dim);
  font-size: 12px;
  font-weight: 850;
}
.journal-day-items {
  position: relative;
  display: grid;
  gap: 12px;
}
.journal-day-items::before {
  content: "";
  position: absolute;
  left: 77px;
  top: 9px;
  bottom: 9px;
  width: 2px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(15, 118, 110, .32), rgba(58, 163, 255, .22), rgba(217, 70, 121, .2));
}
.journal-timeline-item {
  position: relative;
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  touch-action: pan-y;
}
.timeline-time {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 2px;
  min-height: 52px;
  padding-top: 18px;
  padding-right: 24px;
  color: var(--dim);
  font-size: 11px;
  line-height: 1.15;
  text-align: right;
}
.timeline-time::after {
  content: "";
  position: absolute;
  top: 23px;
  left: 69px;
  right: auto;
  width: 10px;
  height: 10px;
  border: 3px solid #f8fbf5;
  border-radius: 999px;
  background: var(--teal);
  box-shadow: 0 0 0 4px rgba(15, 118, 110, .12);
}
.timeline-time b {
  color: var(--text);
  font-size: 12px;
  font-weight: 950;
  white-space: nowrap;
}
.timeline-time span {
  font-weight: 850;
}
.timeline-meal-card {
  overflow: hidden;
  margin: 0;
  border-color: rgba(8, 124, 112, .18);
  background:
    radial-gradient(circle at 92% 0%, rgba(142, 229, 199, .24), transparent 25%),
    linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(235, 250, 243, .86) 58%, rgba(236, 244, 255, .44)),
    var(--surface);
  box-shadow:
    0 20px 44px rgba(7, 74, 65, .12),
    0 1px 0 rgba(255, 255, 255, .82) inset;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.timeline-meal-card h3 {
  overflow-wrap: anywhere;
}
.timeline-meal-card .cal {
  flex: 0 0 auto;
}
.timeline-entry-details {
  display: block;
}
.timeline-entry-details > summary {
  position: relative;
  min-height: 74px;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px 34px 12px 12px;
  cursor: pointer;
  list-style: none;
}
.timeline-entry-details > summary::-webkit-details-marker {
  display: none;
}
.timeline-entry-details > summary::after {
  content: "";
  position: absolute;
  top: 17px;
  right: 13px;
  width: 8px;
  height: 8px;
  border-right: 2px solid rgba(8, 124, 112, .72);
  border-bottom: 2px solid rgba(8, 124, 112, .72);
  transform: rotate(45deg);
  transition: transform .16s ease, top .16s ease;
}
.timeline-entry-details[open] > summary::after {
  top: 21px;
  transform: rotate(225deg);
}
.timeline-thumb {
  width: 54px;
  aspect-ratio: 1;
  overflow: hidden;
  display: grid;
  place-items: center;
  border: 1px solid rgba(8, 124, 112, .16);
  border-radius: var(--radius);
  background:
    radial-gradient(circle at 30% 20%, rgba(255, 255, 255, .92), transparent 34%),
    linear-gradient(135deg, rgba(221, 247, 239, .92), rgba(236, 244, 255, .72));
  color: var(--teal);
  box-shadow: 0 10px 22px rgba(7, 74, 65, .08);
}
.timeline-thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.timeline-thumb .i {
  width: 24px;
  height: 24px;
}
.timeline-entry-title {
  display: block;
  min-width: 0;
}
.timeline-entry-title b,
.timeline-entry-title small {
  display: block;
  min-width: 0;
}
.timeline-entry-title b {
  color: var(--text);
  font-size: 16px;
  font-weight: 950;
  line-height: 1.16;
  overflow-wrap: anywhere;
}
.timeline-entry-title small {
  margin-top: 4px;
  color: var(--dim);
  font-size: 12px;
  font-weight: 850;
}
.timeline-entry-expanded {
  padding: 0 14px 14px;
  border-top: 1px solid rgba(8, 124, 112, .08);
}
.timeline-entry-expanded .timeline-photo {
  margin-top: 14px;
}
.timeline-meal-card .repeat-actions {
  align-items: stretch;
}
.timeline-meal-card .repeat-actions button {
  min-height: 44px;
  flex: 1 1 132px;
  justify-content: center;
}
.timeline-meal-card .repeat-actions .danger {
  flex-grow: .7;
}
.journal-timeline-item.long-pressing .timeline-meal-card {
  transform: scale(.985);
  border-color: rgba(15, 118, 110, .42);
  box-shadow: 0 18px 36px rgba(15, 118, 110, .12);
}
.journal-timeline-item.deleting .timeline-meal-card {
  transform: scale(.985);
  opacity: .48;
  filter: saturate(.8);
}
.journal-timeline-item.supplement-entry .timeline-time::after {
  background: #3157d5;
  box-shadow: 0 0 0 4px rgba(49, 87, 213, .13);
}
.timeline-supplement-card {
  border-color: rgba(49, 87, 213, .22);
  background:
    radial-gradient(circle at 92% 0%, rgba(49, 87, 213, .14), transparent 26%),
    linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(236, 244, 255, .82), rgba(221, 247, 239, .46)),
    var(--surface);
}
.timeline-supplement-card .supplement-nutrients {
  margin-top: 12px;
}
.timeline-supplement-card .trust-row {
  margin-top: 10px;
}
.supplement-cal {
  background: linear-gradient(135deg, rgba(236, 244, 255, .94), rgba(210, 246, 232, .78));
  color: #14308f;
}
.supplement-timeline-note {
  margin-top: 10px;
}
.timeline-meal-card.has-photo {
  border-color: rgba(58, 163, 255, .24);
}
.timeline-photo {
  position: relative;
  overflow: hidden;
  margin: 12px 0 2px;
  border: 1px solid rgba(15, 118, 110, .12);
  border-radius: var(--radius);
  background: #eef5f0;
  aspect-ratio: 16 / 8.5;
}
.timeline-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.timeline-foods {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 11px 0 2px;
}
.timeline-foods span {
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(15, 118, 110, .08);
  color: var(--teal-ink);
  font-size: 12px;
  font-weight: 850;
}
.journal-move-card {
  width: min(520px, 100%);
}
.journal-move-form {
  display: grid;
  gap: 9px;
  margin-top: 16px;
}
.journal-move-form input {
  min-height: 46px;
  padding: 10px 12px;
}
.time-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 4px;
}
.time-chip-row button {
  min-height: 36px;
  background: rgba(255, 254, 249, .9) !important;
  color: var(--teal-ink) !important;
  border-color: rgba(15, 118, 110, .18) !important;
}
.repeat-actions .danger {
  margin-left: auto;
}
.repeat-actions .danger.confirming {
  box-shadow: 0 12px 26px rgba(187, 36, 94, .14);
}
.journal-pagination-card {
  margin-top: 12px;
}
.journal-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.journal-pagination b,
.journal-pagination span {
  display: block;
}
.journal-pagination b {
  color: var(--text);
  font-size: 13px;
  font-weight: 950;
}
.journal-pagination span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  margin-top: 2px;
}
.inventory-use-card {
  width: min(680px, 100%);
}
.inventory-use-list {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}
.inventory-use-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, .72fr);
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fbfcf8;
}
.inventory-use-row.changed {
  border-color: rgba(15, 118, 110, .34);
  background: rgba(223, 245, 236, .38);
}
.inventory-use-row.finished {
  border-color: #f4bdd2;
  background: var(--berry-soft);
}
.inventory-use-row strong,
.inventory-use-row span,
.inventory-use-row small {
  display: block;
}
.inventory-use-row span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
}
.inventory-use-row small {
  margin-top: 6px;
  color: var(--dim);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.35;
}
.inventory-use-controls {
  display: grid;
  grid-template-columns: minmax(82px, 1fr) auto;
  gap: 7px;
  align-items: end;
}
.inventory-use-controls label {
  min-width: 0;
  color: var(--dim);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.inventory-use-controls input {
  margin-top: 4px;
  min-height: 40px;
}
.inventory-use-controls > span {
  margin: 0 0 10px;
  color: var(--dim);
  font-size: 12px;
  font-weight: 900;
}
.inventory-use-controls button {
  min-height: 38px;
}
.inventory-use-controls button[data-use-action="none"] {
  grid-column: 1 / -1;
}
.inventory-use-controls button[data-use-action="some"],
.inventory-use-controls button[data-use-action="finished"] {
  width: 100%;
}
.fast-log-card {
  border-color: rgba(15, 118, 110, .22);
  background:
    radial-gradient(circle at 96% 0%, rgba(49, 87, 213, .12), transparent 30%),
    linear-gradient(145deg, rgba(255, 254, 249, .97), rgba(221, 247, 239, .54), rgba(236, 244, 255, .34)),
    var(--surface);
}
.fast-log-inline {
  display: grid;
  gap: 6px;
  margin-top: 12px;
  padding: 10px;
  border: 1px solid rgba(8, 124, 112, .16);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(221, 247, 239, .62), rgba(255, 254, 249, .9)),
    var(--surface);
}
.fast-log-inline label {
  color: var(--teal-ink);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.fast-log-inline > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}
.fast-log-inline input {
  min-width: 0;
}
.fast-log-inline button {
  min-height: 46px;
}
.fast-log-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(146px, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.fast-log-btn {
  min-height: 70px;
  justify-content: flex-start;
  padding: 10px;
  text-align: left;
  color: var(--text);
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .94), rgba(221, 247, 239, .48), rgba(236, 244, 255, .25));
  border: 1px solid rgba(8, 124, 112, .12);
  box-shadow:
    0 12px 26px rgba(27, 45, 36, .055),
    0 1px 0 rgba(255, 255, 255, .76) inset;
}
.fast-log-btn:hover {
  border-color: rgba(8, 124, 112, .26);
  box-shadow:
    0 18px 36px rgba(7, 74, 65, .1),
    0 1px 0 rgba(255, 255, 255, .82) inset;
}
.fast-log-btn .i {
  width: 22px;
  height: 22px;
}
.fast-log-btn span {
  display: grid;
  gap: 1px;
  min-width: 0;
}
.fast-log-btn small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.community-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}
.community-form .wide { grid-column: 1 / -1; }
.form-guidance-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 12px 0 2px;
}
.form-guidance-row span {
  min-width: 0;
  min-height: 46px;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(8, 124, 112, .12);
  border-radius: var(--radius);
  padding: 9px 10px;
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .9), rgba(221, 247, 239, .48));
  color: var(--surface-ink);
  font-size: 12px;
  font-weight: 850;
  line-height: 1.25;
  box-shadow:
    0 10px 22px rgba(7, 74, 65, .045),
    0 1px 0 rgba(255, 255, 255, .76) inset;
}
.form-guidance-row b {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  border-radius: 999px;
  padding: 0 7px;
  background: var(--teal);
  color: white;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}
.ask-guidance-row span {
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .92), rgba(236, 244, 255, .58));
}
.move-guidance-row span {
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .92), rgba(255, 240, 201, .46));
}
.feel-guidance-row span {
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .92), rgba(250, 228, 236, .44));
}
.feedback-guidance-row span {
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .92), rgba(255, 240, 201, .45));
}
.community-command-card,
.ask-command-card,
.feedback-command-card {
  border-color: rgba(8, 124, 112, .22);
}
.community-command-card {
  background:
    radial-gradient(circle at 10% 0%, rgba(142, 229, 199, .3), transparent 27%),
    radial-gradient(circle at 96% 10%, rgba(49, 87, 213, .16), transparent 31%),
    linear-gradient(125deg, rgba(255, 255, 255, .97), rgba(221, 247, 239, .48) 42%, rgba(236, 244, 255, .3) 76%, rgba(250, 228, 236, .14)),
    var(--surface);
}
.ask-command-card {
  background:
    radial-gradient(circle at 10% 0%, rgba(236, 244, 255, .36), transparent 27%),
    radial-gradient(circle at 96% 10%, rgba(142, 229, 199, .22), transparent 31%),
    linear-gradient(125deg, rgba(255, 255, 255, .97), rgba(236, 244, 255, .5) 42%, rgba(221, 247, 239, .28) 76%),
    var(--surface);
}
.feedback-command-card {
  background:
    radial-gradient(circle at 10% 0%, rgba(255, 240, 201, .34), transparent 27%),
    radial-gradient(circle at 96% 10%, rgba(187, 36, 94, .12), transparent 31%),
    linear-gradient(125deg, rgba(255, 255, 255, .97), rgba(255, 240, 201, .38) 42%, rgba(221, 247, 239, .3) 76%),
    var(--surface);
}
.community-command-head h3,
.ask-command-head h3,
.feedback-command-head h3 {
  max-width: 38rem;
  font-size: 24px;
}
.community-command-head .meta,
.ask-command-head .meta,
.feedback-command-head .meta {
  max-width: 52rem;
}
.community-hero-strip,
.ask-hero-strip,
.feedback-hero-strip {
  grid-template-columns: .98fr .92fr .86fr;
}
.community-story-row span,
.ask-story-row span,
.feedback-story-row span {
  min-height: 68px;
}
.community-ribbon,
.ask-ribbon,
.feedback-ribbon {
  margin-top: 2px;
}
.community-command-actions,
.ask-command-actions,
.feedback-command-actions {
  padding-top: 2px;
}
.community-command-actions button,
.ask-command-actions button,
.feedback-command-actions button {
  min-height: 42px;
}
.secondary-section-rail-card {
  position: sticky;
  top: calc(66px + env(safe-area-inset-top));
  z-index: 4;
  margin-top: -2px;
  padding: 9px;
  border-color: rgba(8, 124, 112, .16);
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .9), rgba(255, 254, 249, .76)),
    var(--surface);
  box-shadow:
    0 18px 38px rgba(27, 45, 36, .1),
    0 1px 0 rgba(255, 255, 255, .8) inset;
  backdrop-filter: blur(18px) saturate(1.12);
}
.secondary-section-rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(118px, 1fr);
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 1px;
  scrollbar-width: none;
}
.secondary-section-rail::-webkit-scrollbar {
  display: none;
}
.secondary-section-chip {
  --busy-fg: var(--teal-ink);
  min-width: 0;
  min-height: 54px;
  justify-content: flex-start;
  padding: 8px 9px;
  border: 1px solid rgba(8, 124, 112, .13);
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .92), rgba(221, 247, 239, .38));
  color: var(--teal-ink);
  box-shadow: 0 10px 20px rgba(7, 74, 65, .06);
}
.secondary-section-chip .i {
  width: 19px;
  height: 19px;
  flex: 0 0 auto;
}
.secondary-section-chip span,
.secondary-section-chip b,
.secondary-section-chip small {
  display: block;
  min-width: 0;
}
.secondary-section-chip b {
  font-size: 12px;
  line-height: 1.1;
}
.secondary-section-chip small {
  margin-top: 2px;
  color: currentColor;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.15;
  opacity: .68;
  text-transform: uppercase;
}
.compact-section-fold,
.community-list-shell,
.feedback-list-shell,
.ask-answer-shell,
.influence-claims-shell,
.recent-workouts-shell,
.feel-trend-card,
.food-research-library-shell,
.today-section-anchor,
.plan-section-anchor,
.insights-section-anchor {
  scroll-margin-top: 142px;
}
.today-section-rail-card {
  margin-top: 8px;
}
.plan-section-rail-card {
  margin-top: 8px;
}
.insights-section-rail-card {
  margin-top: 8px;
}
.insights-tabs-card {
  position: sticky;
  top: calc(66px + env(safe-area-inset-top));
  z-index: 4;
  margin-top: 8px;
  padding: 7px;
  border: 1px solid rgba(8, 124, 112, .16);
  border-radius: 8px;
  background: rgba(255, 254, 249, .94);
  box-shadow: var(--shadow-soft);
  backdrop-filter: blur(16px) saturate(1.1);
}
.insights-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}
.insights-tab {
  min-width: 0;
  min-height: 54px;
  justify-content: flex-start;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: var(--text);
  box-shadow: none;
}
.insights-tab:hover {
  border-color: rgba(8, 124, 112, .14);
  background: rgba(225, 244, 237, .52);
  box-shadow: none;
  transform: none;
}
.insights-tab.active {
  border-color: rgba(8, 124, 112, .22);
  background: var(--teal-ink);
  color: #fff;
  box-shadow: 0 8px 18px rgba(8, 84, 74, .17);
}
.insights-tab span,
.insights-tab b,
.insights-tab small {
  display: block;
  min-width: 0;
}
.insights-tab b {
  font-size: 13px;
  line-height: 1.1;
}
.insights-tab small {
  margin-top: 3px;
  color: currentColor;
  font-size: 10px;
  font-weight: 850;
  line-height: 1.15;
  opacity: .7;
}
.insights-tab-panel {
  display: block;
  margin-top: 10px;
}
.insights-overview-card {
  border-color: rgba(8, 124, 112, .2);
  background: rgba(255, 254, 249, .97);
}
.insights-priority-list {
  display: grid;
  gap: 0;
  margin-top: 8px;
}
.insights-priority {
  min-width: 0;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 11px;
  align-items: start;
  padding: 14px 0;
  border-top: 1px solid rgba(217, 227, 215, .86);
}
.insights-priority > svg {
  width: 38px;
  height: 38px;
  padding: 9px;
  border-radius: 50%;
  color: var(--teal-ink);
  background: rgba(220, 245, 236, .9);
}
.insights-priority.focus > svg {
  color: #8b5c10;
  background: rgba(255, 240, 201, .78);
}
.insights-priority.action > svg {
  color: #2849a6;
  background: rgba(228, 236, 255, .9);
}
.insights-priority span,
.insights-priority small,
.insights-priority b,
.insights-priority em {
  display: block;
  min-width: 0;
}
.insights-priority small {
  color: var(--dim);
  font-size: 10px;
  font-weight: 950;
  line-height: 1.1;
  text-transform: uppercase;
}
.insights-priority b {
  margin-top: 3px;
  color: var(--text);
  font-size: 17px;
  line-height: 1.2;
}
.insights-priority em {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  line-height: 1.4;
}
.insights-start-state {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  gap: 13px;
  align-items: center;
}
.insights-start-card {
  border-color: rgba(8, 124, 112, .2);
  background: rgba(255, 254, 249, .97);
}
.insights-start-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--teal-ink);
  background: rgba(220, 245, 236, .9);
}
.insights-start-icon svg {
  width: 21px;
  height: 21px;
}
.insights-start-state h3,
.insights-start-state .meta {
  margin-bottom: 0;
}
.insights-start-state button {
  min-height: 44px;
}
.insights-detail-fold,
.profile-detail-fold {
  margin-top: 10px;
  border: 1px solid rgba(8, 124, 112, .16);
  border-radius: 8px;
  background: rgba(255, 254, 249, .78);
  overflow: hidden;
}
.insights-detail-fold > summary,
.profile-detail-fold > summary {
  min-height: 52px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 11px 13px;
  color: var(--teal-ink);
  cursor: pointer;
  font-weight: 900;
  list-style: none;
}
.insights-detail-fold > summary::-webkit-details-marker,
.profile-detail-fold > summary::-webkit-details-marker {
  display: none;
}
.insights-detail-fold > summary::after,
.profile-detail-fold > summary::after {
  content: "+";
  margin-left: auto;
  font-size: 20px;
  line-height: 1;
}
.insights-detail-fold[open] > summary::after,
.profile-detail-fold[open] > summary::after {
  content: "-";
}
.insights-detail-fold-body,
.profile-detail-fold-body {
  padding: 0 10px 10px;
}
.insights-pattern-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.today-section-anchor,
.plan-section-anchor,
.insights-section-anchor {
  display: block;
}
.voice-agent-card {
  border-color: rgba(49, 87, 213, .18);
  background:
    radial-gradient(circle at 92% 4%, rgba(49, 87, 213, .13), transparent 30%),
    linear-gradient(145deg, rgba(255, 254, 249, .98), rgba(235, 245, 255, .66), rgba(223, 245, 236, .5)),
    var(--surface);
}
.voice-agent-stage {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(49, 87, 213, .15);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .78);
}
.voice-agent-stage.disabled {
  opacity: .72;
}
.voice-orb {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.45), transparent 24%),
    linear-gradient(135deg, var(--teal), var(--blue));
  box-shadow: 0 18px 34px rgba(49, 87, 213, .2);
}
.voice-orb .i {
  width: 25px;
  height: 25px;
}
.voice-agent-stage b {
  display: block;
  color: var(--text);
  font-size: 17px;
  font-weight: 950;
}
.voice-agent-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 12px;
}
.voice-agent-actions button {
  min-height: 44px;
}
.voice-mic-button {
  min-width: 172px;
  justify-content: center;
  border-color: rgba(15, 118, 110, .2);
}
.voice-mic-button.connected {
  border-color: rgba(49, 87, 213, .2);
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .96), rgba(235, 245, 255, .86));
  color: var(--blue);
}
.voice-mic-button.active {
  border-color: rgba(15, 118, 110, .34);
  background: linear-gradient(135deg, var(--teal), var(--blue));
  color: #fff;
  box-shadow: 0 14px 28px rgba(15, 118, 110, .22);
}
.voice-mic-button.active .i {
  color: #fff;
}
.voice-agent-log {
  display: grid;
  gap: 7px;
  margin-top: 12px;
  max-height: 156px;
  overflow: auto;
  scrollbar-width: none;
}
.voice-agent-log::-webkit-scrollbar {
  display: none;
}
.voice-agent-log span {
  display: block;
  padding: 8px 10px;
  border: 1px solid rgba(15, 118, 110, .12);
  border-radius: 12px;
  background: rgba(255, 254, 249, .76);
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}
.voice-agent-log span.ok {
  border-color: rgba(15, 118, 110, .2);
  background: var(--mint);
  color: var(--teal-ink);
}
.voice-agent-log span.tool {
  border-color: rgba(49, 87, 213, .2);
  background: rgba(235, 245, 255, .86);
  color: var(--blue);
}
.voice-agent-log span.error {
  border-color: #f4bdd2;
  background: var(--berry-soft);
  color: var(--berry);
}
.voice-agent-log span.user {
  color: var(--text);
}
.compact-section-fold {
  overflow: hidden;
  margin: 12px 0;
  border: 1px solid rgba(8, 124, 112, .16);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 100% 0%, rgba(142, 229, 199, .16), transparent 28%),
    linear-gradient(145deg, rgba(255, 254, 249, .94), rgba(236, 244, 255, .22), rgba(221, 247, 239, .18)),
    var(--surface);
  box-shadow:
    0 16px 38px rgba(7, 74, 65, .075),
    0 1px 0 rgba(255, 255, 255, .78) inset;
}
.compact-section-fold[open] {
  box-shadow:
    0 22px 52px rgba(7, 74, 65, .1),
    0 1px 0 rgba(255, 255, 255, .82) inset;
}
.compact-section-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 14px;
  cursor: pointer;
  list-style: none;
}
.compact-section-summary::-webkit-details-marker {
  display: none;
}
.compact-section-summary::after {
  content: "+";
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: rgba(8, 124, 112, .1);
  color: var(--teal-ink);
  font-weight: 950;
}
.compact-section-fold[open] > .compact-section-summary::after {
  content: "-";
}
.compact-section-summary > span:first-child {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.compact-section-summary small,
.compact-section-summary b,
.compact-section-summary em {
  display: block;
  min-width: 0;
}
.compact-section-summary small {
  color: var(--teal);
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.compact-section-summary b {
  color: var(--surface-ink);
  font-size: 17px;
  line-height: 1.15;
}
.compact-section-summary em {
  color: var(--dim);
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.25;
}
.compact-section-body {
  display: grid;
  gap: 12px;
  padding: 0 12px 12px;
}
.compact-section-body > .card {
  margin: 0;
}
.recipe-import-card,
.community-publish-card,
.ask-entry-card,
.feedback-entry-card {
  position: relative;
  overflow: hidden;
  border-color: rgba(8, 124, 112, .16);
  background:
    linear-gradient(145deg, rgba(255, 254, 249, .96), rgba(236, 244, 255, .38), rgba(221, 247, 239, .22)),
    var(--surface);
  box-shadow:
    0 18px 42px rgba(7, 74, 65, .08),
    0 1px 0 rgba(255, 255, 255, .78) inset;
}
.recipe-import-card::before,
.community-publish-card::before,
.ask-entry-card::before,
.feedback-entry-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(180deg, var(--teal), rgba(49, 87, 213, .7), rgba(142, 229, 199, .9));
}
.recipe-import-card .chart-card-head,
.community-publish-card .chart-card-head,
.ask-entry-card .chart-card-head,
.feedback-entry-card .chart-card-head,
.recipe-import-card .community-form,
.community-publish-card .community-form,
.ask-entry-card .prompt-row,
.ask-entry-card .form-guidance-row,
.ask-entry-card label,
.ask-entry-card textarea,
.ask-entry-card .form-actions,
.feedback-entry-card .feedback-form,
.feedback-entry-card .form-guidance-row,
.feedback-entry-card .form-actions {
  position: relative;
  z-index: 1;
}
.recipe-import-card .community-form > div,
.community-publish-card .community-form > div,
.feedback-entry-card .feedback-form > div {
  min-width: 0;
  border: 1px solid rgba(8, 124, 112, .1);
  border-radius: var(--radius);
  padding: 10px;
  background:
    linear-gradient(145deg, rgba(255, 254, 249, .9), rgba(246, 251, 247, .72));
  box-shadow:
    0 10px 22px rgba(27, 45, 36, .045),
    0 1px 0 rgba(255, 255, 255, .72) inset;
}
.recipe-import-card label,
.community-publish-card label,
.ask-entry-card label,
.feedback-entry-card label {
  color: var(--teal-ink);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}
.recipe-import-card input,
.recipe-import-card textarea,
.community-publish-card input,
.community-publish-card textarea,
.ask-entry-card textarea,
.feedback-entry-card select,
.feedback-entry-card textarea {
  margin-top: 4px;
  border-color: rgba(8, 124, 112, .15);
  background: rgba(255, 255, 255, .82);
}
.recipe-photo-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 8px;
}
.recipe-photo-actions button {
  width: 100%;
  justify-content: center;
}
.recipe-photo-field .status-line {
  margin-top: 8px;
}
.community-list-shell,
.feedback-list-shell,
.ask-answer-shell {
  display: grid;
  gap: 12px;
  margin: 2px 0 14px;
}
.community-list-shell,
.feedback-list-shell {
  border: 1px solid rgba(8, 124, 112, .1);
  border-radius: var(--radius-lg);
  padding: 12px;
  background:
    radial-gradient(circle at 100% 0%, rgba(142, 229, 199, .16), transparent 28%),
    linear-gradient(145deg, rgba(255, 254, 249, .7), rgba(246, 251, 247, .38));
}
.community-list-head,
.feedback-list-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 2px 2px 0;
}
.community-list-head h3,
.feedback-list-head h3 {
  margin: 2px 0 0;
  color: var(--surface-ink);
  font-size: 21px;
}
.community-list {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}
.shared-recipe-card {
  overflow: hidden;
  border-color: rgba(8, 124, 112, .14);
  background:
    radial-gradient(circle at 100% 0%, rgba(142, 229, 199, .2), transparent 25%),
    linear-gradient(145deg, rgba(255, 254, 249, .97), rgba(246, 251, 247, .86), rgba(236, 244, 255, .34));
  box-shadow:
    0 16px 34px rgba(7, 74, 65, .085),
    0 1px 0 rgba(255, 255, 255, .78) inset;
}
.shared-recipe-top h3 {
  margin: 2px 0 5px;
  color: var(--surface-ink);
  font-size: 20px;
  letter-spacing: 0;
}
.shared-recipe-fit-pair {
  flex: 0 0 auto;
}
.shared-recipe-context-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.shared-recipe-context-row span {
  min-width: 0;
  min-height: 58px;
  display: grid;
  align-content: center;
  gap: 2px;
  padding: 9px 10px;
  border: 1px solid rgba(8, 124, 112, .1);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .88), rgba(221, 247, 239, .44));
  box-shadow: 0 10px 22px rgba(7, 74, 65, .045);
}
.shared-recipe-context-row b {
  color: var(--teal-ink);
  font-size: 16px;
  font-weight: 950;
  line-height: 1.05;
}
.shared-recipe-context-row small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  line-height: 1.15;
  text-transform: uppercase;
}
.shared-recipe-ingredients {
  margin-top: 2px;
}
.shared-recipe-alert-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.shared-recipe-alert {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  padding: 6px 9px;
  border: 1px solid rgba(187, 36, 94, .18);
  border-radius: 999px;
  background: rgba(250, 228, 236, .7);
  color: var(--berry);
  font-size: 11px;
  font-weight: 900;
  line-height: 1.15;
}
.shared-recipe-alert.strong {
  border-color: rgba(187, 36, 94, .28);
  background: linear-gradient(135deg, rgba(250, 228, 236, .92), rgba(255, 254, 249, .82));
}
.shared-recipe-alert .i {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
}
.shared-recipe-details {
  overflow: hidden;
  border: 1px solid rgba(8, 124, 112, .12);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .62);
}
.shared-recipe-details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 42px;
  padding: 9px 11px;
  cursor: pointer;
  list-style: none;
}
.shared-recipe-details summary::-webkit-details-marker {
  display: none;
}
.shared-recipe-details summary span {
  color: var(--surface-ink);
  font-size: 12px;
  font-weight: 950;
}
.shared-recipe-details summary b {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.shared-recipe-prep-list {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0 12px 10px 28px;
  color: var(--text);
  font-size: 13px;
  line-height: 1.35;
}
.shared-recipe-details .meta {
  margin: 0;
  padding: 0 12px 12px;
  font-size: 12px;
}
.food-research-hero-card {
  overflow: hidden;
  border-color: rgba(8, 124, 112, .2);
  background:
    radial-gradient(circle at 92% 0%, rgba(49, 87, 213, .14), transparent 30%),
    linear-gradient(135deg, rgba(255, 254, 249, .98), rgba(221, 247, 239, .72) 58%, rgba(236, 244, 255, .48)),
    var(--surface);
}
.research-command-card,
.influence-command-card {
  border-color: rgba(8, 124, 112, .22);
}
.food-research-command-head h3,
.influence-command-head h3 {
  max-width: 38rem;
  font-size: 24px;
}
.food-research-command-head .meta,
.influence-command-head .meta {
  max-width: 52rem;
}
.food-research-hero-strip,
.influence-hero-strip {
  grid-template-columns: .98fr .92fr .86fr;
}
.food-research-story-row,
.influence-story-row {
  margin-bottom: 0;
}
.food-research-story-row span,
.influence-story-row span {
  min-height: 68px;
}
.food-research-ribbon,
.influence-ribbon {
  margin-top: 2px;
}
.food-research-command-actions,
.influence-command-actions {
  padding-top: 2px;
}
.food-research-command-actions button,
.influence-command-actions button {
  min-height: 42px;
}
.food-research-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(210px, .42fr);
  gap: 14px;
  align-items: stretch;
}
.food-research-hero h3 {
  font-size: 24px;
  letter-spacing: 0;
}
.food-research-honesty {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 13px;
  border: 1px solid rgba(8, 124, 112, .18);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(4, 63, 57, .94), rgba(8, 124, 112, .82));
  color: #fffef9;
  box-shadow: 0 18px 38px rgba(4, 63, 57, .14);
}
.food-research-honesty b {
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}
.food-research-honesty span {
  color: rgba(255, 254, 249, .84);
  font-size: 13px;
  font-weight: 850;
  line-height: 1.35;
}
.food-research-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.research-experiments {
  margin-top: 10px;
}
.food-research-control-card {
  position: sticky;
  top: calc(74px + env(safe-area-inset-top));
  z-index: 8;
  border-color: rgba(49, 87, 213, .14);
  background:
    linear-gradient(145deg, rgba(255, 254, 249, .96), rgba(236, 244, 255, .44), rgba(221, 247, 239, .22)),
    var(--surface);
  box-shadow:
    0 18px 42px rgba(7, 74, 65, .08),
    0 1px 0 rgba(255, 255, 255, .78) inset;
}
.food-research-tools-fold .food-research-control-card {
  position: relative;
  top: auto;
  z-index: 1;
  margin: 0;
}
.food-research-library-shell {
  display: grid;
  gap: 12px;
  margin: 2px 0 14px;
  border: 1px solid rgba(8, 124, 112, .1);
  border-radius: var(--radius-lg);
  padding: 12px;
  background:
    radial-gradient(circle at 100% 0%, rgba(49, 87, 213, .12), transparent 28%),
    linear-gradient(145deg, rgba(255, 254, 249, .72), rgba(246, 251, 247, .42), rgba(221, 247, 239, .18));
}
.food-research-library-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 2px 2px 0;
}
.food-research-library-head h3 {
  margin: 2px 0 0;
  color: var(--surface-ink);
  font-size: 21px;
}
.food-research-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: end;
}
.search-box {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 11px;
  border: 1px solid rgba(8, 124, 112, .16);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .96), rgba(248, 252, 246, .82));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .78), 0 10px 20px rgba(7, 74, 65, .045);
}
.search-box svg {
  color: var(--teal);
}
.search-box input {
  border: 0;
  background: transparent;
  padding-left: 0;
}
.food-research-filter-row {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin-top: 11px;
}
.food-research-filter-row.compact {
  margin-top: 8px;
}
.food-research-filter {
  min-height: 36px;
  padding: 7px 10px;
  border-color: rgba(8, 124, 112, .14);
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .9), rgba(248, 252, 246, .68));
  color: var(--dim);
  box-shadow: 0 8px 16px rgba(7, 74, 65, .035);
  font-size: 12px;
}
.food-research-filter.active {
  border-color: rgba(8, 124, 112, .26);
  background: rgba(210, 246, 232, .76);
  color: var(--teal-ink);
  box-shadow: 0 10px 18px rgba(8, 124, 112, .08);
}
.food-research-grid {
  display: grid;
  gap: 12px;
  margin-top: 0;
}
.food-research-card {
  border-color: rgba(8, 124, 112, .16);
  background:
    radial-gradient(circle at 100% 0%, rgba(142, 229, 199, .2), transparent 25%),
    linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(247, 251, 247, .9), rgba(236, 244, 255, .3)),
    var(--surface);
  box-shadow:
    0 18px 40px rgba(7, 74, 65, .09),
    0 1px 0 rgba(255, 255, 255, .82) inset;
}
.food-research-card-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}
.food-research-card h3 {
  font-size: 20px;
  letter-spacing: 0;
}
.evidence-tier {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  min-height: 30px;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(236, 244, 255, .82);
  color: #14308f;
  font-size: 12px;
  font-weight: 950;
}
.evidence-tier.large {
  display: grid;
  min-width: 70px;
  min-height: 54px;
  border-radius: var(--radius);
  text-align: center;
}
.evidence-tier.large b,
.evidence-tier.large small {
  display: block;
}
.evidence-tier.large b {
  font-size: 20px;
  line-height: 1;
}
.evidence-tier.large small {
  margin-top: 2px;
  font-size: 9px;
  font-weight: 950;
  text-transform: uppercase;
}
.evidence-tier.tier-A {
  background: rgba(210, 246, 232, .86);
  color: var(--teal-ink);
}
.evidence-tier.tier-B {
  background: rgba(236, 244, 255, .92);
  color: #14308f;
}
.evidence-tier.tier-C {
  background: rgba(255, 240, 201, .88);
  color: #704512;
}
.food-research-tags,
.food-research-nutrients,
.food-research-practical {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}
.food-research-quick-take {
  margin: 10px 0 0;
  padding: 10px 11px;
  border: 1px solid rgba(8, 124, 112, .12);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(221, 247, 239, .62), rgba(255, 254, 249, .78));
  color: var(--surface-ink);
  font-size: 13px;
  font-weight: 850;
  line-height: 1.35;
}
.food-research-tags {
  display: flex;
  flex-wrap: wrap;
}
.food-research-tags span,
.food-research-nutrients span,
.food-research-practical > span,
.food-research-explain {
  border: 1px solid rgba(8, 124, 112, .12);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .72);
}
.food-research-tags span {
  padding: 6px 9px;
  color: var(--teal-ink);
  font-size: 12px;
  font-weight: 900;
}
.food-research-nutrients {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.food-research-nutrients span,
.food-research-practical > span,
.food-research-explain {
  display: grid;
  gap: 4px;
  padding: 10px;
  color: var(--dim);
  font-size: 12px;
  font-weight: 780;
  line-height: 1.35;
}
.food-research-nutrients b,
.food-research-practical b,
.food-research-explain b {
  color: var(--teal-ink);
  font-size: 10px;
  font-weight: 950;
  text-transform: uppercase;
}
.food-benefit-list {
  display: grid;
  gap: 8px;
  padding: 0;
  margin: 10px 0 0;
  list-style: none;
}
.food-benefit-list li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 9px;
  align-items: start;
  padding: 10px;
  border: 1px solid rgba(49, 87, 213, .12);
  border-radius: var(--radius);
  background: rgba(236, 244, 255, .42);
}
.food-benefit-list b,
.food-benefit-list span,
.food-benefit-list small {
  display: block;
}
.food-benefit-list b {
  color: var(--text);
  font-size: 13px;
}
.food-benefit-list span {
  margin-top: 2px;
  color: var(--dim);
  font-size: 12px;
  line-height: 1.35;
}
.food-benefit-list small {
  margin-top: 5px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
}
.food-research-explain {
  margin-top: 10px;
}
.food-research-details {
  margin-top: 10px;
  border: 1px solid rgba(8, 124, 112, .13);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .86), rgba(248, 252, 246, .7));
  box-shadow: 0 12px 24px rgba(7, 74, 65, .045);
  overflow: hidden;
}
.food-research-details summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  color: var(--teal-ink);
  cursor: pointer;
  font-size: 12px;
  font-weight: 950;
  list-style: none;
  text-transform: uppercase;
}
.food-research-details summary::-webkit-details-marker {
  display: none;
}
.food-research-details summary::after {
  content: "+";
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: rgba(221, 247, 239, .86);
  color: var(--teal-ink);
  font-size: 16px;
  line-height: 1;
}
.food-research-details[open] summary::after {
  content: "-";
}
.food-research-details summary b {
  margin-left: auto;
  color: var(--muted);
  font-size: 10px;
}
.food-research-details > :not(summary) {
  margin-left: 10px;
  margin-right: 10px;
}
.food-research-details > :last-child {
  margin-bottom: 10px;
}
.food-research-practical {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.food-research-practical .safety {
  border-color: rgba(187, 36, 94, .16);
  background: rgba(250, 228, 236, .5);
}
.food-research-practical span span {
  display: block;
  margin-top: 4px;
}
.influence-command-card {
  background:
    radial-gradient(circle at 10% 0%, rgba(250, 228, 236, .32), transparent 27%),
    radial-gradient(circle at 96% 10%, rgba(49, 87, 213, .18), transparent 31%),
    linear-gradient(125deg, rgba(255, 255, 255, .97), rgba(236, 244, 255, .48) 42%, rgba(221, 247, 239, .32) 76%, rgba(250, 228, 236, .18)),
    var(--surface);
}
.influence-workbench-card {
  border-color: rgba(49, 87, 213, .16);
  background:
    linear-gradient(145deg, rgba(255, 254, 249, .96), rgba(236, 244, 255, .5), rgba(221, 247, 239, .22)),
    var(--surface);
  box-shadow:
    0 18px 42px rgba(7, 74, 65, .08),
    0 1px 0 rgba(255, 255, 255, .78) inset;
}
.influence-action-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
  margin-top: 14px;
}
.influence-action-panel {
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(8, 124, 112, .13);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .9), rgba(246, 251, 247, .74));
  box-shadow:
    0 12px 24px rgba(27, 45, 36, .052),
    0 1px 0 rgba(255, 255, 255, .74) inset;
}
.influence-action-panel > .meta {
  margin: 10px 0 0;
}
.influence-action-panel .research-summary {
  margin-top: 12px;
  padding: 10px;
  border: 1px solid rgba(49, 87, 213, .12);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(236, 244, 255, .62), rgba(255, 254, 249, .78));
}
.influence-action-panel .source-list {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}
.influence-action-panel .source-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 9px 10px;
  border: 1px solid rgba(8, 124, 112, .11);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .72);
}
.influence-action-panel .source-list a {
  min-width: 0;
  color: var(--surface-ink);
  font-weight: 850;
  overflow-wrap: anywhere;
}
.influence-action-panel .source-list span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
}
.influence-claims-shell {
  display: grid;
  gap: 12px;
  margin: 2px 0 14px;
}
.influence-claims-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 2px 2px 0;
}
.influence-claims-head h3 {
  margin: 2px 0 0;
  color: var(--surface-ink);
  font-size: 21px;
}
.influence-claim-list {
  display: grid;
  gap: 10px;
}
.influence-claim-card {
  border-color: rgba(8, 124, 112, .14);
  background:
    radial-gradient(circle at 100% 0%, rgba(49, 87, 213, .13), transparent 26%),
    linear-gradient(145deg, rgba(255, 254, 249, .97), rgba(246, 251, 247, .86), rgba(236, 244, 255, .34));
  box-shadow:
    0 16px 34px rgba(7, 74, 65, .085),
    0 1px 0 rgba(255, 255, 255, .78) inset;
}
.influence-empty-card {
  border-color: rgba(49, 87, 213, .14);
  background:
    linear-gradient(135deg, rgba(236, 244, 255, .5), rgba(255, 254, 249, .86));
}
.influence-claim-details {
  margin-top: 10px;
  border: 1px solid rgba(49, 87, 213, .12);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .82), rgba(236, 244, 255, .38));
  overflow: hidden;
}
.influence-claim-details summary {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 11px;
  color: #14308f;
  cursor: pointer;
  font-size: 12px;
  font-weight: 950;
  list-style: none;
  text-transform: uppercase;
}
.influence-claim-details summary::-webkit-details-marker {
  display: none;
}
.influence-claim-details summary::after {
  content: "+";
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 23px;
  height: 23px;
  border-radius: 999px;
  background: rgba(236, 244, 255, .86);
  color: #14308f;
  font-size: 15px;
  line-height: 1;
}
.influence-claim-details[open] summary::after {
  content: "-";
}
.influence-claim-details summary b {
  margin-left: auto;
  color: var(--muted);
  font-size: 10px;
}
.claim-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 0 10px 10px;
}
.claim-detail-grid span,
.claim-evidence,
.claim-source-link {
  min-width: 0;
  display: grid;
  gap: 3px;
  padding: 9px;
  border: 1px solid rgba(8, 124, 112, .1);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .72);
  color: var(--dim);
  font-size: 12px;
  font-weight: 780;
  line-height: 1.35;
}
.claim-evidence,
.claim-source-link {
  margin: 0 10px 10px;
}
.claim-detail-grid b,
.claim-evidence b,
.claim-source-link b {
  color: var(--teal-ink);
  font-size: 10px;
  font-weight: 950;
  text-transform: uppercase;
}
.claim-source-link a {
  min-width: 0;
  color: #14308f;
  overflow-wrap: anywhere;
}
.recipe-import-card {
  border-color: rgba(15, 118, 110, .22);
}
.import-preview {
  display: grid;
  gap: 10px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}
.import-preview h3 {
  margin: 2px 0 3px;
}
.food-row.missing span {
  background: #fff3cd;
  color: #8a5b00;
}
.warning-text {
  color: var(--berry);
  font-weight: 800;
}
.unlock-warning {
  margin: 12px 0;
  padding: 10px 11px;
  border: 1px solid rgba(187, 36, 94, .2);
  border-radius: var(--radius);
  background: linear-gradient(135deg, rgba(250, 228, 236, .76), rgba(255, 254, 249, .82));
  color: var(--berry);
  font-size: 13px;
  font-weight: 850;
  line-height: 1.35;
}
.timeline-warning {
  margin: 10px 0 0;
  padding: 9px 10px;
  border: 1px solid rgba(217, 70, 121, .18);
  border-radius: var(--radius);
  background: rgba(255, 232, 241, .72);
  font-size: 12px;
  line-height: 1.35;
}
.ghost.attention {
  border-color: rgba(15, 118, 110, .28);
  background: linear-gradient(180deg, rgba(223, 245, 236, .92), rgba(255, 255, 255, .96));
  color: var(--teal-ink);
}
.nutrition-edit-hint {
  margin-top: 10px;
}
.food-edit-head, .food-edit-row {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(64px, .6fr) minmax(64px, .6fr) 38px;
  gap: 8px;
  align-items: center;
}
.food-edit-head {
  color: var(--dim);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.food-edit-list {
  display: grid;
  gap: 8px;
}
.meal-edit-card input {
  min-height: 40px;
  padding: 9px 10px;
}

.checkin-cadence {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  margin-bottom: 12px;
  padding: 10px;
  border: 1px solid rgba(15, 118, 110, .2);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(221, 247, 239, .78), rgba(255, 254, 249, .84));
  box-shadow: 0 10px 22px rgba(27, 45, 36, .045);
}
.checkin-cadence.done {
  border-color: rgba(8, 124, 112, .24);
  background:
    linear-gradient(135deg, rgba(221, 247, 239, .86), rgba(255, 254, 249, .88));
}
.checkin-cadence .i {
  width: 22px;
  height: 22px;
  color: var(--teal);
}
.checkin-cadence strong,
.checkin-cadence span {
  display: block;
}
.checkin-cadence span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.slider-grid {
  display: grid;
  gap: 12px;
  margin: 16px 0;
}
.slider {
  padding: 12px;
  border: 1px solid rgba(8, 124, 112, .13);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .9), rgba(246, 251, 247, .74));
  box-shadow:
    0 12px 24px rgba(27, 45, 36, .052),
    0 1px 0 rgba(255, 255, 255, .74) inset;
}
.slider-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}
.slider label { margin: 0; color: var(--text); font-size: 15px; }
.slider p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}
.slider b {
  display: inline-flex;
  align-items: baseline;
  gap: 2px;
  color: var(--teal);
  font-size: 22px;
  line-height: 1;
  white-space: nowrap;
}
.slider b small {
  color: var(--muted);
  font-size: 11px;
}
.range-labels {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: var(--dim);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.25;
}
.range-labels span:last-child { text-align: right; }
.score-direction {
  display: inline-flex;
  margin-top: 8px;
  border-radius: 999px;
  padding: 4px 8px;
  background: var(--mint);
  color: var(--teal-ink);
  font-size: 11px;
  font-weight: 900;
}
.slider.inverse .score-direction {
  background: var(--amber-soft);
  color: #68400c;
}
input[type=range] {
  padding: 0;
  accent-color: var(--teal);
}
.form-card textarea { resize: vertical; }
.form-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
}
.inline-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: stretch;
}
.toolbar {
  display: flex;
  justify-content: flex-end;
  margin: -4px 0 12px;
}
.insight-card {
  border-color: rgba(8, 124, 112, .16);
  background:
    radial-gradient(circle at 12% 0%, rgba(221, 247, 239, .78), transparent 34%),
    linear-gradient(145deg, rgba(255, 254, 249, .98), rgba(246, 251, 247, .92));
  box-shadow:
    0 20px 48px rgba(7, 74, 65, .09),
    0 6px 18px rgba(27, 45, 36, .05),
    0 1px 0 rgba(255, 255, 255, .82) inset;
}
.insight-card .metrics-row.compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 12px 0;
  padding: 12px 0;
  border-block: 1px solid var(--line);
}
.insight-card .metric {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.insight-card .metric span {
  min-height: 26px;
  font-size: 10px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.insight-card .metric strong {
  font-size: 18px;
  line-height: 1.2;
  white-space: nowrap;
}
.insight-summary {
  margin: 12px 0 4px;
  color: var(--surface-ink);
  font-size: 15px;
  font-weight: 760;
  line-height: 1.35;
}
.insight-caution {
  margin: 0;
}
.direction {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 11px;
  font-weight: 900;
  background: var(--mint);
  color: var(--teal-ink);
  text-transform: uppercase;
  white-space: nowrap;
}
.direction.worse {
  background: var(--berry-soft);
  color: var(--berry);
}
.action-row {
  margin-top: 12px;
  flex-wrap: wrap;
}
.insight-card .action-row button {
  min-height: 44px;
}
.research-summary {
  grid-template-columns: repeat(2, minmax(0, 140px));
  margin-bottom: 8px;
}
.claim-card h3 { font-size: 15px; }
.answer-card {
  border-color: rgba(49, 87, 213, .16);
  background:
    radial-gradient(circle at 100% 0%, rgba(49, 87, 213, .14), transparent 28%),
    linear-gradient(145deg, rgba(255, 254, 249, .97), rgba(236, 244, 255, .5), rgba(221, 247, 239, .22)),
    var(--surface);
  box-shadow:
    0 18px 40px rgba(7, 74, 65, .09),
    0 1px 0 rgba(255, 255, 255, .82) inset;
}
.answer-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 10px;
}
.answer-head h3 {
  margin: 2px 0 0;
  color: var(--surface-ink);
  font-size: 19px;
  line-height: 1.2;
}
.answer-body-card {
  border: 1px solid rgba(49, 87, 213, .12);
  border-radius: var(--radius);
  padding: 12px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .84), rgba(236, 244, 255, .48));
  box-shadow:
    0 12px 26px rgba(30, 54, 130, .045),
    0 1px 0 rgba(255, 255, 255, .74) inset;
}
.answer { margin: 0; color: var(--surface-ink); font-size: 17px; line-height: 1.55; }
.source-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.ask-evidence-card {
  overflow: hidden;
  border-color: rgba(49, 87, 213, .16);
  background:
    radial-gradient(circle at 8% 0%, rgba(236, 244, 255, .48), transparent 28%),
    radial-gradient(circle at 98% 8%, rgba(142, 229, 199, .2), transparent 30%),
    linear-gradient(145deg, rgba(255, 254, 249, .98), rgba(236, 244, 255, .58), rgba(221, 247, 239, .22)),
    var(--surface);
}
.ask-answer-decision {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 11px;
  align-items: start;
  padding: 12px;
  border: 1px solid rgba(49, 87, 213, .12);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .86), rgba(236, 244, 255, .56));
  box-shadow:
    0 14px 30px rgba(30, 54, 130, .06),
    0 1px 0 rgba(255, 255, 255, .78) inset;
}
.ask-answer-marker {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(49, 87, 213, .16), rgba(142, 229, 199, .32));
  color: var(--teal-ink);
}
.ask-answer-marker .i {
  width: 22px;
  height: 22px;
}
.ask-answer-decision b {
  display: block;
  margin-bottom: 4px;
  color: var(--teal-ink);
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}
.ask-answer-body {
  display: grid;
  gap: 9px;
}
.ask-answer-body p,
.ask-answer-body h4,
.ask-answer-list {
  margin: 0;
}
.ask-answer-body h4 {
  color: var(--surface-ink);
  font-size: 14px;
  font-weight: 950;
}
.ask-answer-body strong {
  color: var(--teal-ink);
  font-weight: 950;
}
.ask-answer-body code {
  border-radius: 7px;
  padding: 1px 5px;
  background: rgba(8, 124, 112, .09);
  color: var(--teal-ink);
  font-family: inherit;
  font-size: .92em;
  font-weight: 850;
}
.ask-answer-list {
  display: grid;
  gap: 6px;
  padding-left: 18px;
}
.ask-answer-list li {
  color: var(--surface-ink);
  line-height: 1.45;
}
.ask-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid rgba(49, 87, 213, .12);
}
.ask-action-row button {
  min-height: 40px;
}
.ask-answer-evidence-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}
.ask-answer-evidence-grid span {
  min-width: 0;
  min-height: 58px;
  display: grid;
  align-content: center;
  gap: 2px;
  padding: 9px 10px;
  border: 1px solid rgba(8, 124, 112, .1);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .9), rgba(221, 247, 239, .42));
}
.ask-answer-evidence-grid b {
  color: var(--surface-ink);
  font-size: 17px;
  font-weight: 950;
  line-height: 1.05;
}
.ask-answer-evidence-grid small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.ask-source-details {
  overflow: hidden;
  margin-top: 10px;
  border: 1px solid rgba(8, 124, 112, .12);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .64);
}
.ask-source-details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 42px;
  padding: 9px 11px;
  cursor: pointer;
  list-style: none;
}
.ask-source-details summary::-webkit-details-marker {
  display: none;
}
.ask-source-details summary span {
  color: var(--surface-ink);
  font-size: 12px;
  font-weight: 950;
}
.ask-source-details summary b {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.ask-source-list {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0 11px 10px;
  list-style: none;
}
.ask-source-list li {
  display: grid;
  grid-template-columns: minmax(104px, .42fr) minmax(0, 1fr);
  gap: 9px;
  padding: 8px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .68);
}
.ask-source-list b,
.ask-source-list small,
.ask-source-list em {
  display: block;
  min-width: 0;
}
.ask-source-list b {
  color: var(--teal-ink);
  font-size: 12px;
  font-weight: 950;
}
.ask-source-list small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}
.ask-source-list em {
  color: var(--dim);
  font-size: 12px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.35;
}
.ask-source-details .meta {
  margin: 0;
  padding: 0 12px 12px;
  font-size: 12px;
}
.ask-source-tags {
  margin-top: 10px;
}
.tag {
  display: inline-flex;
  max-width: 100%;
  border-radius: 999px;
  padding: 5px 8px;
  background: var(--surface-soft);
  color: var(--teal-ink);
  font-size: 12px;
  font-weight: 800;
}
.tag.muted {
  color: var(--muted);
}
.success { border-color: #bde8db; }
.profile-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.profile-grid .wide { grid-column: 1 / -1; }
.profile-summary-card {
  border-color: rgba(8, 124, 112, .2);
}
.profile-hub-card {
  padding: 15px;
  background: rgba(255, 254, 249, .97);
  box-shadow: var(--shadow-soft);
}
.profile-hub-main {
  display: grid;
  grid-template-columns: 146px minmax(0, 1fr);
  gap: 16px;
  align-items: stretch;
}
.profile-hub-card .profile-score-panel {
  align-content: center;
  padding: 8px;
  box-shadow: none;
}
.profile-hub-card .profile-score-ring {
  width: 96px;
}
.profile-hub-copy {
  min-width: 0;
  display: grid;
  align-content: center;
  gap: 12px;
}
.profile-hub-copy h3 {
  margin-bottom: 3px;
  font-size: 22px;
}
.profile-hub-copy .profile-next-action {
  margin-top: 0;
}
.profile-panel:empty {
  display: none;
}
.profile-hero-card {
  background:
    radial-gradient(circle at 8% 0%, rgba(142, 229, 199, .32), transparent 28%),
    radial-gradient(circle at 95% 2%, rgba(49, 87, 213, .16), transparent 32%),
    linear-gradient(135deg, rgba(255, 254, 249, .98), rgba(221, 247, 239, .64) 48%, rgba(236, 244, 255, .38)),
    var(--surface);
  box-shadow: var(--shadow-lift);
}
.profile-command-card {
  overflow: hidden;
}
.profile-command-head h3,
.profile-setup-head h3 {
  max-width: 42rem;
  font-size: 24px;
}
.profile-command-head .meta,
.profile-setup-head .meta {
  max-width: 54rem;
}
.profile-setup-head-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.profile-setup-head-actions button {
  min-width: 96px;
}
.profile-command-story {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin: 12px 0 14px;
}
.profile-command-story span {
  min-width: 0;
  min-height: 76px;
  display: grid;
  align-content: start;
  gap: 5px;
  padding: 10px;
  border: 1px solid rgba(8, 124, 112, .13);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .9), rgba(248, 252, 246, .78));
  box-shadow: 0 10px 20px rgba(7, 74, 65, .055);
}
.profile-command-story span:nth-child(2) {
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .92), rgba(250, 228, 236, .38));
}
.profile-command-story span:nth-child(3) {
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .92), rgba(236, 244, 255, .52));
}
.profile-command-story span:nth-child(4) {
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .92), rgba(255, 240, 201, .35));
}
.profile-command-story svg {
  width: 20px;
  height: 20px;
  color: var(--teal);
}
.profile-command-story b,
.profile-command-story small {
  display: block;
  min-width: 0;
}
.profile-command-story b {
  color: var(--teal-ink);
  font-size: 12px;
  line-height: 1.15;
}
.profile-command-story small {
  color: var(--dim);
  font-size: 10px;
  font-weight: 850;
  line-height: 1.2;
}
.profile-hero {
  display: grid;
  grid-template-columns: 148px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}
.profile-score-panel {
  display: grid;
  justify-items: center;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(8, 124, 112, .16);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .94), rgba(248, 251, 245, .78)),
    var(--surface);
  box-shadow: 0 14px 28px rgba(27, 45, 36, .08), var(--glow);
}
.profile-score-panel.ready {
  border-color: #bde8db;
}
.profile-score-panel.good {
  border-color: rgba(15, 118, 110, .24);
}
.profile-score-panel.attention {
  border-color: #f3d587;
}
.profile-score-ring {
  --score-color: var(--teal);
  --score-color-end: #42bfa4;
  --score-track: rgba(17, 68, 59, .11);
  width: 112px;
  aspect-ratio: 1;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: conic-gradient(from -90deg,
    var(--score-color) 0,
    var(--score-color-end) var(--profile-score),
    var(--score-track) var(--profile-score),
    var(--score-track) 100%);
  color: var(--teal-ink);
  position: relative;
  isolation: isolate;
  border: 1px solid rgba(10, 71, 62, .08);
  box-shadow:
    0 12px 24px rgba(8, 124, 112, .12),
    inset 0 0 0 1px rgba(255, 255, 255, .58);
}
.profile-score-panel.attention .profile-score-ring {
  --score-color: #bd7415;
  --score-color-end: #e5a338;
}
.profile-score-ring::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 10px;
  border-radius: inherit;
  background:
    linear-gradient(145deg, #fffefb, #f1f7f3);
  border: 1px solid rgba(255, 255, 255, .9);
  box-shadow:
    0 2px 5px rgba(20, 52, 44, .08),
    inset 0 0 0 1px rgba(8, 124, 112, .05);
}
.profile-score-ring-value {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 1px;
  font-variant-numeric: tabular-nums;
}
.profile-score-ring-value b {
  font-size: 32px;
  line-height: 1;
  letter-spacing: 0;
}
.profile-score-ring-value span {
  margin-top: 2px;
  font-size: 16px;
  font-weight: 850;
  line-height: 1;
}
.profile-score-caption {
  display: grid;
  justify-items: center;
  gap: 2px;
  text-align: center;
}
.profile-score-caption strong {
  color: var(--teal-ink);
  font-size: 13px;
}
.profile-score-caption span {
  color: var(--dim);
  font-size: 11px;
  font-weight: 850;
  line-height: 1.25;
}
.profile-tune-bars {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 3px;
}
.profile-tune-bars span {
  min-width: 0;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e2eadf;
  color: transparent;
  box-shadow: inset 0 0 0 1px rgba(15, 118, 110, .05);
}
.profile-tune-bars span.done {
  background: linear-gradient(90deg, #087c70, #22b69f);
  box-shadow: 0 4px 10px rgba(8, 124, 112, .2);
}
.profile-hero-copy {
  min-width: 0;
}
.profile-next-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 12px;
  padding: 11px 12px;
  border: 1px solid rgba(8, 124, 112, .16);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .78);
  box-shadow: 0 8px 16px rgba(27, 45, 36, .04);
}
.profile-next-action b,
.profile-next-action span {
  display: block;
}
.profile-next-action b {
  color: var(--teal-ink);
  font-size: 13px;
}
.profile-next-action span {
  margin-top: 2px;
  color: var(--dim);
  font-size: 12px;
  font-weight: 800;
}
.profile-power-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.profile-power {
  --busy-fg: var(--teal-ink);
  min-height: 62px;
  justify-content: flex-start;
  padding: 9px;
  border: 1px solid rgba(217, 227, 215, .9);
  background: rgba(255, 254, 249, .84);
  color: var(--text);
  box-shadow: 0 8px 16px rgba(27, 45, 36, .04);
}
.profile-power.ready {
  border-color: #bde8db;
  background: linear-gradient(180deg, #ecfbf6, var(--mint));
  color: var(--teal-ink);
}
.profile-power.attention {
  border-color: #f3d587;
  background: linear-gradient(180deg, #fff7dc, var(--amber-soft));
  color: #68400c;
}
.profile-power span,
.profile-power b,
.profile-power small {
  display: block;
  min-width: 0;
}
.profile-power b {
  font-size: 12px;
  line-height: 1.15;
}
.profile-power small {
  margin-top: 3px;
  color: currentColor;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.2;
  opacity: .75;
  text-transform: uppercase;
}
.profile-status-rail-card {
  border-color: rgba(8, 124, 112, .2);
  background:
    radial-gradient(circle at 8% 0%, rgba(142, 229, 199, .26), transparent 30%),
    radial-gradient(circle at 100% 0%, rgba(49, 87, 213, .12), transparent 34%),
    linear-gradient(145deg, rgba(255, 254, 249, .96), rgba(248, 252, 246, .86)),
    var(--surface);
  box-shadow: var(--shadow-lift);
}
.profile-status-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 11px;
}
.profile-status-head h3 {
  margin: 2px 0 0;
  font-size: 20px;
}
.profile-status-rail {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}
.profile-status-chip {
  --busy-fg: var(--teal-ink);
  min-width: 0;
  min-height: 86px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: flex-start;
  justify-content: flex-start;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(217, 227, 215, .88);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(248, 252, 246, .8));
  color: var(--text);
  text-align: left;
  box-shadow: 0 12px 24px rgba(7, 74, 65, .055);
}
.profile-status-chip.ready {
  border-color: rgba(8, 124, 112, .24);
  background:
    linear-gradient(180deg, rgba(221, 247, 239, .88), rgba(255, 254, 249, .84));
}
.profile-status-chip.attention {
  border-color: rgba(217, 119, 6, .28);
  background:
    linear-gradient(180deg, rgba(255, 240, 201, .86), rgba(255, 254, 249, .86));
}
.profile-status-chip svg {
  width: 21px;
  height: 21px;
  color: var(--teal);
}
.profile-status-chip.attention svg {
  color: var(--amber);
}
.profile-status-chip span,
.profile-status-chip small,
.profile-status-chip b,
.profile-status-chip em {
  min-width: 0;
  display: block;
}
.profile-status-chip small {
  color: var(--dim);
  font-size: 9px;
  font-style: normal;
  font-weight: 950;
  letter-spacing: .04em;
  line-height: 1.1;
  text-transform: uppercase;
}
.profile-status-chip b {
  margin-top: 4px;
  color: var(--teal-ink);
  font-size: 13px;
  font-weight: 950;
  line-height: 1.12;
}
.profile-status-chip em {
  margin-top: 4px;
  color: var(--dim);
  font-size: 10px;
  font-style: normal;
  font-weight: 850;
  line-height: 1.2;
}
.profile-nav-card {
  position: sticky;
  top: calc(66px + env(safe-area-inset-top));
  z-index: 4;
  padding: 10px;
  background: rgba(255, 254, 249, .86);
  backdrop-filter: blur(18px) saturate(1.15);
  box-shadow: var(--shadow-soft);
}
.profile-section-tabs {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(118px, 1fr);
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 2px;
  scrollbar-width: none;
}
.profile-section-tabs::-webkit-scrollbar {
  display: none;
}
.profile-section-tab {
  --busy-fg: var(--teal-ink);
  min-height: 58px;
  justify-content: flex-start;
  padding: 9px 10px;
  background: rgba(255, 254, 249, .82);
  color: var(--text);
  border: 1px solid rgba(217, 227, 215, .9);
  box-shadow: 0 8px 16px rgba(27, 45, 36, .04);
}
.profile-section-tab.active {
  --busy-fg: #fff;
  background: linear-gradient(135deg, #0c867a, #087c70 58%, #3157d5 150%);
  color: #fff;
  border-color: var(--teal);
  box-shadow: 0 16px 30px rgba(8, 124, 112, .22);
}
.profile-section-tab span,
.profile-section-tab b,
.profile-section-tab small {
  display: block;
  min-width: 0;
}
.profile-section-tab b {
  font-size: 13px;
  line-height: 1.15;
}
.profile-section-tab small {
  margin-top: 2px;
  color: currentColor;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.2;
  opacity: .72;
  text-transform: uppercase;
}
.profile-premium-setup {
  border-color: rgba(8, 124, 112, .18);
  background:
    radial-gradient(circle at 100% 0%, rgba(142, 229, 199, .2), transparent 28%),
    linear-gradient(145deg, rgba(255, 254, 249, .97), rgba(236, 244, 255, .32), rgba(221, 247, 239, .22)),
    var(--surface);
  box-shadow:
    0 20px 48px rgba(7, 74, 65, .09),
    0 1px 0 rgba(255, 255, 255, .78) inset;
}
.profile-setup-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .84fr);
  gap: 10px;
  margin-top: 14px;
}
.profile-panel[data-profile-panel="food"] .profile-setup-shell,
.profile-panel[data-profile-panel="privacy"] .profile-setup-shell {
  grid-template-columns: minmax(0, 1fr);
}
.profile-field-panel {
  min-width: 0;
  padding: 13px;
  border: 1px solid rgba(217, 227, 215, .82);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .9), rgba(248, 251, 245, .82));
  box-shadow: 0 12px 24px rgba(27, 45, 36, .055);
}
.profile-field-panel.basics {
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .94), rgba(221, 247, 239, .32));
}
.profile-field-panel.controls {
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .94), rgba(236, 244, 255, .42));
}
.profile-field-panel.preferences,
.profile-field-panel.ai {
  grid-column: 1 / -1;
}
.profile-field-panel.preferences {
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .94), rgba(250, 228, 236, .2), rgba(221, 247, 239, .2));
}
.profile-field-panel.ai {
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .94), rgba(255, 240, 201, .28), rgba(236, 244, 255, .24));
}
.profile-field-panel-head {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-bottom: 11px;
}
.profile-field-panel-head svg {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  color: var(--teal);
}
.profile-field-panel-head b,
.profile-field-panel-head small {
  display: block;
}
.profile-field-panel-head b {
  color: var(--teal-ink);
  font-size: 15px;
  line-height: 1.15;
}
.profile-field-panel-head small {
  margin-top: 3px;
  color: var(--dim);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
}
.profile-field-panel .profile-grid {
  gap: 9px;
}
.profile-voice-key-box {
  display: grid;
  grid-template-columns: minmax(220px, .75fr) minmax(0, 1fr);
  gap: 12px;
  align-items: end;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(8, 124, 112, .14);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(221, 247, 239, .42), rgba(236, 244, 255, .35)),
    rgba(255, 254, 249, .72);
}
.profile-voice-key-box label {
  display: block;
  margin-bottom: 4px;
}
.profile-voice-key-box .meta {
  margin: 0;
}
.profile-toggle-stack {
  display: grid;
  gap: 8px;
}
.profile-field-panel .preference-heading {
  padding: 10px;
  border: 1px solid rgba(8, 124, 112, .1);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .62);
}
.profile-field-panel .preference-heading h3 {
  margin: 0 0 2px;
  font-size: 15px;
}
.profile-field-panel .diet-approach-panel {
  margin-top: 0;
}
.profile-panel {
  animation: profile-panel-in .16s ease-out;
}
@keyframes profile-panel-in {
  from { opacity: .55; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}
.token-card {
  border-color: rgba(15, 118, 110, .2);
}
.product-health-card {
  border-color: rgba(15, 118, 110, .24);
  background: linear-gradient(135deg, rgba(221, 247, 239, .72), rgba(255, 254, 249, .96));
}
.meal-loop-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 16px 0; }
.meal-loop-summary > div { min-width: 0; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.meal-loop-summary dt { font-size: 12px; line-height: 1.5; color: var(--dim); overflow-wrap: anywhere; }
.meal-loop-summary dd { font-size: 20px; font-weight: 700; margin: 6px 0 0; overflow-wrap: anywhere; }
@media (max-width: 600px) { .meal-loop-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.product-health-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}
.product-health-grid section {
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(8, 124, 112, .14);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .9), rgba(248, 252, 246, .75));
  box-shadow: 0 14px 28px rgba(7, 74, 65, .06);
}
.product-health-grid h4 {
  margin: 0 0 8px;
  color: var(--teal-ink);
  font-size: 13px;
  text-transform: uppercase;
}
.next-activation {
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  border: 1px solid rgba(217, 119, 6, .22);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(255, 240, 201, .78), rgba(255, 254, 249, .82));
  box-shadow: 0 12px 24px rgba(130, 86, 17, .06);
}
.next-activation b,
.next-activation span {
  display: block;
}
.next-activation b {
  color: #68400c;
  font-size: 12px;
  text-transform: uppercase;
}
.next-activation span {
  color: var(--dim);
  font-size: 13px;
}
.activation-list,
.feature-use-list {
  display: grid;
  gap: 8px;
}
.activation-row {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  padding: 8px;
  border: 1px solid rgba(8, 124, 112, .12);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .92), rgba(248, 252, 246, .76));
  box-shadow: 0 10px 20px rgba(7, 74, 65, .045);
}
.activation-row.done {
  border-color: #bde8db;
  background:
    linear-gradient(180deg, rgba(221, 247, 239, .9), rgba(255, 254, 249, .76));
}
.activation-row .i {
  width: 20px;
  height: 20px;
  color: var(--teal);
}
.activation-row b,
.activation-row small {
  display: block;
}
.activation-row b {
  font-size: 13px;
}
.activation-row small {
  margin-top: 2px;
  color: var(--dim);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.25;
}
.feature-use-row {
  display: grid;
  grid-template-columns: minmax(92px, .8fr) minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}
.feature-use-row b,
.feature-use-row small {
  display: block;
}
.feature-use-row b {
  font-size: 13px;
}
.feature-use-row small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}
.feature-use-meter {
  display: block;
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: #eef2e9;
}
.feature-use-meter i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--teal), #79c2a6);
}
.launch-readiness-card {
  border-color: rgba(217, 119, 6, .28);
}
.ops-card {
  border-color: rgba(37, 99, 235, .22);
  background: linear-gradient(135deg, rgba(239, 246, 255, .7), rgba(255, 255, 255, .96));
}
.readiness-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.backup-remote-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.backup-remote-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(8, 124, 112, .14);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .92), rgba(239, 246, 255, .44));
  box-shadow: 0 12px 24px rgba(7, 74, 65, .055);
}
.backup-remote-row strong,
.backup-remote-row span,
.backup-remote-row small {
  display: block;
}
.backup-remote-row span {
  margin-top: 3px;
  color: var(--dim);
  font-size: 12px;
  font-weight: 800;
}
.backup-remote-row small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
  overflow-wrap: anywhere;
}
.backup-preview-card {
  margin-top: 12px;
  border-color: rgba(8, 124, 112, .16);
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .96), rgba(221, 247, 239, .42));
  box-shadow: 0 18px 36px rgba(7, 74, 65, .08);
}
.backup-schedule-panel {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(0, 1.1fr) auto auto;
  gap: 10px;
  align-items: end;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(37, 99, 235, .16);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .9), rgba(239, 246, 255, .54));
  box-shadow: 0 14px 28px rgba(37, 99, 235, .07);
}
.backup-schedule-panel label {
  color: var(--dim);
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}
.backup-schedule-panel .toggle-row {
  min-height: 42px;
  align-self: end;
  text-transform: none;
}
.restore-drill-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(8, 124, 112, .12);
  border-radius: var(--radius);
  background: linear-gradient(135deg, rgba(220, 252, 231, .62), rgba(239, 246, 255, .64));
  color: var(--dim);
  font-size: 12px;
  line-height: 1.35;
  box-shadow: 0 12px 24px rgba(7, 74, 65, .055);
}
.restore-drill-note strong {
  color: var(--teal-ink);
  white-space: nowrap;
}
.readiness-gate {
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: flex-start;
  padding: 11px 12px;
  border: 1px solid rgba(8, 124, 112, .13);
  border-left-width: 4px;
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .93), rgba(248, 252, 246, .76));
  box-shadow: 0 12px 24px rgba(7, 74, 65, .05);
}
.readiness-gate.ready { border-left-color: var(--teal); }
.readiness-gate.attention { border-left-color: var(--amber); }
.readiness-gate.blocked { border-left-color: var(--berry); }
.readiness-dot {
  width: 9px;
  height: 9px;
  margin-top: 4px;
  border-radius: 999px;
  background: var(--line);
}
.readiness-gate.ready .readiness-dot { background: var(--teal); }
.readiness-gate.attention .readiness-dot { background: var(--amber); }
.readiness-gate.blocked .readiness-dot { background: var(--berry); }
.readiness-gate strong,
.readiness-gate p,
.readiness-gate small {
  display: block;
}
.readiness-gate strong {
  color: var(--text);
  font-size: 14px;
}
.readiness-gate p {
  margin: 3px 0 0;
  color: var(--dim);
  font-size: 12px;
  line-height: 1.35;
}
.readiness-gate small {
  margin-top: 5px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.3;
}
.readiness-gate > b {
  color: var(--dim);
  font-size: 11px;
  text-transform: uppercase;
  white-space: nowrap;
}
.readiness-gate.ready > b { color: var(--teal); }
.readiness-gate.attention > b { color: var(--amber); }
.readiness-gate.blocked > b { color: var(--berry); }
.token-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.token-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid rgba(8, 124, 112, .13);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .92), rgba(221, 247, 239, .28));
  box-shadow: 0 10px 20px rgba(7, 74, 65, .045);
}
.token-row span {
  min-width: 0;
  color: var(--ink);
  font-weight: 800;
}
.token-row b {
  color: var(--teal-ink);
}
.token-row small {
  color: var(--dim);
  font-weight: 800;
}
.preference-heading {
  padding-top: 6px;
  border-top: 1px solid var(--line);
}
.preference-heading h3 {
  margin: 0 0 4px;
}
.diet-approach-panel {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(8, 124, 112, .16);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(221, 247, 239, .66), rgba(255, 254, 249, .92)),
    var(--surface);
}
.diet-chip-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.diet-chip {
  min-width: 0;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  min-height: 70px;
  padding: 10px 11px;
  border: 1px solid rgba(217, 227, 215, .95);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .78);
  cursor: pointer;
}
.diet-chip input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  justify-self: center;
  accent-color: var(--teal);
}
.diet-chip b,
.diet-chip small {
  display: block;
}
.diet-chip b {
  color: var(--teal-ink);
  font-size: 13px;
  line-height: 1.2;
}
.diet-chip small {
  margin-top: 3px;
  color: var(--dim);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.25;
}
.diet-detail-grid {
  margin-top: 2px;
}
.feedback-card {
  border-color: rgba(15, 118, 110, .18);
}
.feedback-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(120px, .55fr) minmax(120px, .65fr);
  gap: 10px;
  margin-top: 12px;
}
.feedback-form .wide {
  grid-column: 1 / -1;
}
.feedback-form textarea {
  min-height: 132px;
  resize: vertical;
}
.feedback-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.feedback-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: flex-start;
  padding: 11px 12px;
  border: 1px solid rgba(8, 124, 112, .13);
  border-left: 4px solid var(--teal);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .94), rgba(246, 251, 247, .74));
  box-shadow:
    0 12px 24px rgba(27, 45, 36, .052),
    0 1px 0 rgba(255, 255, 255, .74) inset;
}
.feedback-item.bug { border-left-color: var(--berry); }
.feedback-item.confusion { border-left-color: var(--amber); }
.feedback-item.idea { border-left-color: #79c2a6; }
.feedback-item strong,
.feedback-item p,
.feedback-item small {
  display: block;
}
.feedback-item strong {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--text);
}
.feedback-type-dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: var(--teal);
  box-shadow: 0 0 0 4px rgba(8, 124, 112, .1);
}
.feedback-item.bug .feedback-type-dot { background: var(--berry); box-shadow: 0 0 0 4px rgba(187, 36, 94, .1); }
.feedback-item.confusion .feedback-type-dot { background: var(--amber); box-shadow: 0 0 0 4px rgba(194, 128, 24, .12); }
.feedback-item.idea .feedback-type-dot { background: #51aa87; box-shadow: 0 0 0 4px rgba(81, 170, 135, .12); }
.feedback-item.value .feedback-type-dot { background: #3157d5; box-shadow: 0 0 0 4px rgba(49, 87, 213, .1); }
.feedback-item p {
  margin: 3px 0 0;
  color: var(--dim);
  font-size: 13px;
  line-height: 1.35;
}
.feedback-item small {
  margin-top: 5px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}
.feedback-side {
  display: grid;
  justify-items: end;
  gap: 8px;
}
.status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  border: 1px solid rgba(8, 124, 112, .14);
  border-radius: 999px;
  padding: 5px 9px;
  background: var(--surface-soft);
  color: var(--teal-ink);
  font-size: 11px;
  font-weight: 950;
  line-height: 1;
  text-transform: uppercase;
}
.status-pill.open {
  border-color: rgba(194, 128, 24, .2);
  background: var(--amber-soft);
  color: #68400c;
}
.status-pill.reviewed {
  border-color: rgba(49, 87, 213, .16);
  background: rgba(236, 244, 255, .9);
  color: #14308f;
}
.status-pill.resolved {
  border-color: rgba(8, 124, 112, .18);
  background: var(--mint);
  color: var(--teal-ink);
}
.feedback-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}
button.feedback-sent {
  pointer-events: none;
  opacity: .72;
}
.unit-input {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 88px;
  gap: 8px;
}
.unit-input select { min-width: 0; }
.height-input {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 88px;
  gap: 8px;
}
.height-input select { min-width: 0; }
.height-input .height-ft-field,
.height-input .height-in-field { display: none; }
.height-input.is-ft {
  grid-template-columns: minmax(0, .85fr) minmax(0, .85fr) 88px;
}
.height-input.is-ft .height-cm-field { display: none; }
.height-input.is-ft .height-ft-field,
.height-input.is-ft .height-in-field { display: block; }
.toggle-row {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fbfcf8;
  color: var(--text);
}
.toggle-row input {
  width: auto;
  min-width: 18px;
  accent-color: var(--teal);
}
.workout-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.workout-form .wide { grid-column: 1 / -1; }
.inventory-form {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, .9fr) minmax(0, .7fr);
  gap: 10px;
}
.inventory-form .wide { grid-column: 1 / -1; }
.inventory-scan-grid {
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  margin-top: 12px;
}
.inventory-stage,
.inventory-stage .preview {
  min-height: 220px;
}
.scan-controls {
  grid-template-columns: 1fr;
  margin-bottom: 10px;
}
.scan-review {
  display: grid;
  gap: 10px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}
.scan-item {
  padding: 10px;
  border: 1px solid rgba(217, 227, 215, .9);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .86);
  box-shadow: 0 8px 16px rgba(27, 45, 36, .045);
}
.scan-item h4 {
  margin: 0 0 8px;
  font-size: 16px;
}
.scan-grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .8fr) minmax(0, .55fr);
}
.count-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 28px;
  height: 28px;
  padding: 0 9px;
  border-radius: 999px;
  background: var(--surface-soft);
  color: var(--teal-ink);
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}
.inventory-list, .idea-list {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}
.starter-staple-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.starter-staple-btn {
  justify-content: flex-start;
  min-height: 54px;
  padding: 10px;
  text-align: left;
}
.starter-staple-btn span {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.starter-staple-btn b,
.starter-staple-btn small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.starter-staple-btn small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}
.kitchen-readiness {
  margin-bottom: 10px;
}
.kitchen-command-card {
  border-color: rgba(8, 124, 112, .2);
}
.kitchen-command-head .count-pill {
  background: rgba(255, 254, 249, .92);
}
.kitchen-hero-strip {
  grid-template-columns: 1.08fr 1fr .78fr;
}
.kitchen-story-row {
  margin-top: 10px;
}
.kitchen-ribbon {
  margin-top: 10px;
}
.kitchen-command-actions {
  justify-content: flex-start;
  margin-top: 12px;
}
.kitchen-section-rail-card {
  position: sticky;
  top: calc(66px + env(safe-area-inset-top));
  z-index: 4;
  margin-top: -2px;
  padding: 9px;
  border-color: rgba(8, 124, 112, .16);
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .9), rgba(255, 254, 249, .78)),
    var(--surface);
  box-shadow:
    0 18px 38px rgba(27, 45, 36, .1),
    0 1px 0 rgba(255, 255, 255, .8) inset;
  backdrop-filter: blur(18px) saturate(1.12);
}
.kitchen-section-rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(116px, 1fr);
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 1px;
  scrollbar-width: none;
}
.kitchen-section-rail::-webkit-scrollbar {
  display: none;
}
.kitchen-section-chip {
  --busy-fg: var(--teal-ink);
  min-width: 0;
  min-height: 54px;
  justify-content: flex-start;
  padding: 8px 9px;
  border: 1px solid rgba(8, 124, 112, .13);
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .92), rgba(221, 247, 239, .42));
  color: var(--teal-ink);
  box-shadow: 0 10px 20px rgba(7, 74, 65, .06);
}
.kitchen-section-chip .i {
  width: 19px;
  height: 19px;
  flex: 0 0 auto;
}
.kitchen-section-chip span,
.kitchen-section-chip b,
.kitchen-section-chip small {
  display: block;
  min-width: 0;
}
.kitchen-section-chip b {
  font-size: 12px;
  line-height: 1.1;
}
.kitchen-section-chip small {
  margin-top: 2px;
  color: currentColor;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.15;
  opacity: .68;
  text-transform: uppercase;
}
.inventory-card,
.shopping-card,
.smart-shopping-card,
.scan-card {
  border-color: rgba(8, 124, 112, .14);
  background:
    linear-gradient(145deg, rgba(255, 254, 249, .94), rgba(246, 251, 247, .86)),
    var(--surface);
  box-shadow:
    0 18px 42px rgba(7, 74, 65, .08),
    0 1px 0 rgba(255, 255, 255, .78) inset;
}
.scan-card {
  background:
    radial-gradient(circle at 94% 4%, rgba(49, 87, 213, .12), transparent 26%),
    linear-gradient(145deg, rgba(255, 254, 249, .96), rgba(221, 247, 239, .5)),
    var(--surface);
}
.smart-shopping-card {
  background:
    radial-gradient(circle at 96% 8%, rgba(187, 36, 94, .12), transparent 28%),
    linear-gradient(145deg, rgba(255, 254, 249, .96), rgba(236, 244, 255, .48)),
    var(--surface);
}
.kitchen-pick {
  margin: 20px 0;
  min-width: 0;
}
.kitchen-pick h3 {
  margin: 8px 0;
  font-size: 24px;
  line-height: 1.3;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
.kitchen-pick-readiness {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  color: var(--teal-ink);
}
.kitchen-pick-readiness.missing { color: #794411; }
.kitchen-pick-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  font-size: 14px;
  color: var(--muted);
}
.kitchen-pick-ingredients {
  margin: 12px 0;
  font-size: 14px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.kitchen-pick-actions,
.kitchen-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.kitchen-pick-actions { margin: 16px 0; }
.kitchen-pick-actions button,
.kitchen-tools button {
  min-height: 44px;
  max-width: 100%;
  white-space: normal;
}
.kitchen-pick-photo {
  display: block;
  width: 100%;
  max-width: 560px;
  height: 210px;
  object-fit: contain;
  object-position: left center;
}
.kitchen-tools {
  padding: 16px 0;
  margin: 0 0 20px;
  border-top: 1px solid rgba(8, 124, 112, .16);
  border-bottom: 1px solid rgba(8, 124, 112, .16);
}
.kitchen-start {
  margin: 0 0 24px;
  padding: 8px 0 0;
}
.kitchen-start h3 {
  margin: 0 0 16px;
  font-size: 22px;
  line-height: 1.3;
  letter-spacing: 0;
}
.kitchen-start-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}
.kitchen-start-actions button {
  min-height: 44px;
  max-width: 100%;
  white-space: normal;
}
.kitchen-start .visual-accent {
  width: 100%;
  height: 190px;
  margin: 0;
  border-radius: 6px;
  overflow: hidden;
}
.kitchen-start .visual-accent img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.kitchen-answer-card {
  border-color: rgba(8, 124, 112, .2);
  background:
    radial-gradient(circle at 10% 0%, rgba(142, 229, 199, .3), transparent 25%),
    radial-gradient(circle at 96% 12%, rgba(49, 87, 213, .14), transparent 31%),
    linear-gradient(125deg, rgba(255, 255, 255, .97), rgba(221, 247, 239, .52) 44%, rgba(231, 235, 255, .24) 78%),
    var(--surface);
  box-shadow:
    0 30px 72px rgba(7, 74, 65, .14),
    0 8px 24px rgba(27, 45, 36, .06),
    0 1px 0 rgba(255, 255, 255, .82) inset;
}
.kitchen-answer {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}
.kitchen-answer-icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .96), rgba(221, 247, 239, .88));
  color: var(--teal-ink);
  box-shadow: 0 12px 22px rgba(8, 124, 112, .1);
}
.kitchen-answer-icon .i {
  width: 20px;
  height: 20px;
}
.kitchen-answer.ready .kitchen-answer-icon {
  background: var(--mint);
  color: var(--teal);
}
.kitchen-answer.near .kitchen-answer-icon {
  background: var(--amber-soft);
  color: #68400c;
}
.kitchen-answer h3 {
  margin-top: 2px;
}
.kitchen-decision {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  margin-top: 11px;
  padding: 10px;
  border: 1px solid rgba(8, 124, 112, .14);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .78);
}
.kitchen-decision.ready {
  background: linear-gradient(135deg, rgba(221, 247, 239, .9), rgba(255, 254, 249, .82));
}
.kitchen-decision.near {
  border-color: rgba(243, 213, 135, .96);
  background: linear-gradient(135deg, rgba(255, 240, 201, .68), rgba(255, 254, 249, .82));
}
.kitchen-decision > span {
  align-self: stretch;
  display: grid;
  place-items: center;
  border-radius: calc(var(--radius) - 2px);
  background: var(--surface-ink);
  color: #fff;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .04em;
  line-height: 1.1;
  text-align: center;
  text-transform: uppercase;
}
.kitchen-decision.near > span {
  background: #68400c;
}
.kitchen-decision b,
.kitchen-decision small {
  display: block;
  min-width: 0;
}
.kitchen-decision b {
  color: var(--text);
  font-size: 14px;
  font-weight: 950;
  line-height: 1.15;
}
.kitchen-decision small {
  margin-top: 2px;
  color: var(--dim);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}
.kitchen-answer-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}
.kitchen-answer-stats span {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  border-radius: 999px;
  padding: 5px 8px;
  background: rgba(255, 254, 249, .8);
  border: 1px solid rgba(217, 227, 215, .82);
  color: var(--dim);
  font-size: 11px;
  font-weight: 900;
  line-height: 1.2;
}
.kitchen-answer-stats b {
  color: var(--teal-ink);
  font-size: 13px;
}
.kitchen-answer-actions {
  justify-content: flex-end;
  margin-top: 0;
}
.make-now-strip {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.make-now-strip > div {
  display: grid;
  gap: 6px;
}
.make-now-strip strong {
  color: var(--teal-ink);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.make-now-strip > div > div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.make-now-chip {
  --busy-fg: var(--teal-ink);
  min-height: 42px;
  justify-content: flex-start;
  padding: 7px 9px;
  border: 1px solid rgba(8, 124, 112, .14);
  background: rgba(255, 254, 249, .84);
  color: var(--teal-ink);
  box-shadow: 0 8px 16px rgba(27, 45, 36, .045);
}
.make-now-chip.unlock {
  border-color: rgba(243, 213, 135, .96);
  color: #68400c;
}
.make-now-chip span,
.make-now-chip b,
.make-now-chip small {
  display: block;
  min-width: 0;
}
.make-now-chip b {
  max-width: 180px;
  overflow: hidden;
  color: currentColor;
  font-size: 12px;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.make-now-chip small {
  margin-top: 2px;
  color: currentColor;
  font-size: 10px;
  font-weight: 900;
  opacity: .74;
  text-transform: uppercase;
}
.kitchen-guidance {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 10px;
  margin: 12px 0;
  padding: 12px;
  border: 1px solid #f3d587;
  border-radius: var(--radius);
  background: var(--amber-soft);
}
.kitchen-guidance .i {
  width: 22px;
  height: 22px;
  color: #68400c;
}
.kitchen-guidance b,
.kitchen-guidance span {
  display: block;
}
.kitchen-guidance b {
  color: #68400c;
  font-size: 14px;
}
.kitchen-guidance span {
  margin-top: 2px;
  color: #68400c;
  font-size: 12px;
  line-height: 1.35;
}
.kitchen-guidance .home-actions {
  grid-column: 2;
  margin-top: 0;
}
.kitchen-ideas-shell {
  display: grid;
  gap: 12px;
  margin: 2px 0 14px;
  scroll-margin-top: 142px;
}
.kitchen-fold,
#inventory-scan-card,
#kitchen-use-soon {
  scroll-margin-top: 142px;
}
#inv-name {
  scroll-margin-top: 184px;
}
.kitchen-fold {
  overflow: hidden;
  margin: 12px 0;
  border: 1px solid rgba(8, 124, 112, .16);
  border-radius: var(--radius);
  background:
    radial-gradient(circle at 100% 0%, rgba(142, 229, 199, .16), transparent 28%),
    linear-gradient(145deg, rgba(255, 254, 249, .94), rgba(236, 244, 255, .22), rgba(221, 247, 239, .18)),
    var(--surface);
  box-shadow:
    0 16px 38px rgba(7, 74, 65, .075),
    0 1px 0 rgba(255, 255, 255, .78) inset;
}
.kitchen-fold[open] {
  box-shadow:
    0 22px 52px rgba(7, 74, 65, .1),
    0 1px 0 rgba(255, 255, 255, .82) inset;
}
.kitchen-fold-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 14px;
  cursor: pointer;
  list-style: none;
}
.kitchen-fold-summary::-webkit-details-marker,
.idea-section-head::-webkit-details-marker {
  display: none;
}
.kitchen-fold-summary::after {
  content: "+";
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: rgba(8, 124, 112, .1);
  color: var(--teal-ink);
  font-weight: 950;
}
.kitchen-fold[open] > .kitchen-fold-summary::after {
  content: "-";
}
.kitchen-fold-summary > span:first-child {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.kitchen-fold-summary small,
.kitchen-fold-summary b,
.kitchen-fold-summary em {
  display: block;
  min-width: 0;
}
.kitchen-fold-summary small {
  color: var(--teal);
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.kitchen-fold-summary b {
  color: var(--surface-ink);
  font-size: 17px;
  line-height: 1.15;
}
.kitchen-fold-summary em {
  color: var(--dim);
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.25;
}
.kitchen-fold-body {
  display: grid;
  gap: 12px;
  padding: 0 12px 12px;
}
.kitchen-fold-body > .card {
  margin: 0;
}
.kitchen-workbench-grid {
  display: grid;
  gap: 9px;
}
.kitchen-workbench-grid > .kitchen-fold {
  margin: 0;
  border-color: rgba(8, 124, 112, .12);
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .9), rgba(248, 252, 246, .76));
  box-shadow: 0 10px 22px rgba(27, 45, 36, .045);
}
.kitchen-workbench-grid > .kitchen-fold[open] {
  box-shadow: 0 14px 30px rgba(7, 74, 65, .07);
}
.kitchen-workbench-grid .kitchen-fold-summary {
  padding: 11px 12px;
}
.kitchen-workbench-grid .kitchen-fold-summary b {
  font-size: 15px;
}
.kitchen-workbench-grid .kitchen-fold-summary em {
  font-size: 11px;
}
.kitchen-workbench-grid .kitchen-fold-body {
  gap: 10px;
  padding: 0 10px 10px;
}
.kitchen-workbench-grid .scan-card,
.kitchen-workbench-grid .starter-staples-card,
.kitchen-workbench-grid .form-card,
.kitchen-workbench-grid .use-soon-card {
  box-shadow: none;
}
.kitchen-ideas-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 2px 2px 0;
}
.kitchen-ideas-head h3 {
  margin: 2px 0 0;
  color: var(--surface-ink);
  font-size: 21px;
  letter-spacing: 0;
}
.kitchen-ideas-head .meta {
  max-width: 48rem;
}
.idea-section {
  overflow: hidden;
  margin-top: 12px;
  border: 1px solid rgba(8, 124, 112, .12);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .88), rgba(248, 251, 245, .74));
  box-shadow: 0 10px 22px rgba(27, 45, 36, .045);
}
.idea-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 10px;
  cursor: pointer;
  list-style: none;
}
.idea-section-head::after {
  content: "+";
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: rgba(8, 124, 112, .09);
  color: var(--teal-ink);
  font-weight: 950;
}
.idea-section[open] > .idea-section-head {
  border-bottom: 1px solid rgba(217, 227, 215, .8);
}
.idea-section[open] > .idea-section-head::after {
  content: "-";
}
.idea-section-head > span:first-child {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.idea-section-head h4 {
  margin: 0;
  color: var(--teal-ink);
  font-size: 14px;
  text-transform: uppercase;
}
.idea-section > .idea-list {
  padding: 0 10px 10px;
}
.kitchen-ideas-shell .idea-section {
  scroll-margin-top: 90px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.kitchen-ideas-shell .idea-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 12px 0;
}
.kitchen-alternative {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
  padding: 16px;
  border: 1px solid #d8e3df;
  border-radius: 8px;
  background: #fff;
  color: var(--surface-ink);
  overflow-wrap: anywhere;
}
.kitchen-alternative-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px;
  align-items: start;
  gap: 10px;
}
.kitchen-alternative h3 {
  margin: 0;
  font-size: 18px;
  line-height: 1.35;
  letter-spacing: 0;
}
.kitchen-alternative p { margin: 0; font-size: 14px; }
.kitchen-alternative-meta,
.kitchen-alternative-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.kitchen-alternative-meta { color: #53655c; font-size: 13px; }
.kitchen-alternative-meta > span { display: inline-flex; align-items: center; gap: 5px; }
.kitchen-alternative-meta .ready { color: #087468; }
.kitchen-alternative-meta .missing { color: #805416; }
.kitchen-alternative-warning { border-left: 3px solid #a65c14; padding-left: 10px; color: #784715; }
.kitchen-alternative-estimate { color: #53655c; }
.kitchen-alternative-actions { margin-top: auto; padding-top: 4px; }
.kitchen-alternative-actions > button { min-height: 44px; }
.kitchen-alternative-actions .shopping-add-feedback { flex-basis: 100%; min-width: 0; }
.kitchen-alternative button.kitchen-alternative-icon {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  padding: 0;
}
.kitchen-alternative-icon .i { margin: 0; }
@media (max-width: 700px) {
  .kitchen-ideas-shell .idea-list { grid-template-columns: minmax(0, 1fr); }
}
.inventory-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid rgba(8, 124, 112, .12);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .94), rgba(235, 250, 243, .62));
  box-shadow:
    0 10px 20px rgba(27, 45, 36, .05),
    0 1px 0 rgba(255, 255, 255, .8) inset;
}
.inventory-item > div:first-child {
  min-width: 0;
}
.inventory-item strong { display: block; font-size: 14px; }
.inventory-item span {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 12px;
}
.inventory-item-actions {
  align-items: center;
}
.inventory-quantity-stepper {
  display: inline-grid;
  grid-template-columns: 40px minmax(88px, auto) 40px;
  align-items: center;
  gap: 5px;
  min-height: 44px;
  padding: 4px;
  border: 1px solid rgba(8, 124, 112, .13);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .78);
  box-shadow: 0 8px 16px rgba(7, 74, 65, .045);
}
.inventory-quantity-stepper button {
  min-width: 40px;
  min-height: 40px;
  padding: 0;
  justify-content: center;
  touch-action: manipulation;
}
.inventory-quantity-stepper output {
  min-width: 0;
  color: var(--teal-ink);
  font-size: 12px;
  font-weight: 950;
  line-height: 1.15;
  text-align: center;
  white-space: nowrap;
}
.expiry-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  margin-top: 6px;
  padding: 5px 8px;
  border-radius: 8px;
  background: #e8f7f1;
  color: var(--teal-ink);
  font-size: 11px;
  font-weight: 900;
}
.expiry-badge.expired {
  background: #fee2e2;
  color: #991b1b;
}
.expiry-badge.today,
.expiry-badge.soon {
  background: #fff3cd;
  color: #8a5b00;
}
.use-soon-card {
  border-color: rgba(184, 117, 25, .28);
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .98), rgba(255, 240, 201, .55)),
    var(--surface);
}
.use-soon-list,
.use-soon-chips {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}
.pantry-date-group {
  margin-top: 16px;
}
.pantry-date-group h4 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 16px;
}
.pantry-date-group .use-soon-item {
  min-width: 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 10px 0;
  overflow-wrap: anywhere;
}
.pantry-date-more summary {
  padding: 12px 0;
  min-height: 44px;
  cursor: pointer;
  font-size: 14px;
}
.use-soon-chips {
  grid-template-columns: repeat(auto-fit, minmax(130px, max-content));
}
.use-soon-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px;
  border: 1px solid rgba(217, 227, 215, .9);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .86);
  box-shadow: 0 8px 16px rgba(27, 45, 36, .04);
}
.use-soon-item strong,
.use-soon-item span {
  display: block;
}
.use-soon-item span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.use-soon-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.use-soon-remove {
  min-width: 92px;
}
.item-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex: 0 0 auto;
  flex-wrap: wrap;
}
button.inventory-delete-btn {
  min-width: 92px;
  min-height: 44px;
  justify-content: center;
  touch-action: manipulation;
}
.shop-link {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border-radius: var(--radius);
  padding: 8px 10px;
  background: linear-gradient(180deg, #e8fbf5, var(--mint));
  color: var(--teal-ink);
  font-size: 13px;
  font-weight: 900;
  position: relative;
  overflow: hidden;
  touch-action: manipulation;
  user-select: none;
  transition: transform .12s ease, filter .12s ease, background-color .12s ease;
  box-shadow: 0 8px 16px rgba(8, 124, 112, .08);
}
.shop-link .i {
  width: 16px;
  height: 16px;
}
.shop-list-link {
  flex: 0 0 auto;
}
.optional-shop {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
  padding: 6px 8px;
  border: 1px dashed rgba(119, 132, 119, .35);
  border-radius: var(--radius);
  background: rgba(248, 251, 245, .72);
}
.optional-shop > span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--dim);
  font-size: 11px;
  font-weight: 900;
  line-height: 1.2;
  text-transform: uppercase;
}
.optional-shop > span .i {
  width: 14px;
  height: 14px;
}
.optional-shop .shop-link {
  min-height: 34px;
  padding: 7px 9px;
  border: 1px solid var(--line);
  background: rgba(255, 254, 249, .9);
  color: var(--teal-ink);
  box-shadow: none;
}
.home-actions .optional-shop {
  margin-top: 2px;
}
.optional-shop.compact {
  padding: 4px 6px;
}
.shopping-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 110px 110px auto;
  gap: 8px;
  align-items: end;
  margin-top: 12px;
}
.shopping-form button {
  min-height: 46px;
}
.shopping-impact {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.affiliate-disclosure {
  margin-top: 6px;
}
.affiliate-note .affiliate-disclosure {
  margin: 0;
}
.shopping-item.checked {
  opacity: .62;
}
.danger {
  color: var(--berry) !important;
  border-color: #f4bdd2 !important;
  background: var(--berry-soft) !important;
}
.icon-btn {
  width: 38px;
  height: 38px;
  padding: 0;
  flex: 0 0 auto;
}
.icon-btn .i { margin: 0; }
.idea-card {
  overflow: hidden;
  border-color: rgba(8, 124, 112, .14);
  background:
    radial-gradient(circle at 100% 0%, rgba(142, 229, 199, .22), transparent 24%),
    linear-gradient(145deg, rgba(255, 254, 249, .97), rgba(245, 252, 248, .9) 58%, rgba(236, 244, 255, .38));
  box-shadow:
    0 18px 40px rgba(7, 74, 65, .1),
    0 1px 0 rgba(255, 255, 255, .82) inset;
}
.idea-card.ready {
  border-color: rgba(8, 124, 112, .26);
}
.readiness-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 30px;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}
.readiness-badge .i {
  width: 15px;
  height: 15px;
}
.readiness-badge.ready {
  background: var(--mint);
  color: var(--teal-ink);
}
.readiness-badge.missing {
  background: var(--amber-soft);
  color: #68400c;
}
.ingredient-block {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
.ingredient-block b {
  display: block;
  margin-bottom: 6px;
  color: var(--dim);
  font-size: 11px;
  text-transform: uppercase;
}
.prep-steps {
  margin-top: 12px;
  padding: 10px;
  border: 1px solid rgba(8, 124, 112, .12);
  border-radius: var(--radius);
  background:
    linear-gradient(145deg, rgba(255, 254, 249, .94), rgba(221, 247, 239, .42));
  box-shadow:
    0 10px 22px rgba(27, 45, 36, .045),
    0 1px 0 rgba(255, 255, 255, .72) inset;
}
.prep-steps summary {
  cursor: pointer;
  color: var(--teal-ink);
  font-size: 13px;
  font-weight: 900;
}
.prep-steps ol {
  margin: 10px 0 0;
  padding-left: 20px;
  color: var(--text);
  font-size: 13px;
}
.prep-steps li + li {
  margin-top: 6px;
}
body.detail-open {
  overflow: hidden;
}
.meal-detail-overlay {
  position: fixed;
  inset: 0;
  z-index: 30;
  display: grid;
  place-items: center;
  padding: 16px;
  background:
    radial-gradient(circle at 12% 0%, rgba(142, 229, 199, .18), transparent 30%),
    radial-gradient(circle at 90% 8%, rgba(49, 87, 213, .14), transparent 32%),
    rgba(23, 33, 27, .48);
  backdrop-filter: blur(14px);
  overflow-y: auto;
}
.service-status-overlay {
  position: fixed;
  inset: 0;
  z-index: 35;
  display: grid;
  place-items: center;
  padding: 16px;
  background:
    radial-gradient(circle at 12% 0%, rgba(142, 229, 199, .18), transparent 30%),
    radial-gradient(circle at 90% 8%, rgba(49, 87, 213, .14), transparent 32%),
    rgba(23, 33, 27, .48);
  backdrop-filter: blur(14px);
  overflow-y: auto;
}
.meal-detail-overlay[hidden] { display: none; }
.meal-detail-card {
  width: min(780px, 100%);
  max-height: calc(100vh - 32px);
  overflow-y: auto;
  padding: 16px;
  border: 1px solid rgba(232, 239, 230, .92);
  border-radius: 8px;
  background: var(--surface);
  box-shadow:
    0 28px 86px rgba(12, 27, 21, .34),
    0 1px 0 rgba(255, 255, 255, .82) inset;
}
.service-status-card {
  width: min(620px, 100%);
  max-height: calc(100vh - 32px);
  overflow-y: auto;
  padding: 16px;
  border: 1px solid rgba(232, 239, 230, .92);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 100% 0%, rgba(49, 87, 213, .14), transparent 28%),
    linear-gradient(145deg, rgba(255, 255, 255, .985), rgba(246, 251, 247, .94), rgba(236, 244, 255, .5)),
    var(--surface);
  box-shadow:
    0 28px 86px rgba(12, 27, 21, .34),
    0 1px 0 rgba(255, 255, 255, .82) inset;
}
.meal-detail-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.meal-detail-head h3 {
  margin: 2px 0 0;
  font-size: 23px;
  overflow-wrap: anywhere;
}
.meal-detail-head > div { min-width: 0; }
.meal-detail-close { flex: 0 0 44px; min-height: 44px; }
.meal-detail-primary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.meal-detail-primary > button {
  min-width: 0;
  min-height: 44px;
  padding: 10px 8px;
  gap: 6px;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 700;
  white-space: normal;
  overflow-wrap: anywhere;
}
.meal-detail-primary > button .i { width: 18px; height: 18px; flex: 0 0 18px; }
.meal-detail-primary > button[hidden] { display: none; }
.meal-detail-close {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(246, 251, 247, .8));
  color: var(--text);
  border: 1px solid rgba(8, 124, 112, .12);
  box-shadow: 0 8px 18px rgba(7, 74, 65, .07);
}
.service-overview {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin-top: 14px;
  padding: 12px;
  border: 1px solid rgba(8, 124, 112, .13);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .9), rgba(221, 247, 239, .48), rgba(236, 244, 255, .32));
  box-shadow:
    0 12px 26px rgba(27, 45, 36, .055),
    0 1px 0 rgba(255, 255, 255, .76) inset;
}
.service-overview div {
  min-width: 112px;
  padding: 10px;
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(223, 245, 236, .98), rgba(198, 239, 226, .82));
  color: var(--teal-ink);
  box-shadow: 0 10px 22px rgba(8, 124, 112, .08);
}
.service-overview span,
.service-row small {
  display: block;
  color: var(--dim);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.service-overview strong {
  display: block;
  margin-top: 2px;
  font-size: 19px;
  line-height: 1.1;
}
.service-overview p {
  margin: 0;
  color: var(--dim);
  font-size: 13px;
}
.service-overview.degraded div { background: var(--amber-soft); color: var(--amber); }
.service-overview.unhealthy div { background: var(--berry-soft); color: var(--berry); }
.service-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.service-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(8, 124, 112, .1);
  border-left-width: 4px;
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .94), rgba(246, 251, 247, .72));
  box-shadow:
    0 10px 22px rgba(27, 45, 36, .045),
    0 1px 0 rgba(255, 255, 255, .72) inset;
}
.service-row.healthy { border-left-color: var(--teal); }
.service-row.degraded { border-left-color: var(--amber); }
.service-row.unhealthy { border-left-color: var(--berry); }
.service-row.optional,
.service-row.unknown { border-left-color: var(--line); }
.service-row h4 {
  margin: 0;
  font-size: 15px;
}
.service-row p {
  margin: 3px 0 0;
  color: var(--dim);
  font-size: 13px;
}
.service-row-meta {
  display: grid;
  justify-items: end;
  align-content: start;
  gap: 6px;
  flex: 0 0 auto;
}
.service-badge {
  border-radius: 999px;
  padding: 4px 8px;
  background:
    linear-gradient(135deg, rgba(246, 251, 247, .96), rgba(236, 244, 255, .44));
  color: var(--dim);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.service-badge.healthy { background: var(--mint); color: var(--teal); }
.service-badge.degraded { background: var(--amber-soft); color: var(--amber); }
.service-badge.unhealthy { background: var(--berry-soft); color: var(--berry); }
.service-badge.optional {
  background:
    linear-gradient(135deg, rgba(246, 251, 247, .96), rgba(236, 244, 255, .44));
  color: var(--dim);
}
.service-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 12px;
  color: var(--dim);
  font-size: 13px;
}
.raw-status {
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px solid rgba(49, 87, 213, .12);
  border-radius: var(--radius);
  background:
    linear-gradient(145deg, rgba(255, 254, 249, .92), rgba(236, 244, 255, .44));
}
.raw-status summary {
  cursor: pointer;
  color: var(--teal-ink);
  font-size: 13px;
  font-weight: 900;
}
.raw-status pre {
  max-height: 220px;
  overflow: auto;
  margin: 10px 0 0;
  color: var(--text);
  font-size: 12px;
  white-space: pre-wrap;
}
.detail-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 12px;
}
.detail-chip-row span {
  border-radius: 999px;
  padding: 6px 9px;
  background: var(--mint);
  color: var(--teal-ink);
  font-size: 12px;
  font-weight: 900;
}
.warning-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.warning {
  display: grid;
  gap: 2px;
  padding: 10px;
  border: 1px solid #f3d587;
  border-radius: var(--radius);
  background: var(--amber-soft);
  color: #68400c;
}
.warning.danger {
  color: var(--berry);
  border-color: #f4bdd2;
  background: var(--berry-soft);
}
.warning b {
  color: currentColor;
  font-size: 13px;
}
.warning span {
  font-size: 12px;
  font-weight: 800;
}
.meal-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}
.meal-detail-grid section {
  min-width: 0;
  padding: 14px 0;
  border-top: 1px solid var(--line);
}
.detail-section-title {
  margin: 0 0 12px;
  font-size: 16px;
}
.meal-detail-fold {
  border-top: 1px solid var(--line);
}
.meal-detail-fold > summary {
  min-height: 44px;
  padding: 12px 0;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  overflow-wrap: anywhere;
}
.meal-detail-fold > summary:focus-visible {
  outline: 2px solid var(--teal);
  outline-offset: 2px;
}
.detail-fold-content { padding-bottom: 16px; }
@media (max-width: 600px) {
  .meal-detail-primary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.detail-ingredient-group + .detail-ingredient-group {
  margin-top: 10px;
}
.detail-ingredient-group b {
  display: block;
  color: var(--dim);
  font-size: 11px;
  text-transform: uppercase;
}
.detail-ingredient-group .food-row {
  margin: 7px 0 0;
}
.detail-ingredient-group.missing .food-row span {
  background: var(--amber-soft);
  color: #68400c;
}
.detail-ingredient-group.on-hand .food-row span,
.detail-ingredient-group.optional .food-row span {
  background: var(--mint);
  color: var(--teal-ink);
}
.detail-why-list {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  display: grid;
  gap: 7px;
}
.detail-why-list li {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 8px;
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(221, 247, 239, .56), rgba(255, 254, 249, .82));
}
.detail-why-list b {
  font-size: 12px;
}
.detail-why-list span {
  color: var(--muted);
  font-size: 12px;
  text-align: right;
}
.detail-steps {
  margin: 0;
  padding-left: 20px;
  font-size: 13px;
}
.detail-steps li + li {
  margin-top: 7px;
}
.detail-nutrition-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}
.detail-note {
  margin: 12px 2px 0;
}
.meal-detail-actions {
  padding-top: 12px;
  border-top: 1px solid var(--line);
}
.muted-row span {
  background: var(--surface-soft);
  color: var(--dim);
}
.nutrient-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-top: 12px;
}
.nutrient-chip {
  display: grid;
  gap: 1px;
  padding: 8px;
  border: 1px solid rgba(8, 124, 112, .1);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .94), rgba(221, 247, 239, .48));
  color: var(--teal-ink);
  font-size: 13px;
  font-weight: 900;
  box-shadow: 0 8px 18px rgba(27, 45, 36, .04);
}
.nutrient-chip b {
  color: var(--dim);
  font-size: 10px;
  text-transform: uppercase;
}
.coverage-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.coverage-row span {
  border-radius: 999px;
  padding: 5px 8px;
  background: var(--amber-soft);
  color: #6f480d;
  font-size: 12px;
  font-weight: 900;
}
.insights-section-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-end;
  margin: 14px 0 10px;
}
.insights-section-head.pattern {
  margin-top: 16px;
}
.insights-section-head h3 {
  margin: 2px 0 0;
  color: var(--surface-ink);
  font-size: 18px;
  line-height: 1.15;
}
.insights-section-head .meta {
  max-width: 42rem;
  margin: 5px 0 0;
}
.insights-section-head .count-pill {
  align-self: center;
  white-space: nowrap;
}
.insights-chart-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
  gap: 16px;
  align-items: start;
  margin-bottom: 14px;
}
.chart-card {
  isolation: isolate;
  overflow: hidden;
  border-color: rgba(8, 124, 112, .18);
  background:
    radial-gradient(circle at 10% 0%, rgba(142, 229, 199, .34), transparent 25%),
    radial-gradient(circle at 96% 8%, rgba(108, 131, 255, .16), transparent 31%),
    linear-gradient(125deg, rgba(255, 255, 255, .96), rgba(221, 247, 239, .54) 42%, rgba(231, 235, 255, .24) 76%, rgba(250, 228, 236, .2)),
    linear-gradient(180deg, rgba(255, 254, 249, .98), rgba(247, 251, 247, .95)),
    var(--surface);
  box-shadow:
    0 38px 88px rgba(7, 74, 65, .16),
    0 8px 24px rgba(27, 45, 36, .06),
    0 1px 0 rgba(255, 255, 255, .82) inset;
  backdrop-filter: blur(18px) saturate(1.12);
}
.chart-card::before {
  height: 5px;
  background: linear-gradient(90deg, #043f39, #087c70 24%, #8ee5c7 48%, #3157d5 73%, #bb245e);
  opacity: .86;
}
.chart-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(8, 63, 57, .02) 1px, transparent 1px),
    linear-gradient(0deg, rgba(8, 63, 57, .016) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255, 255, 255, .42), transparent 45%);
  background-size: 54px 54px, 54px 54px, auto;
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, .8), transparent 72%);
  pointer-events: none;
}
.chart-card > * {
  position: relative;
  z-index: 1;
}
.chart-card-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
}
.chart-card-head h3 {
  font-size: 20px;
  letter-spacing: 0;
}
.chart-card-head .meta {
  margin: 6px 0 0;
  max-width: 44rem;
}
.chart-card-head .count-pill {
  align-self: start;
  justify-self: end;
  width: max-content;
  background: rgba(255, 254, 249, .9);
  border-color: rgba(8, 124, 112, .2);
  color: var(--teal-ink);
  box-shadow: 0 10px 24px rgba(8, 124, 112, .08);
}
.chart-dashboard-strip {
  display: grid;
  grid-template-columns: minmax(150px, .78fr) minmax(0, 2.2fr);
  gap: 10px;
  margin: 14px 0 12px;
}
.chart-dashboard-strip-compact {
  margin: 12px 0 10px;
}
.chart-lead-stat {
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, #10251f 0%, #064941 58%, #243776 130%);
  box-shadow:
    0 18px 38px rgba(4, 63, 57, .18),
    0 1px 0 rgba(255, 255, 255, .16) inset;
}
.chart-lead-stat small,
.chart-lead-stat b,
.chart-lead-stat span {
  display: block;
  min-width: 0;
}
.chart-lead-stat small {
  color: rgba(221, 247, 239, .75);
  font-size: 10px;
  font-weight: 950;
  text-transform: uppercase;
}
.chart-lead-stat b {
  margin-top: 5px;
  overflow: hidden;
  color: #fffef9;
  font-size: 25px;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chart-lead-stat span {
  margin-top: 7px;
  color: rgba(255, 254, 249, .75);
  font-size: 12px;
  font-weight: 850;
}
.chart-stat-rail,
.nutrition-status-rail {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.chart-stat {
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid rgba(8, 124, 112, .13);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .92), rgba(246, 251, 247, .78));
  box-shadow: 0 12px 26px rgba(27, 45, 36, .055);
}
.chart-stat small,
.chart-stat b,
.chart-stat em {
  display: block;
  min-width: 0;
}
.chart-stat small {
  color: var(--muted);
  font-size: 9px;
  font-weight: 950;
  text-transform: uppercase;
}
.chart-stat b {
  margin-top: 4px;
  overflow: hidden;
  color: var(--teal-ink);
  font-size: 18px;
  line-height: 1.08;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chart-stat em {
  margin-top: 5px;
  color: var(--dim);
  font-size: 10px;
  font-style: normal;
  font-weight: 850;
  line-height: 1.18;
  white-space: normal;
}
.chart-stat.calories {
  border-color: rgba(184, 117, 25, .15);
  background: linear-gradient(180deg, rgba(255, 254, 249, .92), rgba(255, 240, 201, .48));
}
.chart-stat.protein {
  border-color: rgba(49, 87, 213, .14);
  background: linear-gradient(180deg, rgba(255, 254, 249, .92), rgba(231, 235, 255, .54));
}
.chart-stat.protein b {
  color: var(--blue);
}
.chart-stat.low {
  border-color: rgba(184, 117, 25, .18);
  background: linear-gradient(180deg, rgba(255, 254, 249, .94), rgba(255, 240, 201, .58));
}
.chart-stat.low b {
  color: #7a4c12;
}
.chart-stat.over {
  border-color: rgba(187, 36, 94, .17);
  background: linear-gradient(180deg, rgba(255, 254, 249, .94), rgba(250, 228, 236, .62));
}
.chart-stat.over b {
  color: var(--berry);
}
.chart-signal-row,
.coverage-micro-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 11px;
}
.chart-signal {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid rgba(8, 124, 112, .13);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .86), rgba(221, 247, 239, .54));
  box-shadow: 0 10px 22px rgba(27, 45, 36, .052);
}
.chart-signal small,
.chart-signal b {
  display: block;
  min-width: 0;
}
.chart-signal small {
  color: var(--muted);
  font-size: 9px;
  font-weight: 950;
  text-transform: uppercase;
}
.chart-signal b {
  margin-top: 4px;
  overflow: hidden;
  color: var(--teal-ink);
  font-size: 13px;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chart-signal.calories {
  border-color: rgba(184, 117, 25, .14);
  background: linear-gradient(135deg, rgba(255, 254, 249, .88), rgba(255, 240, 201, .54));
}
.chart-signal.protein {
  border-color: rgba(49, 87, 213, .14);
  background: linear-gradient(135deg, rgba(255, 254, 249, .88), rgba(231, 235, 255, .58));
}
.chart-signal.protein b {
  color: var(--blue);
}
.chart-signal.low {
  border-color: rgba(184, 117, 25, .18);
  background: linear-gradient(135deg, rgba(255, 254, 249, .9), rgba(255, 240, 201, .62));
}
.chart-signal.low b {
  color: #7a4c12;
}
.chart-signal.ok b {
  color: var(--teal-ink);
}
.chart-signal.over {
  border-color: rgba(187, 36, 94, .18);
  background: linear-gradient(135deg, rgba(255, 254, 249, .9), rgba(250, 228, 236, .68));
}
.chart-signal.over b {
  color: var(--berry);
}
.chart-insight-ribbon {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  margin: 0 0 11px;
  padding: 10px 12px;
  border: 1px solid rgba(8, 124, 112, .18);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(4, 63, 57, .92), rgba(8, 124, 112, .84) 54%, rgba(49, 87, 213, .72));
  box-shadow:
    0 16px 30px rgba(4, 63, 57, .14),
    0 1px 0 rgba(255, 255, 255, .16) inset;
}
.chart-insight-ribbon b,
.chart-insight-ribbon span {
  min-width: 0;
}
.chart-insight-ribbon b {
  color: #fffef9;
  font-size: 10px;
  font-weight: 950;
  text-transform: uppercase;
  white-space: nowrap;
}
.chart-insight-ribbon span {
  color: rgba(255, 254, 249, .86);
  font-size: 12px;
  font-weight: 850;
  line-height: 1.28;
}
.chart-insight-ribbon.coverage {
  background:
    linear-gradient(135deg, rgba(4, 63, 57, .94), rgba(8, 124, 112, .82) 48%, rgba(49, 87, 213, .68) 78%, rgba(187, 36, 94, .52));
}
.feel-trend-card {
  margin-top: 14px;
  border-color: rgba(49, 87, 213, .16);
}
.feel-chart-tabs {
  margin-bottom: 12px;
}
.feel-chart-panel[hidden] {
  display: none;
}
.feel-trend-stats {
  grid-template-columns: minmax(150px, .78fr) minmax(0, 1.9fr);
}
.feel-lead-stat {
  background:
    linear-gradient(135deg, #10251f 0%, #075c52 48%, #3157d5 138%);
}
.feel-chart-wrap {
  overflow: hidden;
  margin: 12px 0 10px;
  padding: 12px 10px 8px;
  border: 1px solid rgba(8, 124, 112, .13);
  border-radius: var(--radius);
  background:
    linear-gradient(90deg, rgba(8, 63, 57, .026) 1px, transparent 1px),
    linear-gradient(0deg, rgba(8, 63, 57, .024) 1px, transparent 1px),
    linear-gradient(135deg, rgba(255, 254, 249, .9), rgba(236, 244, 255, .54));
  background-size: 34px 34px, 34px 34px, auto;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7);
}
.feel-trend-svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}
.feel-grid-line line {
  stroke: rgba(8, 124, 112, .13);
  stroke-width: 1;
}
.feel-grid-line text,
.feel-date-label {
  fill: rgba(67, 93, 85, .72);
  font-size: 11px;
  font-weight: 850;
}
.feel-missing-day {
  stroke: rgba(67, 93, 85, .24);
  stroke-width: 2;
  stroke-linecap: round;
}
.feel-overall-area {
  fill: rgba(8, 124, 112, .1);
}
.feel-overall-line {
  fill: none;
  stroke: #043f39;
  stroke-width: 5;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 7px 10px rgba(4, 63, 57, .16));
}
.feel-metric-line {
  fill: none;
  stroke: var(--line);
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .52;
}
.feel-overall-dot {
  fill: #fffef9;
  stroke: #043f39;
  stroke-width: 3;
  filter: drop-shadow(0 5px 8px rgba(4, 63, 57, .2));
}
.chart-insight-ribbon.feel {
  background:
    linear-gradient(135deg, rgba(4, 63, 57, .94), rgba(8, 124, 112, .78) 52%, rgba(49, 87, 213, .66));
}
.feel-metric-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0;
}
.feel-metric-chip {
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(8, 124, 112, .13);
  border-top: 3px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .74);
  box-shadow: 0 9px 18px rgba(27, 45, 36, .045);
}
.feel-metric-chip small,
.feel-metric-chip b,
.feel-metric-chip em {
  display: block;
  min-width: 0;
}
.feel-metric-chip small {
  color: var(--dim);
  font-size: 10px;
  font-weight: 950;
  text-transform: uppercase;
}
.feel-metric-chip b {
  margin-top: 4px;
  color: var(--teal-ink);
  font-size: 18px;
  line-height: 1.05;
}
.feel-metric-chip em {
  margin-top: 4px;
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 850;
}
.feel-legend {
  justify-content: flex-start;
}
.feel-overall-swatch {
  background: #043f39;
}
.feel-metric-swatch {
  background: var(--line);
}
.chart-hero-strip {
  display: grid;
  grid-template-columns: .9fr 1.05fr 1.05fr;
  gap: 8px;
  margin: 14px 0 10px;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: var(--radius);
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .08) 1px, transparent 1px),
    radial-gradient(circle at 86% 12%, rgba(142, 229, 199, .28), transparent 28%),
    radial-gradient(circle at 23% 0%, rgba(187, 36, 94, .16), transparent 27%),
    linear-gradient(135deg, #10251f 0%, #064941 54%, #223174 135%);
  background-size: 26px 26px, auto, auto, auto;
  box-shadow:
    0 18px 36px rgba(4, 63, 57, .18),
    0 1px 0 rgba(255, 255, 255, .16) inset;
}
.chart-hero-strip span {
  min-width: 0;
  padding: 8px 9px;
  border-radius: calc(var(--radius) - 1px);
  background: rgba(255, 255, 255, .075);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .12) inset;
}
.chart-hero-strip small,
.chart-hero-strip b,
.chart-hero-strip em {
  display: block;
  min-width: 0;
}
.chart-hero-strip small {
  color: rgba(221, 247, 239, .78);
  font-size: 9px;
  font-weight: 950;
  text-transform: uppercase;
}
.chart-hero-strip b {
  margin-top: 3px;
  overflow: hidden;
  color: #fffef9;
  font-size: 17px;
  line-height: 1.08;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chart-hero-strip em {
  margin-top: 4px;
  overflow: hidden;
  color: rgba(255, 254, 249, .72);
  font-size: 10px;
  font-style: normal;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chart-hero-strip.two-up {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.command-meal-visual {
  position: relative;
  min-height: 210px;
  aspect-ratio: 2.15 / 1;
  overflow: hidden;
  margin: 14px 0 10px;
  border: 1px solid rgba(255, 255, 255, .74);
  border-radius: var(--radius);
  background: #dcece5;
  box-shadow:
    0 24px 52px rgba(7, 74, 65, .18),
    0 1px 0 rgba(255, 255, 255, .76) inset;
}
.command-meal-visual img,
.command-meal-visual-shade,
.command-meal-visual-copy {
  position: absolute;
  inset: 0;
}
.command-meal-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.command-meal-visual-shade {
  background:
    linear-gradient(180deg, transparent 28%, rgba(8, 25, 20, .18) 52%, rgba(8, 25, 20, .9) 100%),
    linear-gradient(90deg, rgba(8, 25, 20, .18), transparent 54%);
}
.command-meal-visual-copy {
  display: grid;
  align-content: end;
  justify-items: start;
  padding: 18px;
  color: #fff;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .34);
}
.command-meal-visual-copy small {
  font-size: 9px;
  font-weight: 950;
  text-transform: uppercase;
}
.command-meal-visual-copy b {
  max-width: 34rem;
  margin-top: 3px;
  font-family: inherit;
  font-size: clamp(21px, 3vw, 30px);
  line-height: 1.06;
}
.command-meal-visual-copy span {
  margin-top: 6px;
  font-size: 11px;
  font-weight: 900;
}
.command-meal-visual.kitchen .command-meal-visual-shade {
  background:
    linear-gradient(180deg, transparent 30%, rgba(8, 25, 20, .16) 54%, rgba(8, 25, 20, .9) 100%),
    linear-gradient(90deg, rgba(8, 63, 57, .2), transparent 56%);
}
.weekly-outcome-card {
  border-color: rgba(49, 87, 213, .2);
  background:
    radial-gradient(circle at 98% 0%, rgba(108, 131, 255, .12), transparent 30%),
    linear-gradient(145deg, rgba(255, 254, 249, .98), rgba(239, 249, 245, .92));
}
.weekly-outcome-head .direction {
  flex: 0 0 auto;
  justify-self: start;
}
.weekly-change-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 14px 0;
}
.weekly-change-groups > div {
  min-width: 0;
}
.weekly-change-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}
.weekly-change-chip {
  display: inline-flex;
  min-height: 29px;
  align-items: center;
  border-radius: 999px;
  padding: 5px 9px;
  background: rgba(221, 247, 239, .85);
  color: var(--teal-ink);
  font-size: 11px;
  font-weight: 900;
}
.weekly-change-chip.attention {
  background: rgba(255, 243, 205, .82);
  color: #7a4c12;
}
.weekly-outcome-ribbon {
  margin: 12px 0;
}
.chart-story-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 14px 0 10px;
}
.chart-story-row span {
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid rgba(8, 124, 112, .14);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .9), rgba(221, 247, 239, .7));
  color: var(--dim);
  font-size: 12px;
  font-weight: 850;
  line-height: 1.25;
  box-shadow: 0 10px 22px rgba(27, 45, 36, .05);
}
.chart-story-row b {
  display: block;
  margin-bottom: 3px;
  color: var(--teal-ink);
  font-size: 10px;
  font-weight: 950;
  text-transform: uppercase;
}
.chart-kpi-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 12px;
}
.chart-kpi-row span {
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(8, 124, 112, .13);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .92), rgba(246, 251, 247, .78));
  box-shadow: 0 12px 26px rgba(27, 45, 36, .06);
}
.chart-kpi-row b,
.chart-kpi-row small {
  display: block;
}
.chart-kpi-row b {
  color: var(--teal-ink);
  font-size: 17px;
  line-height: 1.05;
}
.chart-kpi-row small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.macro-chart-wrap {
  margin-top: 8px;
  padding: 13px 13px 10px;
  border: 1px solid rgba(8, 124, 112, .2);
  border-radius: var(--radius);
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 12%, rgba(142, 229, 199, .38), transparent 30%),
    radial-gradient(circle at 84% 14%, rgba(108, 131, 255, .2), transparent 30%),
    linear-gradient(90deg, rgba(4, 63, 57, .028) 1px, transparent 1px),
    linear-gradient(0deg, rgba(4, 63, 57, .02) 1px, transparent 1px),
    linear-gradient(135deg, rgba(255, 254, 249, .97), rgba(221, 247, 239, .68) 52%, rgba(231, 235, 255, .44));
  background-size: auto, auto, 38px 38px, 38px 38px, auto;
  box-shadow:
    0 20px 42px rgba(27, 45, 36, .065) inset,
    0 18px 34px rgba(8, 124, 112, .09);
}
.macro-chart-svg {
  display: block;
  width: 100%;
  height: auto;
}
.macro-plot-bg {
  fill: url(#macro-plot-glow);
  stroke: rgba(8, 124, 112, .15);
  filter: drop-shadow(0 16px 22px rgba(4, 63, 57, .08));
}
.macro-plot-gloss {
  fill: url(#macro-plot-gloss);
  pointer-events: none;
}
.macro-latest-band {
  fill: rgba(255, 254, 249, .54);
  stroke: rgba(8, 124, 112, .2);
  filter: drop-shadow(0 14px 16px rgba(4, 63, 57, .08));
}
.macro-latest-label {
  fill: rgba(4, 63, 57, .52);
  font-size: 10px;
  font-weight: 950;
  text-transform: uppercase;
}
.macro-latest-guide line {
  stroke: rgba(4, 63, 57, .28);
  stroke-width: 1.4;
  stroke-dasharray: 4 5;
}
.macro-cursor-dot {
  fill: #fffef9;
  stroke-width: 3;
  filter: drop-shadow(0 5px 8px rgba(4, 63, 57, .18));
}
.macro-cursor-dot.calories {
  stroke: var(--teal);
}
.macro-cursor-dot.protein {
  stroke: var(--blue);
}
.chart-grid-line line {
  stroke: rgba(4, 63, 57, .095);
  stroke-width: 1;
}
.chart-grid-line text,
.chart-target text,
.chart-axis-titles text,
.chart-date-label,
.macro-bar-value,
.chart-average text {
  fill: rgba(95, 108, 99, .78);
  font-size: 12px;
  font-weight: 800;
}
.chart-grid-line.protein-axis line {
  stroke: rgba(49, 87, 213, .26);
}
.chart-grid-line.protein-axis text {
  fill: rgba(49, 87, 213, .74);
  font-size: 11px;
}
.chart-axis-titles text {
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.chart-axis-titles .calories {
  fill: var(--teal-ink);
}
.chart-axis-titles .protein {
  fill: var(--blue);
}
.macro-bar-value {
  fill: rgba(4, 63, 57, .62);
  font-size: 10px;
}
.chart-target-band {
  opacity: .72;
}
.chart-target-band.calories {
  fill: rgba(255, 219, 142, .36);
  stroke: rgba(184, 117, 25, .18);
}
.chart-target-band.protein {
  fill: rgba(49, 87, 213, .1);
  stroke: rgba(49, 87, 213, .14);
}
.chart-target-band-label {
  font-size: 8px;
  font-weight: 950;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.chart-target-band-label.calories {
  fill: rgba(122, 76, 18, .72);
}
.chart-target-band-label.protein {
  fill: rgba(49, 87, 213, .68);
}
.macro-calorie-area {
  fill: url(#macro-calorie-area-gradient);
}
.macro-bar-rail {
  fill: rgba(4, 63, 57, .034);
}
.macro-bar {
  fill: url(#macro-calorie-gradient);
  filter: drop-shadow(0 10px 13px rgba(8, 124, 112, .25));
}
.macro-bar.latest {
  filter: drop-shadow(0 10px 14px rgba(8, 124, 112, .34));
}
.macro-bar.over {
  fill: #f0b24d;
  filter: drop-shadow(0 7px 8px rgba(184, 117, 25, .2));
}
.macro-calorie-line {
  fill: none;
  stroke: url(#macro-calorie-line-gradient);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3.2;
  filter: drop-shadow(0 7px 8px rgba(8, 124, 112, .18));
}
.macro-calorie-dot {
  fill: #fffef9;
  stroke: var(--teal);
  stroke-width: 2.8;
  filter: drop-shadow(0 5px 8px rgba(8, 124, 112, .18));
}
.macro-calorie-dot.latest {
  stroke: #043f39;
  stroke-width: 3.4;
}
.macro-empty-day {
  fill: rgba(4, 63, 57, .16);
}
.macro-protein-area {
  fill: url(#macro-protein-gradient);
}
.macro-protein-line {
  fill: none;
  stroke: url(#macro-protein-stroke);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 4.4;
  filter: drop-shadow(0 8px 10px rgba(49, 87, 213, .24));
}
.macro-dot-glow {
  fill: rgba(49, 87, 213, .16);
}
.macro-dot {
  fill: #fffef9;
  stroke: var(--blue);
  stroke-width: 3;
}
.macro-dot.latest {
  fill: #fff;
  stroke: #bb245e;
  filter: drop-shadow(0 5px 8px rgba(187, 36, 94, .22));
}
.macro-floating-metric rect {
  fill: rgba(255, 254, 249, .96);
  stroke: rgba(8, 124, 112, .2);
  filter: drop-shadow(0 16px 24px rgba(4, 63, 57, .18));
}
.macro-floating-label {
  fill: rgba(95, 108, 99, .84);
  font-size: 9px;
  font-weight: 950;
  text-transform: uppercase;
}
.macro-floating-cal {
  fill: var(--teal-ink);
  font-size: 17px;
  font-weight: 950;
}
.macro-floating-protein {
  fill: var(--blue);
  font-size: 12px;
  font-weight: 950;
}
.macro-baseline {
  stroke: rgba(4, 63, 57, .18);
  stroke-width: 1.4;
  stroke-linecap: round;
}
.chart-average line {
  stroke: rgba(4, 63, 57, .28);
  stroke-width: 1.5;
  stroke-dasharray: 2 6;
}
.chart-target line {
  fill: none;
  stroke-width: 1.5;
  stroke-dasharray: 7 6;
}
.chart-target.calories line {
  stroke: rgba(184, 117, 25, .72);
}
.chart-target.protein line {
  stroke: rgba(49, 87, 213, .7);
  stroke-dasharray: 2 7;
}
.chart-target.calories text {
  fill: #7a4c12;
}
.chart-target.protein text {
  fill: var(--blue);
}
.chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 10px;
}
.chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 8px;
  border-radius: 999px;
  border: 1px solid rgba(217, 227, 215, .88);
  background: rgba(255, 254, 249, .76);
  color: var(--dim);
  font-size: 11px;
  font-weight: 900;
}
.chart-legend.compact {
  margin-top: 12px;
}
.legend-swatch {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  display: inline-block;
  background: var(--teal);
}
.legend-swatch.calories,
.legend-swatch.ok {
  background: linear-gradient(135deg, var(--teal), #8ee5c7);
}
.legend-swatch.protein {
  background: var(--blue);
}
.legend-swatch.low,
.legend-swatch.over {
  background: var(--amber);
}
.chart-legend .legend-swatch.over {
  background: #efb24a;
}
.gaps-chart-card .chart-legend .legend-swatch.over {
  background: linear-gradient(135deg, var(--berry), #f37fa8);
}
.macro-chart-card .chart-legend .legend-swatch.over {
  background: linear-gradient(135deg, #d8942b, #ffd47a);
}
.gaps-chart-card {
  display: flex;
  flex-direction: column;
}
.gaps-chart-card .coverage-hero,
.gaps-chart-card .nutrition-overview {
  margin: 10px 0 12px;
  padding: 10px;
}
.gaps-chart-card .coverage-ring {
  --ring-size: 96px;
}
.gaps-chart-card .coverage-ring b {
  font-size: 27px;
}
.coverage-hero {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin: 14px 0;
  padding: 10px;
  border: 1px solid rgba(8, 124, 112, .14);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(221, 247, 239, .62), rgba(255, 254, 249, .72));
  box-shadow: 0 14px 28px rgba(27, 45, 36, .06);
}
.coverage-hero h4 {
  margin: 4px 0 4px;
  color: var(--surface-ink);
  font-size: 18px;
}
.nutrition-overview {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin: 14px 0 12px;
  padding: 11px;
  border: 1px solid rgba(8, 124, 112, .16);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(221, 247, 239, .78), rgba(255, 254, 249, .78) 50%, rgba(231, 235, 255, .3));
  box-shadow:
    0 16px 32px rgba(27, 45, 36, .065),
    0 1px 0 rgba(255, 255, 255, .74) inset;
}
.nutrition-overview h4 {
  margin: 4px 0 4px;
  color: var(--surface-ink);
  font-size: 18px;
}
.nutrition-overview-copy {
  min-width: 0;
}
.nutrition-status-rail {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 10px;
}
.coverage-micro-row {
  margin: 10px 0 0;
}
.coverage-micro-row .chart-signal {
  padding: 8px;
}
.coverage-micro-row .chart-signal b {
  font-size: 16px;
}
.nutrition-status-rail .chart-stat {
  padding: 8px;
}
.nutrition-status-rail .chart-stat b {
  font-size: 17px;
}
.nutrition-status-rail .chart-stat em {
  font-size: 9px;
}
.coverage-ring-wrap {
  width: 104px;
  min-width: 104px;
  display: grid;
  justify-items: center;
  gap: 7px;
  align-self: center;
}
.coverage-ring {
  --ring-size: 104px;
  --ring-accent: #087c70;
  --ring-accent-end: #42bfa4;
  --ring-track: rgba(17, 68, 59, .11);
  --ring-shadow: rgba(8, 124, 112, .12);
  width: var(--ring-size);
  min-width: var(--ring-size);
  aspect-ratio: 1;
  border-radius: 50%;
  display: grid;
  place-items: center;
  position: relative;
  isolation: isolate;
  background: conic-gradient(from -90deg,
    var(--ring-accent) 0,
    var(--ring-accent-end) var(--coverage),
    var(--ring-track) var(--coverage),
    var(--ring-track) 100%);
  border: 1px solid rgba(10, 71, 62, .08);
  box-shadow:
    0 12px 24px var(--ring-shadow),
    inset 0 0 0 1px rgba(255, 255, 255, .58);
}
.coverage-ring.low {
  --ring-accent: #bd7415;
  --ring-accent-end: #e5a338;
  --ring-shadow: rgba(184, 117, 25, .12);
}
.coverage-ring.over {
  --ring-accent: #a91f54;
  --ring-accent-end: #e5588c;
  --ring-shadow: rgba(187, 36, 94, .12);
}
.coverage-ring::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 9px;
  border-radius: 50%;
  background:
    linear-gradient(145deg, #fffefb, #f1f7f3);
  border: 1px solid rgba(255, 255, 255, .9);
  box-shadow:
    0 2px 5px rgba(20, 52, 44, .08),
    inset 0 0 0 1px rgba(8, 124, 112, .05);
}
.coverage-ring-value {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 1px;
  color: var(--teal-ink);
  font-variant-numeric: tabular-nums;
}
.coverage-ring-value b {
  font-size: 30px;
  line-height: 1;
}
.coverage-ring-value span {
  margin-top: 2px;
  font-size: 15px;
  font-weight: 850;
  line-height: 1;
}
.coverage-ring-caption {
  color: var(--dim);
  font-size: 9px;
  font-weight: 850;
  line-height: 1.15;
  text-align: center;
  text-transform: uppercase;
}
.nutrition-board-visual {
  margin: 6px 0 12px;
  padding: 13px 10px 9px;
  border: 1px solid rgba(8, 124, 112, .18);
  border-radius: var(--radius);
  overflow: hidden;
  background:
    radial-gradient(circle at 22% 0%, rgba(255, 240, 201, .52), transparent 30%),
    radial-gradient(circle at 90% 16%, rgba(108, 131, 255, .15), transparent 30%),
    linear-gradient(90deg, rgba(4, 63, 57, .026) 1px, transparent 1px),
    linear-gradient(0deg, rgba(4, 63, 57, .019) 1px, transparent 1px),
    linear-gradient(135deg, rgba(255, 254, 249, .94), rgba(221, 247, 239, .58), rgba(250, 228, 236, .2));
  background-size: auto, auto, 38px 38px, 38px 38px, auto;
  box-shadow:
    0 22px 44px rgba(27, 45, 36, .07) inset,
    0 16px 32px rgba(8, 124, 112, .075);
}
.nutrition-bars-svg {
  display: block;
  width: 100%;
  height: auto;
}
.nutrition-plot-bg {
  fill: rgba(255, 254, 249, .68);
  stroke: rgba(8, 124, 112, .14);
  filter: drop-shadow(0 16px 22px rgba(4, 63, 57, .08));
}
.nutrition-low-zone {
  fill: rgba(255, 240, 201, .34);
}
.nutrition-target-zone {
  fill: url(#nutrition-target-zone-gradient);
  stroke: rgba(8, 124, 112, .08);
}
.nutrition-runway-low-zone {
  fill: rgba(255, 240, 201, .28);
}
.nutrition-runway-target-zone {
  fill: url(#nutrition-target-zone-gradient);
  stroke: rgba(8, 124, 112, .13);
  filter: drop-shadow(0 10px 14px rgba(8, 124, 112, .08));
}
.nutrition-runway-zone-labels text {
  fill: rgba(95, 108, 99, .68);
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.nutrition-runway-grid line {
  stroke: rgba(4, 63, 57, .1);
  stroke-width: 1;
}
.nutrition-runway-grid.primary line {
  stroke: rgba(8, 124, 112, .26);
  stroke-dasharray: 4 6;
}
.nutrition-runway-grid text,
.nutrition-runway-label,
.nutrition-runway-sub,
.nutrition-runway-value {
  font-weight: 900;
}
.nutrition-runway-grid text {
  fill: rgba(95, 108, 99, .62);
  font-size: 10px;
  text-transform: uppercase;
}
.nutrition-runway-label {
  fill: rgba(18, 36, 30, .9);
  font-size: 12px;
  text-transform: uppercase;
}
.nutrition-runway-sub {
  fill: rgba(95, 108, 99, .62);
  font-size: 9px;
}
.nutrition-runway-row-bg {
  fill: rgba(255, 254, 249, .52);
  stroke: rgba(255, 255, 255, .66);
}
.nutrition-runway-track {
  fill: url(#nutrition-track-gradient);
  stroke: rgba(255, 255, 255, .65);
}
.nutrition-runway-target {
  stroke: rgba(4, 63, 57, .22);
  stroke-width: 1.2;
  stroke-linecap: round;
}
.nutrition-runway-fill {
  fill: url(#nutrition-ok-gradient);
  filter: url(#nutrition-soft-shadow);
}
.nutrition-runway-fill.low {
  fill: url(#nutrition-low-gradient);
}
.nutrition-runway-fill.over {
  fill: url(#nutrition-over-gradient);
}
.nutrition-runway-shine {
  fill: rgba(255, 255, 255, .28);
  pointer-events: none;
}
.nutrition-runway-dot {
  fill: #fffef9;
  stroke: var(--teal);
  stroke-width: 3;
  filter: drop-shadow(0 6px 8px rgba(8, 124, 112, .2));
}
.nutrition-runway-dot.low {
  stroke: var(--amber);
  filter: drop-shadow(0 6px 8px rgba(184, 117, 25, .18));
}
.nutrition-runway-dot.over {
  stroke: var(--berry);
  filter: drop-shadow(0 6px 8px rgba(187, 36, 94, .18));
}
.nutrition-runway-value {
  fill: var(--teal-ink);
  font-size: 15px;
}
.nutrition-runway-value.low {
  fill: #7a4c12;
}
.nutrition-runway-value.over {
  fill: var(--berry);
}
.nutrition-plot-border {
  fill: none;
  stroke: rgba(255, 255, 255, .66);
  pointer-events: none;
}
.nutrition-grid-line line {
  stroke: rgba(4, 63, 57, .1);
  stroke-width: 1;
}
.nutrition-grid-line text,
.nutrition-goal-line text,
.nutrition-bar-value,
.nutrition-bar-label,
.nutrition-bar-status {
  fill: rgba(95, 108, 99, .78);
  font-size: 11px;
  font-weight: 850;
}
.nutrition-goal-line line {
  stroke: rgba(4, 63, 57, .22);
  stroke-width: 1.4;
  stroke-dasharray: 6 6;
}
.nutrition-goal-line.primary line {
  stroke: rgba(8, 124, 112, .38);
  stroke-dasharray: 2 6;
}
.nutrition-goal-line.primary text {
  fill: var(--teal-ink);
}
.nutrition-bar-rail {
  fill: rgba(4, 63, 57, .055);
}
.nutrition-bar {
  fill: url(#nutrition-ok-gradient);
  filter: url(#nutrition-soft-shadow);
}
.nutrition-bar.low {
  fill: url(#nutrition-low-gradient);
}
.nutrition-bar.over {
  fill: url(#nutrition-over-gradient);
}
.nutrition-cap {
  fill: #fffef9;
  stroke: var(--teal);
  stroke-width: 3;
}
.nutrition-cap.low {
  stroke: var(--amber);
}
.nutrition-cap.over {
  stroke: var(--berry);
}
.nutrition-bar-value {
  fill: var(--teal-ink);
  font-weight: 950;
}
.nutrition-bar-group.low .nutrition-bar-value {
  fill: #7a4c12;
}
.nutrition-bar-group.over .nutrition-bar-value {
  fill: var(--berry);
}
.nutrition-bar-label {
  fill: rgba(18, 36, 30, .72);
  font-size: 10px;
  text-transform: uppercase;
}
.nutrition-bar-status {
  fill: rgba(95, 108, 99, .68);
  font-size: 8px;
  font-weight: 950;
  text-transform: uppercase;
}
.nutrition-focus-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 10px;
}
.nutrition-focus-pill {
  min-width: 0;
  padding: 8px 9px;
  border: 1px solid rgba(217, 227, 215, .78);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .86), rgba(221, 247, 239, .58));
  box-shadow: 0 10px 20px rgba(27, 45, 36, .05);
}
.nutrition-focus-pill b,
.nutrition-focus-pill strong,
.nutrition-focus-pill small {
  display: block;
}
.nutrition-focus-pill b {
  overflow: hidden;
  color: var(--surface-ink);
  font-size: 11px;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.nutrition-focus-pill strong {
  margin-top: 5px;
  color: var(--teal-ink);
  font-size: 18px;
  line-height: 1;
}
.nutrition-focus-pill small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 8px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}
.nutrition-focus-pill.low {
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .88), rgba(255, 240, 201, .72));
}
.nutrition-focus-pill.over {
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .9), rgba(250, 228, 236, .76));
}
.nutrition-focus-pill.low strong {
  color: #7a4c12;
}
.nutrition-focus-pill.over strong {
  color: var(--berry);
}
.nutrient-tile-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}
.nutrient-tile {
  position: relative;
  min-height: 74px;
  overflow: hidden;
  padding: 9px;
  border: 1px solid rgba(217, 227, 215, .82);
  border-radius: var(--radius);
  background:
    linear-gradient(to top, rgba(8, 124, 112, .13) var(--tile), rgba(255, 254, 249, .78) var(--tile));
  box-shadow: 0 10px 22px rgba(27, 45, 36, .05);
}
.nutrient-tile.low {
  background:
    linear-gradient(to top, rgba(255, 212, 122, .34) var(--tile), rgba(255, 254, 249, .78) var(--tile));
}
.nutrient-tile.over {
  background:
    linear-gradient(to top, rgba(250, 188, 211, .38) var(--tile), rgba(255, 254, 249, .78) var(--tile));
}
.nutrient-tile small,
.nutrient-tile b,
.nutrient-tile strong {
  position: relative;
  z-index: 1;
  display: block;
}
.nutrient-tile small {
  color: var(--muted);
  font-size: 9px;
  font-weight: 950;
  text-transform: uppercase;
}
.nutrient-tile b {
  margin-top: 5px;
  color: var(--surface-ink);
  font-size: 12px;
  line-height: 1.12;
}
.nutrient-tile strong {
  position: absolute;
  right: 9px;
  bottom: 7px;
  color: var(--teal-ink);
  font-size: 18px;
  line-height: 1;
}
.nutrient-tile.low strong {
  color: #7a4c12;
}
.nutrient-tile.over strong {
  color: var(--berry);
}
.coverage-status-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 12px;
}
.coverage-status-row span {
  padding: 8px;
  border: 1px solid rgba(217, 227, 215, .78);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .66);
  color: var(--dim);
  font-size: 11px;
  font-weight: 900;
  text-align: center;
}
.coverage-status-row b {
  display: block;
  color: var(--teal-ink);
  font-size: 17px;
  line-height: 1.05;
}
.nutrition-details {
  margin-top: 2px;
  border: 1px solid rgba(217, 227, 215, .72);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .58);
}
.nutrition-details summary {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 10px;
  color: var(--teal-ink);
  cursor: pointer;
  font-size: 12px;
  font-weight: 950;
  list-style: none;
  text-transform: uppercase;
}
.nutrition-details summary::-webkit-details-marker {
  display: none;
}
.nutrition-details summary::after {
  content: "+";
  width: 22px;
  height: 22px;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  background: var(--mint);
  color: var(--teal-ink);
  font-size: 16px;
  line-height: 1;
}
.nutrition-details[open] summary::after {
  content: "-";
}
.nutrition-details .gap-chart-list {
  padding: 0 8px 8px;
}
.gap-chart-list {
  display: grid;
  gap: 9px;
}
.gap-chart-row {
  display: grid;
  grid-template-columns: minmax(96px, 138px) minmax(0, 1fr) 58px;
  gap: 9px;
  align-items: center;
  padding: 6px 8px;
  border: 1px solid rgba(217, 227, 215, .62);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .54);
}
.gap-chart-label {
  min-width: 0;
}
.gap-chart-label b,
.gap-chart-label span {
  display: block;
}
.gap-chart-label b {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--surface-ink);
  font-size: 13px;
  line-height: 1.1;
}
.gap-chart-label span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.gap-chart-track {
  height: 12px;
  border-radius: 999px;
  background: rgba(4, 63, 57, .08);
  overflow: hidden;
  position: relative;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .8) inset;
}
.gap-chart-track::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, transparent 0 calc(80% - 1px), rgba(4, 63, 57, .16) calc(80% - 1px) calc(80% + 1px), transparent calc(80% + 1px)),
    linear-gradient(90deg, transparent 0 calc(100% - 1px), rgba(4, 63, 57, .18) calc(100% - 1px));
  pointer-events: none;
  z-index: 1;
}
.gap-chart-track i {
  display: block;
  width: var(--fill);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--teal), #70dcbf);
  box-shadow: 0 8px 16px rgba(8, 124, 112, .16);
}
.gap-chart-row.low .gap-chart-track i {
  background: linear-gradient(90deg, #d8942b, #ffd47a);
  box-shadow: 0 8px 16px rgba(184, 117, 25, .15);
}
.gap-chart-row.over .gap-chart-track i {
  background: linear-gradient(90deg, var(--berry), #f37fa8);
  box-shadow: 0 8px 16px rgba(187, 36, 94, .15);
}
.gap-chart-row strong {
  color: var(--teal-ink);
  font-size: 13px;
  text-align: right;
}
.gap-chart-row strong span,
.gap-chart-row strong small {
  display: block;
}
.gap-chart-row strong span {
  line-height: 1.05;
}
.gap-chart-row strong small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 8px;
  font-weight: 950;
  text-transform: uppercase;
}
.gap-chart-row.low strong {
  color: #7a4c12;
}
.gap-chart-row.over strong {
  color: var(--berry);
}
.gap-status-dot {
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--teal), #70dcbf);
  box-shadow: 0 0 0 3px rgba(8, 124, 112, .09);
}
.gap-chart-row.low .gap-status-dot {
  background: linear-gradient(135deg, #d8942b, #ffd47a);
  box-shadow: 0 0 0 3px rgba(184, 117, 25, .1);
}
.gap-chart-row.over .gap-status-dot {
  background: linear-gradient(135deg, var(--berry), #f37fa8);
  box-shadow: 0 0 0 3px rgba(187, 36, 94, .1);
}
.chart-note {
  margin: 12px 0 0;
}
.chart-more {
  margin: 10px 0 0;
  padding: 7px 9px;
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .58);
  border: 1px solid rgba(217, 227, 215, .68);
  font-size: 11px;
  line-height: 1.25;
}
.gaps-chart-card .chart-note {
  font-size: 11px;
  line-height: 1.25;
}
.chart-empty-panel {
  display: grid;
  place-items: center;
  min-height: 190px;
  margin-top: 14px;
  border: 1px dashed rgba(8, 124, 112, .26);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(221, 247, 239, .55), rgba(255, 254, 249, .86));
  color: var(--teal-ink);
  font-weight: 900;
}
.timeline-grid {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
.timeline-head {
  margin-top: 12px;
  align-items: end;
}
.coverage-weekdays {
  margin-bottom: -4px;
}
.coverage-day {
  min-height: 18px;
  display: grid;
  place-items: center;
  color: var(--dim);
  font-size: 11px;
  font-weight: 900;
}
.timeline-row {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}
.timeline-row b {
  color: var(--dim);
  font-size: 12px;
  text-transform: uppercase;
}
.coverage-cells {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 5px;
}
.coverage-cell {
  min-height: 30px;
  border-radius: var(--radius);
  display: grid;
  place-items: center;
  background: linear-gradient(to top, var(--mint) var(--p), #f2f5ee var(--p));
  border: 1px solid var(--line);
  color: var(--teal-ink);
  font-size: 11px;
  font-weight: 900;
}
.coverage-cell.low {
  background: linear-gradient(to top, var(--amber-soft) var(--p), #f8fbf5 var(--p));
  color: #68400c;
}
.smart-pick-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.shopping-window-form {
  display: grid;
  grid-template-columns: minmax(120px, .8fr) minmax(0, 1.35fr) auto;
  gap: 8px;
  align-items: end;
  margin-top: 12px;
}
.shopping-window-form button {
  min-height: 46px;
}
.shopping-plan-result {
  margin-top: 12px;
}
.shopping-plan-list {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}
.shopping-plan-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fbfcf8;
}
.shopping-plan-item strong,
.shopping-plan-item span {
  display: block;
}
.shopping-plan-item span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
}
.shopping-plan-reasons {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 7px;
}
.shopping-plan-reasons em {
  border-radius: 999px;
  padding: 4px 7px;
  background: var(--mint);
  color: var(--teal-ink);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}
.shopping-plan-meals {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}
.shopping-plan-meals span {
  border-radius: 999px;
  padding: 5px 8px;
  background: var(--surface-soft);
  color: var(--dim);
  font-size: 12px;
  font-weight: 800;
}
.success-note {
  margin: 8px 0;
  color: var(--teal-ink);
  font-size: 13px;
  font-weight: 900;
}
.smart-pick {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 10px;
  border: 1px solid rgba(8, 124, 112, .13);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .92), rgba(236, 244, 255, .58));
  box-shadow: 0 10px 20px rgba(27, 45, 36, .045);
}
.smart-pick strong,
.smart-pick span {
  display: block;
}
.smart-pick > div:first-child {
  min-width: 0;
}
.smart-pick > div:first-child > span {
  color: var(--muted);
  font-size: 12px;
  margin-top: 3px;
}
.empty.small {
  padding: 10px;
  min-height: 0;
  font-size: 13px;
}
.key-state {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
  margin-right: auto;
  min-height: 40px;
}
.gap-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px;
}
.home-command-card,
.plan-command-card,
.move-command-card,
.feel-command-card {
  border-color: rgba(8, 124, 112, .22);
}
.home-command-card .chart-card-head h3,
.plan-command-card .chart-card-head h3,
.move-command-card .chart-card-head h3,
.feel-command-card .chart-card-head h3 {
  max-width: 36rem;
  font-size: 24px;
}
.home-command-card .chart-card-head .meta,
.plan-command-card .chart-card-head .meta,
.move-command-card .chart-card-head .meta,
.feel-command-card .chart-card-head .meta {
  max-width: 50rem;
}
.move-command-card {
  background:
    radial-gradient(circle at 10% 0%, rgba(255, 240, 201, .34), transparent 26%),
    radial-gradient(circle at 96% 10%, rgba(49, 87, 213, .18), transparent 31%),
    linear-gradient(125deg, rgba(255, 255, 255, .97), rgba(255, 240, 230, .52) 42%, rgba(221, 247, 239, .36) 76%, rgba(231, 235, 255, .22)),
    var(--surface);
}
.feel-command-card {
  background:
    radial-gradient(circle at 10% 0%, rgba(250, 228, 236, .34), transparent 27%),
    radial-gradient(circle at 96% 10%, rgba(142, 229, 199, .25), transparent 31%),
    linear-gradient(125deg, rgba(255, 255, 255, .97), rgba(250, 228, 236, .38) 40%, rgba(221, 247, 239, .36) 76%, rgba(231, 235, 255, .22)),
    var(--surface);
}
.command-hero-strip {
  grid-template-columns: 1.08fr 1.08fr .84fr;
}
.move-hero-strip,
.feel-hero-strip {
  grid-template-columns: 1.04fr .9fr .95fr;
}
.command-hero-strip span:first-child {
  background: rgba(142, 229, 199, .13);
}
.command-hero-strip span:nth-child(2) {
  background: rgba(231, 235, 255, .12);
}
.command-hero-strip span:nth-child(3) {
  background: rgba(255, 240, 201, .12);
}
.home-command-ribbon,
.plan-command-ribbon,
.move-ribbon,
.feel-ribbon {
  margin-top: 2px;
}
.command-story-row {
  margin-bottom: 0;
}
.command-story-row span,
.move-story-row span,
.feel-story-row span {
  min-height: 68px;
}
.command-story-row b,
.move-story-row b,
.feel-story-row b {
  display: block;
  margin-bottom: 4px;
}
.premium-command-actions,
.move-command-actions,
.feel-command-actions {
  padding-top: 2px;
}
.premium-command-actions button,
.move-command-actions button,
.feel-command-actions button {
  min-height: 42px;
}
.home-shortcuts-card,
.nutrition-scorecard,
.meal-picks-card,
.daily-forecast-card,
.home-stats-card,
.plan-feature-card,
.plan-gap-card,
.what-if-card,
.shopping-plan-card,
.plan-supplement-card,
.move-card,
.move-enable-card,
.workout-estimate-card,
.workout-entry-card,
.recent-workouts-card,
.feel-entry-card {
  border-color: rgba(8, 124, 112, .18);
}
.move-enable-card,
.feel-entry-card {
  box-shadow:
    0 30px 70px rgba(7, 74, 65, .12),
    0 8px 22px rgba(27, 45, 36, .055);
}
.workout-estimate-card,
.workout-entry-card,
.recent-workouts-card {
  background:
    linear-gradient(145deg, rgba(255, 254, 249, .96), rgba(255, 240, 230, .38), rgba(221, 247, 239, .24)),
    var(--surface);
  box-shadow:
    0 18px 42px rgba(7, 74, 65, .08),
    0 1px 0 rgba(255, 255, 255, .78) inset;
}
.workout-estimate-card,
.workout-entry-card,
.feel-entry-card {
  position: relative;
  overflow: hidden;
}
.workout-estimate-card::before,
.workout-entry-card::before,
.feel-entry-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(180deg, var(--teal), rgba(194, 128, 24, .78), rgba(142, 229, 199, .92));
}
.feel-entry-card::before {
  background: linear-gradient(180deg, var(--berry), rgba(49, 87, 213, .65), rgba(142, 229, 199, .9));
}
.workout-estimate-card > *,
.workout-entry-card > *,
.feel-entry-card > * {
  position: relative;
  z-index: 1;
}
.workout-estimate-card label,
.workout-entry-card label,
.feel-entry-card label {
  color: var(--teal-ink);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}
.workout-estimate-card textarea,
.workout-entry-card input,
.workout-entry-card select,
.feel-entry-card textarea {
  margin-top: 4px;
  border-color: rgba(8, 124, 112, .15);
  background: rgba(255, 255, 255, .82);
}
.workout-form > div {
  min-width: 0;
  border: 1px solid rgba(8, 124, 112, .1);
  border-radius: var(--radius);
  padding: 10px;
  background:
    linear-gradient(145deg, rgba(255, 254, 249, .9), rgba(255, 246, 231, .58));
  box-shadow:
    0 10px 22px rgba(27, 45, 36, .045),
    0 1px 0 rgba(255, 255, 255, .72) inset;
}
.workout-card {
  overflow: hidden;
  border-color: rgba(8, 124, 112, .14);
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 240, 201, .24), transparent 26%),
    linear-gradient(145deg, rgba(255, 254, 249, .97), rgba(245, 252, 248, .88), rgba(236, 244, 255, .34));
  box-shadow:
    0 16px 34px rgba(7, 74, 65, .085),
    0 1px 0 rgba(255, 255, 255, .78) inset;
}
.recent-workouts-shell {
  display: grid;
  gap: 12px;
  margin: 2px 0 14px;
  border: 1px solid rgba(8, 124, 112, .1);
  border-radius: var(--radius-lg);
  padding: 12px;
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 240, 201, .18), transparent 28%),
    linear-gradient(145deg, rgba(255, 254, 249, .72), rgba(246, 251, 247, .42));
}
.recent-workouts-shell > .chart-card-head {
  padding: 2px 2px 0;
}
.recent-workouts-shell h3 {
  margin: 2px 0 0;
  color: var(--surface-ink);
  font-size: 21px;
}
.feel-entry-card {
  background:
    radial-gradient(circle at 95% 3%, rgba(187, 36, 94, .1), transparent 28%),
    linear-gradient(145deg, rgba(255, 254, 249, .96), rgba(250, 228, 236, .26), rgba(221, 247, 239, .24)),
    var(--surface);
}
.feel-entry-card > .muted {
  margin-top: 12px;
}
.home-shortcuts-card {
  box-shadow:
    0 30px 70px rgba(7, 74, 65, .13),
    0 8px 22px rgba(27, 45, 36, .055);
}
.home-stats-card {
  background:
    radial-gradient(circle at 8% 0%, rgba(142, 229, 199, .2), transparent 28%),
    linear-gradient(135deg, rgba(255, 254, 249, .96), rgba(235, 246, 241, .62)),
    var(--surface);
}
.plan-section-card {
  border-style: dashed;
  border-color: rgba(8, 124, 112, .18);
  background: rgba(255, 254, 249, .68);
}
.plan-decision-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .75fr);
  gap: 12px;
  align-items: start;
}
.plan-feature-card {
  border-color: rgba(8, 124, 112, .26);
  background:
    linear-gradient(135deg, rgba(221, 247, 239, .9), rgba(255, 254, 249, .96) 48%, rgba(232, 238, 255, .62)),
    var(--surface);
  box-shadow: var(--shadow-lift);
}
.plan-feature-card h3 {
  font-size: 22px;
}
.plan-gap-card {
  border-color: rgba(49, 87, 213, .16);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(242, 247, 255, .82)),
    var(--surface);
}
.plan-section-card {
  box-shadow: none;
}
.suggestion-creator-card {
  border-color: rgba(8, 124, 112, .22);
  background:
    radial-gradient(circle at 10% 0%, rgba(142, 229, 199, .24), transparent 28%),
    linear-gradient(145deg, rgba(255, 254, 249, .98), rgba(236, 244, 255, .5), rgba(221, 247, 239, .42)),
    var(--surface);
  box-shadow:
    0 24px 56px rgba(7, 74, 65, .1),
    0 1px 0 rgba(255, 255, 255, .78) inset;
}
.suggestion-mode-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  margin-top: 13px;
}
.suggestion-mode-btn {
  --busy-fg: var(--teal-ink);
  min-width: 0;
  min-height: 72px;
  align-items: flex-start;
  justify-content: center;
  border-color: rgba(8, 124, 112, .14);
  padding: 10px;
  text-align: left;
  background:
    linear-gradient(180deg, rgba(255, 254, 249, .92), rgba(221, 247, 239, .4));
  color: var(--teal-ink);
  box-shadow: 0 10px 20px rgba(7, 74, 65, .055);
}
.suggestion-mode-btn b,
.suggestion-mode-btn span {
  display: block;
}
.suggestion-mode-btn b {
  color: var(--text);
  font-size: 13px;
  line-height: 1.1;
}
.suggestion-mode-btn span {
  margin-top: 4px;
  color: var(--dim);
  font-size: 11px;
  font-weight: 850;
  line-height: 1.2;
}
.suggestion-mode-btn.active {
  border-color: rgba(8, 124, 112, .34);
  background:
    linear-gradient(135deg, rgba(221, 247, 239, .95), rgba(255, 254, 249, .82)),
    var(--surface);
  box-shadow:
    0 14px 26px rgba(7, 74, 65, .12),
    0 0 0 3px rgba(142, 229, 199, .24);
}
.suggestion-control-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  gap: 9px;
  align-items: end;
  margin-top: 12px;
}
.suggestion-control-grid label {
  color: var(--teal-ink);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}
.suggestion-control-grid input {
  margin-top: 4px;
  border-color: rgba(8, 124, 112, .15);
  background: rgba(255, 255, 255, .86);
}
.suggestion-control-grid button {
  min-height: 46px;
}
.suggestion-control-note {
  margin-top: 10px;
}
.suggestion-create-result {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}
.created-suggestions-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: end;
  padding: 2px 2px 0;
}
.created-suggestions-head h3 {
  margin: 2px 0 0;
  color: var(--surface-ink);
  font-size: 21px;
}
.created-suggestions-grid {
  display: grid;
  gap: 10px;
}
.gap-pill {
  border-radius: 999px;
  padding: 8px 10px;
  background: var(--amber-soft);
  color: #68400c;
  border: 1px solid #f3d587;
  font-size: 12px;
  font-weight: 900;
}
.suggestion-card h3 { margin-bottom: 4px; }
.why-meal {
  margin-top: 12px;
  border-top: 1px solid var(--line);
  padding-top: 10px;
}
.why-meal summary {
  cursor: pointer;
  color: var(--teal-ink);
  font-size: 13px;
  font-weight: 900;
}
.why-meal ul {
  list-style: none;
  padding: 0;
  margin: 10px 0 0;
  display: grid;
  gap: 6px;
}
.why-meal li {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 8px;
  border-radius: var(--radius);
  background: #f8fbf5;
}
.why-meal li b {
  font-size: 12px;
  color: var(--text);
}
.why-meal li span {
  color: var(--muted);
  font-size: 12px;
  text-align: right;
}
.estimate-result {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid #bde8db;
  border-radius: var(--radius);
  background: linear-gradient(135deg, rgba(223, 245, 236, .78), rgba(255, 255, 255, .92));
}
.estimate-result h3 {
  font-size: 24px;
}
.assumption-list {
  margin: 10px 0 0;
  padding-left: 18px;
  color: var(--dim);
  font-size: 13px;
}
.assumption-list li + li { margin-top: 4px; }
.food-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 12px 0;
}
.food-row span {
  border-radius: 999px;
  padding: 5px 8px;
  background: #f2f5ee;
  color: var(--dim);
  font-size: 12px;
  font-weight: 800;
}
.reason-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.reason-row span {
  border-radius: 999px;
  padding: 5px 8px;
  background: var(--mint);
  color: var(--teal-ink);
  font-size: 12px;
  font-weight: 900;
}

.toast {
  position: fixed;
  left: 50%;
  bottom: calc(86px + env(safe-area-inset-bottom));
  transform: translateX(-50%) translateY(8px);
  z-index: 20;
  min-width: 160px;
  max-width: calc(100vw - 32px);
  padding: 11px 14px;
  border-radius: 999px;
  background: var(--surface-ink);
  color: #fff;
  text-align: center;
  font-size: 14px;
  font-weight: 800;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s, transform .2s;
}
.toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
.toast.has-action {
  display: flex;
  align-items: center;
  gap: 10px;
  text-align: left;
}
.toast.has-action.show {
  pointer-events: auto;
}
.toast button {
  min-height: 30px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .14);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .24);
  box-shadow: none;
  font-size: 12px;
}

@media (prefers-reduced-motion: no-preference) {
  .view > .card {
    animation: surface-in .2s ease-out both;
  }
  .view > .card:nth-of-type(2) { animation-delay: .025s; }
  .view > .card:nth-of-type(3) { animation-delay: .05s; }
  .view > .card:nth-of-type(4) { animation-delay: .075s; }
  .view > .card:nth-of-type(n + 5) { animation-delay: .1s; }
  .chart-card .macro-bar,
  .chart-card .nutrition-runway-fill {
    animation: chart-grow .58s cubic-bezier(.2, .8, .2, 1) both;
    transform-box: fill-box;
    transform-origin: left bottom;
  }
  .chart-card .macro-protein-line,
  .chart-card .macro-calorie-line {
    animation: chart-draw .72s ease-out both;
    stroke-dasharray: 900;
    stroke-dashoffset: 900;
  }
  .chart-card .macro-dot,
  .chart-card .macro-cursor-dot,
  .chart-card .nutrition-runway-dot {
    animation: chart-pop .38s ease-out both;
    transform-box: fill-box;
    transform-origin: center;
  }
  @keyframes surface-in {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
  }
  @keyframes chart-grow {
    from { opacity: .24; transform: scaleX(.08); }
    to { opacity: 1; transform: scaleX(1); }
  }
  @keyframes chart-draw {
    to { stroke-dashoffset: 0; }
  }
  @keyframes chart-pop {
    from { opacity: 0; transform: scale(.68); }
    to { opacity: 1; transform: scale(1); }
  }
}

@media (prefers-reduced-motion: reduce) {
  button.is-busy::before,
  .loading::before,
  .profile-panel {
    animation: none !important;
  }
  button.is-busy::before {
    border-color: rgba(255, 255, 255, .45);
    border-top-color: var(--busy-fg);
  }
  button.ghost.is-busy::before,
  button.icon-btn.is-busy::before {
    border-color: rgba(15, 118, 110, .22);
    border-top-color: var(--teal);
  }
}

@media (hover: hover) {
  .main-path-card:hover,
  .nav-card:hover,
  .profile-power:hover,
  .profile-section-tab:hover,
  .starter-staple-btn:hover,
  .home-quick-chip:hover,
  .quick-start-chip:hover,
  .favorite-log-chip:hover,
  .shop-link:hover {
    transform: translateY(-1px);
    filter: none;
  }
  .main-path-card:hover,
  .nav-card:hover,
  .profile-power:hover,
  .profile-section-tab:hover {
    border-color: rgba(8, 124, 112, .24);
    box-shadow: 0 16px 30px rgba(27, 45, 36, .1);
  }
}

.tabbar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 3px;
  overflow: visible;
  scrollbar-width: none;
  padding: 7px 8px calc(7px + env(safe-area-inset-bottom));
  background:
    linear-gradient(180deg, rgba(19, 36, 30, .9), rgba(10, 24, 20, .96));
  border-top: 1px solid rgba(255, 255, 255, .1);
  box-shadow: 0 -18px 42px rgba(27, 45, 36, .18);
  backdrop-filter: blur(22px) saturate(1.2);
}
.tabbar::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}
.tab {
  width: 100%;
  min-width: 0;
  min-height: 58px;
  flex-direction: column;
  gap: 3px;
  padding: 6px 2px;
  border-radius: var(--radius);
  background: transparent;
  color: rgba(236, 247, 241, .68);
  border: 0;
  box-shadow: none;
  font-size: 11px;
  font-weight: 900;
}
.tab svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.tab.active {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .08));
  color: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12), 0 10px 20px rgba(0, 0, 0, .16);
}
.tab.expanded {
  background:
    linear-gradient(180deg, rgba(142, 229, 199, .2), rgba(255, 255, 255, .08));
  color: #fffef9;
  box-shadow: inset 0 0 0 1px rgba(142, 229, 199, .24), 0 10px 20px rgba(0, 0, 0, .14);
}
.tab[data-nav-tier="secondary"],
.tab[data-nav-scope="desktop"] {
  display: none;
}
.tab[data-nav-more="true"],
.tabbar.more-open .tab[data-nav-tier="secondary"] {
  display: flex;
}

.quick-add-fab {
  position: fixed;
  left: 50%;
  bottom: calc(78px + env(safe-area-inset-bottom));
  z-index: 20;
  width: 58px;
  height: 58px;
  padding: 0;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .58);
  background:
    radial-gradient(circle at 32% 24%, rgba(255, 255, 255, .95), rgba(255, 255, 255, 0) 34%),
    linear-gradient(135deg, #0f766e, #0b8f83 48%, #2c6bed);
  color: #fff;
  box-shadow: 0 18px 42px rgba(15, 118, 110, .34), 0 0 0 8px rgba(255, 255, 255, .72);
  transform: translateX(-50%);
}
.quick-add-fab svg {
  width: 29px;
  height: 29px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.5;
  stroke-linecap: round;
}
body[data-current-tab="profile"] .quick-add-fab { display: none; }
body[data-current-tab="insights"] .quick-add-fab { display: none; }
.quick-add-fab:hover {
  filter: none;
  transform: translateX(-50%) translateY(-2px);
}
.more-nav-sheet-overlay {
  position: fixed;
  inset: 0;
  z-index: 39;
  display: grid;
  align-items: end;
  padding: 16px 12px calc(88px + env(safe-area-inset-bottom));
  background: rgba(17, 30, 25, .38);
  backdrop-filter: blur(10px);
}
.more-nav-sheet {
  width: min(560px, 100%);
  margin: 0 auto;
  border: 1px solid rgba(255, 255, 255, .58);
  border-radius: 18px;
  padding: 12px;
  background:
    radial-gradient(circle at 12% 0%, rgba(142, 229, 199, .28), transparent 34%),
    linear-gradient(145deg, rgba(255, 254, 249, .98), rgba(237, 247, 241, .94));
  box-shadow: 0 24px 70px rgba(7, 74, 65, .22), 0 1px 0 rgba(255, 255, 255, .75) inset;
}
.more-nav-sheet-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 2px 2px 10px;
}
.more-nav-sheet-head h3 {
  margin: 0;
  font-size: 18px;
}
.more-nav-sheet-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.more-nav-sheet-item {
  min-height: 74px;
  justify-content: flex-start;
  gap: 10px;
  padding: 11px;
  border: 1px solid rgba(8, 124, 112, .13);
  background:
    linear-gradient(145deg, rgba(255, 254, 249, .92), rgba(237, 247, 241, .72));
  color: var(--text);
  box-shadow: 0 10px 22px rgba(27, 45, 36, .06);
  text-align: left;
}
.more-nav-sheet-item.current {
  border-color: rgba(8, 124, 112, .32);
  background:
    linear-gradient(145deg, rgba(221, 247, 239, .96), rgba(236, 244, 255, .82));
  box-shadow: 0 14px 30px rgba(8, 124, 112, .12), 0 0 0 1px rgba(255, 255, 255, .74) inset;
}
.more-nav-sheet-item svg {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  color: var(--teal);
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.more-nav-sheet-item span,
.more-nav-sheet-item b,
.more-nav-sheet-item small {
  display: block;
  min-width: 0;
}
.more-nav-sheet-item b {
  color: var(--teal-ink);
  font-size: 13px;
  line-height: 1.15;
}
.more-nav-sheet-item small {
  margin-top: 3px;
  color: var(--dim);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.18;
}
.quick-add-overlay {
  position: fixed;
  inset: 0;
  z-index: 40;
  display: grid;
  align-items: end;
  padding: 16px 14px calc(96px + env(safe-area-inset-bottom));
  background: rgba(17, 30, 25, .44);
  backdrop-filter: blur(12px);
}
.quick-add-sheet {
  width: min(560px, 100%);
  max-height: min(720px, calc(100vh - 118px - env(safe-area-inset-bottom)));
  margin: 0 auto;
  padding: 16px;
  border: 1px solid rgba(232, 239, 230, .92);
  border-radius: 18px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(240, 251, 246, .94)),
    var(--surface);
  box-shadow: 0 24px 80px rgba(12, 27, 21, .32);
  overflow: auto;
  scrollbar-width: none;
}
.quick-add-sheet::-webkit-scrollbar {
  width: 0;
  height: 0;
}
.quick-add-sheet.photo-flow,
.quick-add-sheet.workout-flow,
.quick-add-sheet.feel-flow,
.quick-add-sheet.voice-flow,
.quick-add-sheet.impact-flow {
  background:
    radial-gradient(circle at 12% 0%, rgba(142, 229, 199, .28), transparent 28%),
    radial-gradient(circle at 96% 6%, rgba(49, 87, 213, .14), transparent 32%),
    linear-gradient(145deg, rgba(255, 255, 255, .985), rgba(240, 251, 246, .94)),
    var(--surface);
}
.quick-add-photo-stage {
  min-height: 210px;
  display: grid;
  place-items: center;
  overflow: hidden;
  margin-top: 14px;
  border: 1px solid rgba(8, 124, 112, .14);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(221, 247, 239, .72), rgba(255, 254, 249, .8)),
    var(--surface);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72), 0 12px 26px rgba(7, 74, 65, .07);
}
.quick-add-photo-stage img {
  display: none;
  width: 100%;
  max-height: 290px;
  object-fit: cover;
}
.quick-add-photo-stage > div {
  display: grid;
  justify-items: center;
  gap: 8px;
  color: var(--teal-ink);
  font-weight: 900;
  text-align: center;
}
.quick-add-photo-stage svg {
  width: 32px;
  height: 32px;
  color: var(--teal);
}
.quick-add-workout-estimator {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}
.quick-workout-form {
  margin-top: 12px;
}
.quick-repeat-list.compact {
  padding: 10px;
  border: 1px solid rgba(8, 124, 112, .12);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .72);
}
.quick-repeat-item.compact {
  width: 100%;
  min-height: 48px;
  color: var(--text);
  text-align: left;
}
.quick-repeat-item.compact small {
  display: block;
  margin-top: 2px;
  color: var(--dim);
  font-size: 11px;
  font-weight: 800;
}
.quick-feel-grid {
  margin: 12px 0;
}
.quick-add-head,
.log-command-head,
.log-section-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 14px;
}
.quick-add-head h3,
.log-command-head h3,
.log-section-head h3 {
  margin: 2px 0 0;
}
.quick-add-options,
.log-action-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.quick-add-option,
.log-action-card {
  justify-content: flex-start;
  min-height: 86px;
  padding: 14px;
  gap: 12px;
  border: 1px solid rgba(8, 124, 112, .13);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, .78);
  color: var(--text);
  text-align: left;
  box-shadow:
    0 12px 26px rgba(27, 45, 36, .055),
    0 1px 0 rgba(255, 255, 255, .76) inset;
}
.log-action-card:hover {
  border-color: rgba(8, 124, 112, .28);
  box-shadow:
    0 18px 36px rgba(7, 74, 65, .11),
    0 1px 0 rgba(255, 255, 255, .84) inset;
}
.quick-add-option svg,
.log-action-card svg {
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
}
.quick-add-option span,
.log-action-card span {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.quick-add-option b,
.log-action-card b {
  color: var(--surface-ink);
}
.quick-add-option small,
.log-action-card small {
  color: var(--dim);
  font-size: 12px;
  line-height: 1.25;
}
.quick-add-option.meal,
.log-action-card.meal { background: linear-gradient(135deg, rgba(223, 245, 236, .9), rgba(255, 255, 255, .82)); }
.quick-add-option.voice {
  grid-column: 1 / -1;
  min-height: 92px;
  border-color: rgba(49, 87, 213, .2);
  background:
    radial-gradient(circle at 96% 10%, rgba(49, 87, 213, .18), transparent 32%),
    linear-gradient(135deg, rgba(232, 253, 246, .95), rgba(235, 245, 255, .9), rgba(255, 255, 255, .84));
}
.quick-add-option.voice svg {
  color: var(--blue);
}
.quick-add-option.supplement,
.log-action-card.supplement { background: linear-gradient(135deg, rgba(236, 244, 255, .95), rgba(255, 255, 255, .84)); }
.quick-add-option.workout,
.log-action-card.workout { background: linear-gradient(135deg, rgba(255, 240, 230, .92), rgba(255, 255, 255, .84)); }
.quick-add-option.feel,
.log-action-card.feel { background: linear-gradient(135deg, rgba(250, 228, 237, .85), rgba(255, 255, 255, .84)); }
.quick-add-voice-panel {
  display: grid;
  gap: 9px;
  margin-top: 10px;
}
.quick-add-voice-panel .voice-agent-stage {
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 10px;
  margin-top: 0;
  padding: 10px;
  background: rgba(255, 255, 255, .82);
}
.quick-add-voice-panel .voice-orb {
  width: 46px;
  height: 46px;
}
.quick-add-voice-panel .voice-orb .i {
  width: 21px;
  height: 21px;
}
.quick-add-voice-panel .voice-agent-stage b {
  font-size: 15px;
}
.quick-add-voice-panel .voice-agent-stage .meta {
  margin-top: 2px;
  line-height: 1.25;
}
.quick-add-voice-panel .voice-agent-actions {
  justify-content: stretch;
  margin-top: 0;
}
.quick-add-voice-panel .voice-mic-button {
  flex: 1 1 100%;
  min-height: 52px;
}
.quick-add-voice-panel .voice-agent-log {
  margin-top: 0;
  max-height: 74px;
}
.quick-add-voice-panel .voice-agent-log span {
  padding: 7px 9px;
  font-size: 11px;
}
.quick-impact-card {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}
.quick-impact-logged {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  gap: 11px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(15, 118, 110, .16);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .86), rgba(223, 245, 236, .72));
}
.quick-impact-mark {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, var(--teal), var(--blue));
  box-shadow: 0 14px 28px rgba(15, 118, 110, .18);
}
.quick-impact-logged h3,
.quick-impact-next h4 {
  margin: 1px 0 0;
}
.quick-impact-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.quick-impact-stats span {
  min-height: 58px;
  display: grid;
  align-content: center;
  gap: 2px;
  padding: 10px;
  border: 1px solid rgba(8, 124, 112, .13);
  border-radius: 14px;
  background: rgba(255, 254, 249, .8);
}
.quick-impact-stats b {
  color: var(--teal-ink);
  font-size: 18px;
  line-height: 1.05;
}
.quick-impact-stats small {
  color: var(--dim);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.quick-impact-change {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(49, 87, 213, .16);
  border-left: 4px solid var(--blue);
  border-radius: var(--radius);
  background: linear-gradient(135deg, rgba(236, 244, 255, .84), rgba(255, 255, 255, .8));
}
.quick-impact-change > span {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: var(--blue);
}
.quick-impact-change b,
.quick-impact-change small {
  display: block;
}
.quick-impact-change b {
  color: var(--surface-ink);
  font-size: 13px;
  line-height: 1.3;
}
.quick-impact-change small {
  margin-top: 3px;
  color: var(--dim);
  font-size: 11px;
  line-height: 1.3;
}
.quick-impact-section {
  padding: 11px;
  border: 1px solid rgba(8, 124, 112, .12);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, .62);
}
.quick-impact-pantry {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  padding: 10px 11px;
  border-left: 3px solid var(--teal);
  background: rgba(221, 247, 239, .56);
}
.quick-impact-pantry > .i {
  width: 20px;
  height: 20px;
  color: var(--teal);
}
.quick-impact-pantry b,
.quick-impact-pantry small {
  display: block;
}
.quick-impact-pantry b {
  color: var(--surface-ink);
  font-size: 13px;
}
.quick-impact-pantry small {
  margin-top: 2px;
  color: var(--dim);
  font-size: 11px;
  line-height: 1.3;
}
.quick-impact-next {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
}
.quick-impact-next > [data-impact-recipe] { grid-column: 1 / -1; justify-self: start; min-height: 44px; }
.quick-impact-note {
  padding: 0 2px;
}
.quick-impact-actions {
  gap: 8px;
}

.log-hub-card {
  border-color: rgba(8, 124, 112, .22);
  background:
    linear-gradient(132deg, rgba(255, 254, 249, .98), rgba(237, 248, 243, .96) 58%, rgba(238, 241, 255, .72)),
    var(--surface);
  box-shadow: var(--shadow-soft);
  scroll-margin-top: 84px;
}
.log-hub-head,
.log-panel-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
}
.log-hub-head .meta,
.log-panel-head .meta {
  max-width: 49rem;
  margin: 4px 0 0;
}
.log-view-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-top: 15px;
  padding: 6px;
  border: 1px solid rgba(8, 124, 112, .16);
  border-radius: var(--radius);
  background: rgba(225, 235, 227, .62);
}
.log-view-tab {
  min-height: 62px;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  justify-content: stretch;
  padding: 9px 11px;
  border: 1px solid transparent;
  color: var(--dim);
  background: transparent;
  box-shadow: none;
  text-align: left;
}
.log-view-tab:hover {
  transform: none;
  border-color: rgba(8, 124, 112, .16);
  background: rgba(255, 254, 249, .66);
  box-shadow: none;
}
.log-view-tab.active {
  border-color: rgba(8, 124, 112, .26);
  color: var(--teal-ink);
  background: rgba(255, 254, 249, .98);
  box-shadow: 0 8px 20px rgba(27, 45, 36, .08);
}
.log-view-tab > .i {
  width: 21px;
  height: 21px;
  justify-self: center;
}
.log-view-tab span,
.log-view-tab b,
.log-view-tab small {
  display: block;
  min-width: 0;
}
.log-view-tab b {
  color: inherit;
  font-size: 13px;
  line-height: 1.2;
}
.log-view-tab small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 750;
  line-height: 1.2;
}
.log-view-tab em {
  min-width: 24px;
  min-height: 24px;
  display: grid;
  place-items: center;
  padding: 3px 6px;
  border-radius: 999px;
  color: var(--teal-ink);
  background: var(--mint);
  font-size: 10px;
  font-style: normal;
  font-weight: 950;
}
.log-view-tab[data-log-view="review"] em {
  color: #8d1748;
  background: var(--berry-soft);
}
.log-view-panel {
  margin-top: 18px;
  scroll-margin-top: 84px;
}
.log-view-panel[hidden] {
  display: none !important;
}
.log-panel-head {
  margin: 0 3px 10px;
}
.log-panel-head h3 {
  margin: 0;
  font-size: 20px;
  line-height: 1.2;
}
.log-panel-head .eyebrow {
  margin-bottom: 3px;
}
.log-add-panel-head {
  padding-bottom: 3px;
  border-bottom: 1px solid rgba(8, 124, 112, .12);
}
.log-empty-card {
  box-shadow: var(--shadow-soft);
}
.log-empty-timeline {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 13px;
  align-items: center;
}
.log-empty-timeline > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--teal);
  background: var(--mint);
}
.log-empty-timeline h3 {
  margin: 0;
}
.log-empty-timeline p {
  margin: 3px 0 0;
}
.log-data-quality {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  padding: 10px 11px;
  border: 1px solid rgba(217, 119, 6, .2);
  border-radius: var(--radius);
  background: rgba(255, 248, 225, .76);
}
.log-data-quality-icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #b45309;
}
.log-data-quality b,
.log-data-quality small {
  display: block;
}
.log-data-quality b {
  color: var(--surface-ink);
  font-size: 13px;
}
.log-data-quality small {
  margin-top: 2px;
  color: var(--dim);
  font-size: 11px;
  font-weight: 750;
  overflow-wrap: anywhere;
}
.proof-snapshot-card {
  border-color: rgba(49, 87, 213, .2);
  background:
    linear-gradient(132deg, rgba(255, 254, 249, .98), rgba(221, 247, 239, .68) 48%, rgba(234, 238, 255, .52));
}
.proof-snapshot-head .direction {
  flex: 0 0 auto;
}
.proof-snapshot-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  margin: 14px 0 12px;
  border: 1px solid rgba(8, 124, 112, .16);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .78);
  box-shadow: 0 14px 30px rgba(27, 45, 36, .06);
}
.proof-snapshot-grid span {
  min-width: 0;
  padding: 12px 14px;
  border-left: 1px solid rgba(8, 124, 112, .12);
}
.proof-snapshot-grid span:first-child {
  border-left: 0;
}
.proof-snapshot-grid small,
.proof-snapshot-grid b,
.proof-snapshot-grid em {
  display: block;
  min-width: 0;
}
.proof-snapshot-grid small {
  color: var(--muted);
  font-size: 9px;
  font-weight: 950;
  text-transform: uppercase;
}
.proof-snapshot-grid b {
  margin-top: 3px;
  color: var(--teal-ink);
  font-size: 23px;
  line-height: 1;
}
.proof-snapshot-grid em {
  margin-top: 5px;
  color: var(--dim);
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  overflow-wrap: anywhere;
}
.proof-snapshot-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.proof-snapshot-foot > p {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  max-width: 39rem;
  margin: 0;
  color: var(--dim);
  font-size: 11px;
  font-weight: 750;
}
.proof-snapshot-foot > p .i {
  flex: 0 0 auto;
  color: var(--blue);
}
.proof-snapshot-foot .home-actions {
  flex: 0 0 auto;
  margin: 0;
}
.review-queue-shell {
  margin: 14px 0;
  scroll-margin-top: 88px;
}
.review-queue-card {
  border-color: rgba(8, 124, 112, .2);
  background:
    linear-gradient(126deg, rgba(255, 254, 249, .98), rgba(239, 249, 245, .94) 57%, rgba(250, 228, 236, .28));
}
.review-queue-head {
  align-items: center;
}
.review-summary-pill {
  flex: 0 0 auto;
  max-width: 190px;
  border: 1px solid rgba(8, 124, 112, .18);
  border-radius: 999px;
  padding: 6px 10px;
  background: rgba(221, 247, 239, .86);
  color: var(--teal-ink);
  font-size: 10px;
  font-weight: 900;
  line-height: 1.15;
  text-align: center;
}
.review-summary-pill.attention {
  border-color: rgba(187, 36, 94, .2);
  background: rgba(250, 228, 236, .86);
  color: #8d1748;
}
.review-queue-list {
  margin-top: 12px;
  border-top: 1px solid rgba(8, 124, 112, .14);
}
.review-queue-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px 2px;
  border-bottom: 1px solid rgba(8, 124, 112, .14);
  transition: opacity .16s ease, transform .16s ease;
}
.review-queue-item.deleting {
  opacity: .45;
  transform: translateX(6px);
}
.review-queue-item-main {
  min-width: 0;
}
.review-item-title {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 9px;
  align-items: start;
}
.review-item-title h4,
.review-item-title p,
.review-item-detail {
  margin: 0;
}
.nutrition-estimate-status {
  width: fit-content;
  max-width: calc(100% - 19px);
  display: inline-grid;
  grid-template-columns: 9px minmax(0, 1fr);
  gap: 7px;
  align-items: center;
  margin: 8px 0 0 19px;
  padding: 7px 9px;
  border: 1px solid rgba(184, 117, 25, .2);
  border-radius: 999px;
  background: rgba(255, 244, 214, .72);
  color: #74440b;
}
.nutrition-estimate-status .nutrition-estimate-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
}
.nutrition-estimate-status b,
.nutrition-estimate-status small {
  display: block;
}
.nutrition-estimate-status b {
  font-size: 10px;
  font-weight: 950;
  line-height: 1.1;
}
.nutrition-estimate-status small {
  margin-top: 2px;
  color: var(--dim);
  font-size: 10px;
  line-height: 1.25;
}
.nutrition-estimate-status.estimating {
  border-color: rgba(49, 87, 213, .2);
  background: rgba(236, 244, 255, .88);
  color: var(--blue);
}
.nutrition-estimate-status.estimating .nutrition-estimate-dot {
  animation: nutrition-estimating-pulse 1s ease-in-out infinite;
}
.nutrition-estimate-status.ready {
  border-color: rgba(8, 124, 112, .2);
  background: rgba(221, 247, 239, .86);
  color: var(--teal-ink);
}
.nutrition-estimate-status.failed {
  border-color: rgba(187, 36, 94, .2);
  background: var(--berry-soft);
  color: var(--berry);
}
.nutrition-estimate-status.compact {
  margin: 8px 0 0;
  padding: 5px 8px;
}
@keyframes nutrition-estimating-pulse {
  50% { opacity: .35; transform: scale(.72); }
}
.review-item-title h4 {
  overflow: hidden;
  color: var(--surface-ink);
  font-size: 15px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.review-item-title p {
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
}
.review-status-dot {
  width: 10px;
  height: 10px;
  margin-top: 3px;
  border-radius: 50%;
  background: var(--blue);
  box-shadow: 0 0 0 4px rgba(49, 87, 213, .12);
}
.review-status-dot.critical {
  background: var(--berry);
  box-shadow: 0 0 0 4px rgba(187, 36, 94, .12);
}
.review-status-dot.high {
  background: var(--amber);
  box-shadow: 0 0 0 4px rgba(184, 117, 25, .14);
}
.review-issue-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 8px 0 0 19px;
}
.review-issue-badge {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  border-radius: 999px;
  padding: 4px 8px;
  background: rgba(234, 238, 255, .78);
  color: #243776;
  font-size: 9px;
  font-weight: 900;
}
.review-issue-badge.critical {
  background: var(--berry-soft);
  color: #94194b;
}
.review-issue-badge.high {
  background: var(--amber-soft);
  color: #74440b;
}
.review-item-detail {
  margin: 6px 0 0 19px;
  color: var(--dim);
  font-size: 11px;
  line-height: 1.35;
}
.review-item-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  max-width: 330px;
}
.review-queue-shell.compact .review-queue-item {
  grid-template-columns: minmax(0, 1fr) auto;
}
.review-queue-shell.compact .review-item-detail {
  display: none;
}
.review-queue-clear {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-top: 12px;
  padding: 12px 0 2px;
  border-top: 1px solid rgba(8, 124, 112, .14);
}
.review-queue-clear > span {
  width: 36px;
  height: 36px;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  background: var(--mint);
  color: var(--teal);
}
.review-queue-clear.attention > span {
  color: #8a510c;
  background: var(--amber-soft);
}
.review-queue-clear b,
.review-queue-clear p {
  display: block;
  margin: 0;
}
.review-queue-clear b {
  color: var(--surface-ink);
  font-size: 13px;
}
.review-queue-clear p,
.review-more-note {
  margin: 3px 0 0;
  color: var(--dim);
  font-size: 11px;
  font-weight: 750;
}
.review-more-note {
  text-align: right;
}
.review-queue-more {
  margin-top: 10px;
  border: 1px solid rgba(8, 124, 112, .14);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .62);
}
.review-queue-more > summary {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 11px;
  color: var(--teal-ink);
  cursor: pointer;
  font-size: 11px;
  font-weight: 900;
  list-style: none;
}
.review-queue-more > summary::-webkit-details-marker {
  display: none;
}
.review-queue-more > summary span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.review-queue-more > summary b {
  color: var(--muted);
  font-size: 9px;
  text-transform: uppercase;
}
.review-queue-more[open] > summary {
  border-bottom: 1px solid rgba(8, 124, 112, .14);
}
.review-queue-more .review-queue-list {
  margin: 0 11px;
  border-top: 0;
}
.review-queue-footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 10px;
}
.log-quick-add-callout {
  margin-top: 12px;
}
.quick-add-inline {
  white-space: nowrap;
}
.log-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.log-filter-row .active {
  border-color: rgba(15, 118, 110, .3);
  background: rgba(223, 245, 236, .86);
  color: var(--teal-ink);
}
.log-add-workspace {
  display: grid;
  gap: 12px;
  margin-top: 16px;
  scroll-margin-top: 16px;
}
.log-section-head {
  margin-top: 4px;
  padding: 4px 4px 0;
}

.today-capture-card,
.today-meal-card,
.daily-next-card {
  width: min(760px, 100%);
  margin-inline: auto;
}
.today-capture-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
}
.today-capture-copy {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.today-capture-copy h3,
.today-meal-head h3 {
  margin: 2px 0 4px;
}
.today-capture-icon,
.quick-capture-choice-icon {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border-radius: var(--radius);
  background: rgba(15, 118, 110, .1);
  color: var(--teal);
}
.today-capture-icon svg,
.quick-capture-choice-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.today-capture-button {
  min-width: 170px;
}
.today-capture-card .quick-capture-history {
  grid-column: 1 / -1;
}
.today-meal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.today-meal-reason,
.recommendation-one-line {
  margin: 0;
  color: var(--dim);
  font-size: 13px;
  line-height: 1.42;
}
[data-today-stats] {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.today-decision, .today-setup {
  width: min(960px, 100%);
  margin: 0 auto 24px;
  min-width: 0;
}
.today-decision-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0 16px;
}
.today-decision-heading h2 { margin: 3px 0 0; font-size: 24px; letter-spacing: 0; }
.today-meal-modes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 4px;
  background: #e9edef;
  border-radius: 8px;
  gap: 4px;
}
.today-meal-modes button {
  min-height: 44px;
  padding: 8px;
  background: transparent;
  box-shadow: none;
  color: #465256;
  border: 1px solid transparent;
  border-radius: 5px;
  font-size: 13px;
  letter-spacing: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}
.today-meal-modes button[aria-pressed="true"] {
  color: #124b42;
  background: #fff;
  border-color: #cbd5d1;
  box-shadow: 0 1px 3px #142c2010;
}
.today-decision-status { min-height: 20px; margin: 12px 0; font-size: 12px; color: var(--dim); }
.today-decision-context { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 4px 0 12px; }
.today-window-label { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; margin: 0; font-size: 12px; }
.today-window-label select { min-height: 44px; width: 105px; padding: 8px; border-radius: 6px; font-size: 13px; }
.today-pick { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
.today-pick:has(.today-pick-photo) { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
.today-pick-photo { position: relative; margin: 0; overflow: hidden; border-radius: 8px; align-self: start; }
.today-pick-photo img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.today-pick-photo figcaption { padding: 5px 0; font-size: 11px; color: var(--dim); }
.today-pick-main { min-width: 0; align-self: center; }
.today-pick-main h3 { font-size: 26px; line-height: 1.2; letter-spacing: 0; margin: 12px 0; overflow-wrap: anywhere; }
.today-pick-facts { display: flex; gap: 8px 16px; flex-wrap: wrap; color: #705026; font-size: 12px; font-weight: 700; }
.today-pick-ingredients { color: var(--dim); font-size: 13px; line-height: 1.6; margin: 12px 0 18px; overflow-wrap: anywhere; }
.today-pick-actions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 44px; align-items: stretch; gap: 8px; }
.today-pick-actions button { min-height: 44px; border-radius: 6px; padding: 8px; white-space: normal; font-size: 13px; }
.today-pick-actions .icon-btn { width: 44px; height: 44px; }
.today-decision-empty { padding: 24px 0; min-height: 180px; }
.today-setup { border-top: 1px solid #d6dfdc; padding-top: 8px; }
.today-setup > summary { display: flex; align-items: center; gap: 8px; cursor: pointer; min-height: 44px; color: var(--dim); font-weight: 600; }
.today-setup > summary svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; }
.today-decision + .today-capture-card { width: min(960px, 100%); }
#meal-share-preview { line-height: 1.55; font-size: 14px; resize: vertical; min-height: 220px; }
.recipe-log-entry { margin: 12px 0; }
.shared-meal-arrival { padding: 20px 0; margin-bottom: 20px; border-bottom: 1px solid #b9d8cc; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.shared-meal-arrival > div { min-width: 0; }
.shared-meal-arrival h3 { margin: 4px 0; font-size: 20px; overflow-wrap: anywhere; }
.shared-meal-arrival .home-actions { flex-shrink: 0; margin: 0; }
.shared-meal-arrival [data-shared-status] { flex-basis: 100%; margin: 0; font-size: 14px; }
.recipe-log-entry button { min-height: 44px; }
.saved-library { width: min(640px, calc(100vw - 32px)); }
.saved-library #saved-meal-search { width: 100%; min-height: 44px; box-sizing: border-box; }
.saved-library-status { min-height: 20px; margin: 12px 0; color: var(--dim); font-size: 13px; }
.saved-library-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; border-top: 1px solid #d6dfdc; }
.saved-library-log { min-height: 44px; font-size: 13px; white-space: nowrap; }
.saved-library-open { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-height: 72px; padding: 14px 0; text-align: left; white-space: normal; box-shadow: none; }
.saved-library .saved-library-open { background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.saved-library-open span { min-width: 0; }
.saved-library-open strong { display: block; font-size: 16px; overflow-wrap: anywhere; }
.saved-library-open small { display: block; color: var(--dim); font-size: 12px; font-weight: 400; line-height: 1.5; margin-top: 4px; overflow-wrap: anywhere; }
.saved-library-open svg { flex: 0 0 20px; }
.saved-library-empty { padding: 24px 0; }
@media (max-width: 480px) {
  .saved-library-row { grid-template-columns: minmax(0, 1fr); gap: 0; padding-bottom: 12px; }
  .saved-library-log { justify-self: end; }
}
.recipe-log-name { margin: 0 0 8px; font-size: 20px; letter-spacing: 0; overflow-wrap: anywhere; }
.recipe-log-ingredients { margin: 0 0 18px; font-size: 13px; color: var(--dim); line-height: 1.5; }
.recipe-log-fields, .recipe-nutrient-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.recipe-log-fields > div, .recipe-nutrient-fields > div { min-width: 0; }
.recipe-log-fields input, .recipe-nutrient-fields input { box-sizing: border-box; min-width: 0; max-width: 100%; width: 100%; min-height: 44px; border-radius: 6px; }
.recipe-log-fields label, .recipe-nutrient-fields label { font-size: 12px; line-height: 1.5; letter-spacing: 0; }
.recipe-nutrient-fields { padding: 8px 0 16px; }
.recipe-log-totals { margin: 16px 0; }
.recipe-log-totals .metrics-row.compact { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.recipe-log-totals .metric { min-width: 0; padding: 8px; border-radius: 6px; box-shadow: none; }
.recipe-log-totals .metric span { font-size: 10px; letter-spacing: 0; overflow-wrap: anywhere; }
.recipe-log-totals .metric strong { font-size: 16px; line-height: 1.3; letter-spacing: 0; }
@media (max-width: 360px) {
  .recipe-log-totals .metrics-row.compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.recipe-log-sheet .home-actions button { min-height: 44px; border-radius: 6px; white-space: normal; }
.recipe-log-status { min-height: 36px; font-size: 13px; line-height: 1.5; color: var(--dim); }
.recipe-log-sheet [data-recipe-log-reopen][hidden] { display: none; }
@media (max-width: 420px) {
  .recipe-log-fields { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  body[data-current-tab="home"] .screen-head { flex-direction: row; align-items: center; gap: 10px; margin: 0 0 14px; }
  body[data-current-tab="home"] .screen-head .eyebrow { display: none; }
  body[data-current-tab="home"] .screen-head h2 { font-size: 24px; }
  body[data-current-tab="home"] .screen-head .stat-strip { gap: 4px; }
  body[data-current-tab="home"] .screen-head .chip { font-size: 10px; padding: 5px 7px; }
  .today-pick:has(.today-pick-photo) { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .today-pick:has(.today-pick-photo) .today-pick-main { grid-row: 1; }
  .today-pick:has(.today-pick-photo) .today-pick-photo { grid-row: 2; }
  .today-pick-photo img { aspect-ratio: 2 / 1; }
  .today-decision-heading h2 { font-size: 22px; }
  .today-pick-main h3 { font-size: 23px; }
  .today-pick-actions { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 44px; }
}
.recommendation-details {
  margin-top: 12px;
  border-top: 1px solid rgba(8, 124, 112, .14);
}
.recommendation-details > summary {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 42px;
  color: var(--teal-ink);
  cursor: pointer;
  font-size: 12px;
  font-weight: 900;
  list-style: none;
}
.recommendation-details > summary::-webkit-details-marker {
  display: none;
}
.recommendation-details > summary svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}
.recommendation-details-body {
  display: grid;
  gap: 10px;
  padding: 0 0 12px;
}
.recommendation-details-body > p {
  margin: 0;
  color: var(--dim);
  font-size: 12px;
  line-height: 1.45;
}
.quick-log-editor-fold .quick-log-editor {
  margin: 0 0 10px;
}
.quick-capture-composer {
  display: grid;
  gap: 9px;
}
.quick-capture-composer textarea {
  width: 100%;
  min-height: 92px;
  resize: vertical;
}
.quick-capture-actions {
  display: grid;
  grid-template-columns: auto auto minmax(120px, 1fr);
  gap: 8px;
}
.quick-capture-photo-preview {
  width: 100%;
  max-height: 220px;
  object-fit: cover;
  border-radius: var(--radius);
  border: 1px solid rgba(8, 124, 112, .15);
}
.quick-capture-choice {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(8, 124, 112, .17);
  border-radius: var(--radius);
  background: rgba(232, 248, 241, .72);
}
.quick-capture-choice small,
.quick-capture-choice h4,
.quick-capture-choice p,
.quick-capture-choice em {
  display: block;
  margin: 0;
}
.quick-capture-choice small,
.quick-capture-choice em {
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 850;
}
.quick-capture-choice h4 {
  margin: 2px 0 3px;
  font-size: 15px;
}
.quick-capture-choice p {
  color: var(--dim);
  font-size: 11px;
  line-height: 1.35;
}
.quick-capture-manual,
.quick-capture-more {
  margin-top: 10px;
  border-top: 1px solid rgba(8, 124, 112, .12);
}
.quick-capture-manual > summary,
.quick-capture-more > summary {
  padding: 10px 0;
  color: var(--muted);
  cursor: pointer;
  font-size: 11px;
  font-weight: 850;
}
.quick-capture-manual-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}
.quick-capture-history {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.quick-capture-history.compact {
  margin-top: 0;
}
.quick-capture-history-item {
  justify-content: flex-start;
  min-width: 0;
  text-align: left;
}
.quick-capture-history-item span,
.quick-capture-history-item b,
.quick-capture-history-item small {
  display: block;
  min-width: 0;
}
.quick-capture-history-item b,
.quick-capture-history-item small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.quick-capture-history-item small {
  color: var(--muted);
  font-size: 9px;
}
.quick-supplement-text-form {
  display: grid;
  grid-template-columns: 1.3fr 1fr .7fr .6fr;
  gap: 9px;
}
.quick-supplement-text-form > div {
  min-width: 0;
}
.profile-tools-card {
  margin-top: 12px;
}
.profile-tools-head h3 {
  margin: 2px 0 4px;
}
.profile-tools-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.profile-tool-link {
  min-height: 66px;
  justify-content: flex-start;
  gap: 9px;
  padding: 10px;
  background: rgba(255, 254, 249, .72);
  color: var(--text);
  text-align: left;
}
.profile-tool-link > svg {
  flex: 0 0 auto;
  color: var(--teal);
}
.profile-tool-link span,
.profile-tool-link b,
.profile-tool-link small {
  display: block;
  min-width: 0;
}
.profile-tool-link small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.25;
}
.simplified-recommendation .command-meal-visual {
  margin-top: 12px;
}
.plan-featured-meal {
  padding: 0 0 20px;
  min-width: 0;
}
.plan-featured-meal h3 {
  margin: 8px 0;
  font-size: 24px;
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.plan-prep { margin: 8px 0; }
.plan-meal-photo {
  display: block;
  width: 100%;
  max-width: 560px;
  height: 180px;
  object-fit: contain;
  object-position: left center;
  margin: 12px 0;
}
.plan-featured-meal > .home-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 360px;
  gap: 8px;
}
.plan-featured-meal > .home-actions > button {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 8px;
  font-size: 14px;
}
.plan-featured-meal > .home-actions > button:only-child { grid-column: 1 / -1; }
.plan-featured-meal .home-actions > button { min-height: 44px; }
@media (max-width: 620px) {
  .plan-meal-photo { height: 160px; }
}
.plan-options-heading { margin: 20px 0 12px; }
.plan-nutrition {
  margin: 20px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.plan-nutrition > summary {
  padding: 14px 0;
  min-height: 44px;
  font-weight: 700;
  cursor: pointer;
}
.plan-nutrition-body { padding-bottom: 16px; }

@media (max-width: 680px) {
  .today-capture-card {
    grid-template-columns: 1fr;
  }
  .today-capture-button {
    width: 100%;
  }
  .quick-supplement-text-form,
  .profile-tools-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .review-before-save {
    grid-template-columns: 1fr;
  }
  .proof-snapshot-foot {
    display: grid;
    grid-template-columns: 1fr;
  }
  .proof-snapshot-foot .home-actions {
    width: 100%;
  }
  .review-queue-item,
  .review-queue-shell.compact .review-queue-item {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .review-item-actions {
    max-width: none;
    justify-content: flex-start;
    padding-left: 19px;
  }
  .review-before-save-signals span:first-child {
    border-left: 0;
  }
}

@media (max-width: 390px) {
  .quick-capture-actions,
  .quick-capture-choice,
  .quick-capture-manual-grid,
  .quick-capture-history,
  .quick-supplement-text-form,
  .profile-tools-grid {
    grid-template-columns: 1fr;
  }
  .quick-capture-choice > button {
    width: 100%;
  }
  .quick-add-options,
  .log-action-grid {
    grid-template-columns: 1fr;
  }
  .quick-impact-logged,
  .quick-impact-next {
    grid-template-columns: 1fr;
  }
  .quick-impact-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .review-before-save,
  .log-data-quality {
    grid-template-columns: 1fr;
  }
  .proof-snapshot-grid {
    grid-template-columns: 1fr;
  }
  .proof-snapshot-grid span {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 3px 10px;
    border-top: 1px solid rgba(8, 124, 112, .12);
    border-left: 0;
  }
  .proof-snapshot-grid span:first-child {
    border-top: 0;
  }
  .proof-snapshot-grid b {
    grid-row: 1 / span 2;
    grid-column: 2;
    align-self: center;
  }
  .review-queue-head {
    align-items: flex-start;
  }
  .review-summary-pill {
    max-width: 100%;
  }
  .review-item-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-left: 0;
  }
  .review-item-actions button {
    width: 100%;
  }
  .review-before-save-signals {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .review-before-save-signals span:first-child {
    border-left: 0;
  }
  .log-data-quality button {
    width: 100%;
  }
  .tab {
    font-size: 10px;
  }
}

@media (min-width: 760px) {
  .view { padding: 24px 28px 28px 116px; }
  .topbar { padding-left: 116px; padding-right: 28px; }
  .tabbar {
    top: 0;
    bottom: 0;
    right: auto;
    width: 88px;
    display: grid;
    grid-template-columns: 1fr;
    overflow-x: hidden;
    overflow-y: auto;
    align-content: start;
    -ms-overflow-style: none;
    padding: 84px 10px 104px;
    border-top: 0;
    border-right: 1px solid rgba(255, 255, 255, .1);
  }
  .tab[data-nav-scope="desktop"]:not([data-nav-tier="secondary"]) { display: flex; }
  .tabbar.more-open .tab[data-nav-tier="secondary"] { display: flex; }
  .tab { min-height: 58px; }
  .tab svg {
    width: 20px;
    height: 20px;
  }
  .quick-add-fab {
    left: 112px;
    bottom: 22px;
    transform: translateX(0);
  }
  .quick-add-fab:hover {
    transform: translateY(-2px);
  }
  .quick-add-overlay {
    align-items: center;
    padding: 20px 20px 20px 116px;
  }
  .profile-section-tabs {
    grid-auto-flow: initial;
    grid-auto-columns: initial;
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .capture-grid {
    grid-template-columns: minmax(0, 1fr) 190px;
    align-items: stretch;
  }
  .capture-actions {
    grid-template-columns: 1fr;
    align-content: start;
  }
  .slider-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .journal-day-label {
    width: min(820px, 100%);
    margin: 0 auto;
  }
  .journal-day-items::before {
    left: 50%;
    transform: translateX(-50%);
  }
  .journal-timeline-item {
    grid-template-columns: minmax(0, 1fr) 96px minmax(0, 1fr);
    gap: 18px;
  }
  .timeline-time {
    grid-column: 2;
    min-height: 58px;
    padding-top: 34px;
    padding-right: 0;
    text-align: center;
  }
  .timeline-time::after {
    top: 9px;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }
  .timeline-meal-card {
    grid-column: 3;
  }
  .journal-timeline-item:nth-child(even) .timeline-meal-card {
    grid-column: 1;
    grid-row: 1;
  }
  .journal-timeline-item:nth-child(even) .timeline-time {
    grid-column: 2;
    grid-row: 1;
  }
}

@media (max-width: 759px) {
  .nav-more-open .view {
    padding-bottom: calc(222px + env(safe-area-inset-bottom));
  }
  .nav-more-open .quick-add-fab {
    bottom: calc(204px + env(safe-area-inset-bottom));
  }
  .onboarding-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .first-week-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-health-grid { grid-template-columns: 1fr; }
  .food-research-hero,
  .food-research-toolbar,
  .food-research-nutrients,
  .food-research-practical,
  .influence-action-grid {
    grid-template-columns: 1fr;
  }
  .influence-claims-head,
  .community-list-head,
  .feedback-list-head {
    display: grid;
  }
  .influence-claims-head .count-pill,
  .community-list-head .count-pill,
  .feedback-list-head .count-pill {
    justify-self: start;
  }
  .profile-command-story,
  .profile-power-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .profile-status-head {
    display: grid;
    gap: 8px;
  }
  .profile-status-head .count-pill {
    justify-self: start;
  }
  .profile-status-rail {
    grid-auto-flow: column;
    grid-auto-columns: minmax(132px, 1fr);
    grid-template-columns: none;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
  }
  .profile-status-rail::-webkit-scrollbar {
    display: none;
  }
  .profile-setup-shell {
    grid-template-columns: 1fr;
  }
  .scorecard-layout { grid-template-columns: 1fr; }
  .scorecard-source b { max-width: none; text-align: left; }
  .meal-detail-overlay,
  .service-status-overlay {
    place-items: end center;
    padding: 12px;
  }
  .meal-detail-card {
    max-height: calc(100vh - 24px);
  }
  .service-status-card {
    max-height: calc(100vh - 24px);
  }
  .meal-detail-grid { grid-template-columns: 1fr; }
  .inventory-use-row { grid-template-columns: 1fr; }
  .inventory-use-controls { grid-template-columns: minmax(0, 1fr) auto; }
  .journal-missed-grid { grid-template-columns: 1fr; }
  .diet-chip-grid { grid-template-columns: 1fr; }
  .insights-chart-grid { grid-template-columns: 1fr; }
  .feel-trend-stats { grid-template-columns: 1fr; }
  .feel-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .chart-story-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .chart-kpi-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .coverage-hero { grid-template-columns: auto minmax(0, 1fr); }
  .log-command-card,
  .profile-command-card,
  .kitchen-command-card,
  .move-command-card,
  .feel-command-card,
  .research-command-card,
  .influence-command-card,
  .community-command-card,
  .ask-command-card,
  .feedback-command-card {
    padding: 16px;
  }
  .log-command-card .chart-card-head .meta,
  .profile-command-card .chart-card-head .meta,
  .kitchen-command-card .chart-card-head .meta,
  .move-command-card .chart-card-head .meta,
  .feel-command-card .chart-card-head .meta,
  .research-command-card .chart-card-head .meta,
  .influence-command-card .chart-card-head .meta,
  .community-command-card .chart-card-head .meta,
  .ask-command-card .chart-card-head .meta,
  .feedback-command-card .chart-card-head .meta {
    display: none;
  }
  .move-command-actions button,
  .feel-command-actions button,
  .food-research-command-actions button,
  .influence-command-actions button,
  .community-command-actions button,
  .ask-command-actions button,
  .feedback-command-actions button {
    flex: 1 1 130px;
  }
  .secondary-section-rail-card {
    top: calc(62px + env(safe-area-inset-top));
    padding: 8px;
  }
  .secondary-section-rail {
    grid-auto-columns: minmax(122px, 1fr);
  }
  .insights-section-rail .secondary-section-rail {
    grid-auto-flow: initial;
    grid-auto-columns: initial;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: visible;
  }
  .secondary-section-chip {
    min-height: 50px;
  }
  .log-action-card {
    min-height: 74px;
    padding: 11px;
  }
  .home-shortcut-launch,
  .log-quick-add-callout {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .home-shortcut-launch em,
  .log-quick-add-callout button {
    grid-column: 2;
    justify-self: start;
  }
  .log-filter-row {
    margin-top: 10px;
  }
}

@media (min-width: 560px) and (max-width: 759px) {
  .profile-section-tabs {
    grid-auto-flow: initial;
    grid-auto-columns: initial;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: visible;
  }
  .profile-nav-card {
    position: static;
  }
}

@media (max-width: 430px) {
  .screen-head {
    display: block;
  }
  .log-hub-card {
    padding: 14px;
  }
  .log-hub-head,
  .log-panel-head,
  .log-empty-timeline {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .log-hub-head > button,
  .log-add-panel-head > button,
  .log-empty-timeline > button {
    width: 100%;
  }
  .log-view-tabs {
    gap: 4px;
    margin-top: 12px;
    padding: 4px;
  }
  .log-view-tab {
    min-height: 50px;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 4px;
    padding: 7px 6px;
  }
  .log-view-tab > .i,
  .log-view-tab small {
    display: none;
  }
  .log-view-tab b {
    font-size: 11px;
  }
  .log-view-tab em {
    min-width: 20px;
    min-height: 20px;
    padding: 2px 4px;
    font-size: 9px;
  }
  .log-panel-head .count-pill {
    justify-self: start;
  }
  .log-filter-row {
    flex-wrap: nowrap;
    margin: 0 -2px 12px;
    padding: 2px 2px 6px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .log-filter-row::-webkit-scrollbar {
    display: none;
  }
  .log-filter-row button {
    flex: 0 0 auto;
  }
  .log-empty-timeline > span {
    display: none;
  }
  .journal-day-items::before {
    left: 57px;
  }
  .journal-timeline-item {
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 8px;
  }
  .timeline-time {
    padding-right: 16px;
    font-size: 10px;
  }
  .timeline-time::after {
    left: 52px;
  }
  .timeline-time b {
    font-size: 11px;
  }
  .timeline-entry-details > summary {
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 8px;
    min-height: 66px;
    padding: 10px 26px 10px 10px;
  }
  .timeline-entry-details > summary > .cal {
    grid-column: 2;
    justify-self: start;
  }
  .timeline-entry-details > summary::after {
    right: 9px;
  }
  .timeline-thumb {
    width: 46px;
  }
  .timeline-entry-title b {
    font-size: 14px;
  }
  .timeline-entry-title small {
    font-size: 11px;
  }
  .timeline-entry-expanded {
    padding: 0 10px 12px;
  }
  .timeline-meal-card .repeat-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .timeline-meal-card .repeat-actions button,
  .timeline-meal-card .repeat-actions .danger {
    width: 100%;
    margin-left: 0;
  }
  .home-shortcut-head {
    display: grid;
    gap: 8px;
  }
  .home-shortcut-head .count-pill {
    justify-self: start;
  }
  .home-shortcut-grid {
    gap: 7px;
  }
  .home-shortcut {
    min-height: 98px;
    padding: 9px 7px;
    gap: 7px;
  }
  .home-shortcut svg {
    width: 22px;
    height: 22px;
  }
  .home-shortcut b {
    font-size: 12px;
  }
  .home-shortcut small {
    font-size: 9px;
    line-height: 1.18;
  }
  .profile-hero {
    grid-template-columns: 118px minmax(0, 1fr);
    align-items: start;
    gap: 10px;
  }
  .profile-score-panel {
    padding: 8px;
  }
  .profile-score-ring {
    width: 86px;
  }
  .profile-score-ring-value b {
    font-size: 26px;
  }
  .profile-score-ring-value span {
    font-size: 14px;
  }
  .profile-score-caption strong {
    font-size: 12px;
  }
  .profile-score-caption span {
    font-size: 10px;
  }
  .profile-next-action {
    display: grid;
  }
  .profile-next-action button {
    width: 100%;
  }
  .profile-power-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .profile-command-story {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }
  .profile-command-story span {
    min-height: 70px;
    padding: 9px;
  }
  .profile-status-chip {
    min-height: 78px;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 7px;
    padding: 9px;
  }
  .profile-status-chip svg {
    width: 19px;
    height: 19px;
  }
  .profile-status-chip b {
    font-size: 12px;
  }
  .profile-status-chip em {
    font-size: 9px;
  }
  .profile-command-card .chart-card-head h3,
  .profile-setup-head h3 {
    font-size: 21px;
  }
  .profile-setup-head-actions {
    justify-content: flex-start;
  }
  .chart-card-head {
    display: grid;
  }
  .chart-card-head .count-pill {
    justify-self: start;
  }
  .insights-section-head {
    display: grid;
    gap: 8px;
    align-items: start;
  }
  .insights-section-head .count-pill {
    justify-self: start;
  }
  .chart-dashboard-strip {
    grid-template-columns: minmax(108px, .72fr) minmax(0, 1.28fr);
    gap: 8px;
  }
  .chart-lead-stat b {
    font-size: 19px;
  }
  .chart-lead-stat span {
    font-size: 10px;
  }
  .chart-stat-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .chart-stat {
    padding: 9px;
  }
  .chart-stat b {
    font-size: 16px;
  }
  .chart-stat em {
    font-size: 9px;
  }
  .chart-signal-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }
  .chart-signal {
    padding: 7px;
  }
  .chart-signal b {
    font-size: 11px;
    white-space: normal;
  }
  .chart-insight-ribbon {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .chart-insight-ribbon span {
    font-size: 11px;
  }
  .coverage-micro-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .coverage-micro-row .chart-signal b {
    font-size: 15px;
    white-space: nowrap;
  }
  .chart-hero-strip {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 9px;
  }
  .command-meal-visual {
    min-height: 180px;
    aspect-ratio: 1.55 / 1;
  }
  .command-meal-visual-copy {
    padding: 14px;
  }
  .command-meal-visual-copy b {
    font-size: 22px;
  }
  .command-meal-visual-copy span {
    font-size: 10px;
  }
  .chart-hero-strip span {
    display: block;
    padding: 7px;
  }
  .chart-hero-strip b {
    font-size: 14px;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .chart-hero-strip small {
    font-size: 8px;
  }
  .chart-hero-strip em {
    font-size: 9px;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .weekly-outcome-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .weekly-change-groups {
    grid-template-columns: 1fr;
  }
  .chart-story-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .chart-story-row span {
    padding: 8px;
    font-size: 11px;
  }
  .chart-story-row b {
    font-size: 9px;
  }
  .form-guidance-row {
    grid-template-columns: 1fr;
  }
  .form-guidance-row span {
    min-height: 40px;
  }
  .answer-head {
    display: grid;
  }
  .answer-head .count-pill {
    justify-self: start;
  }
  .chart-grid-line text {
    display: none;
  }
  .chart-target-band-label,
  .nutrition-runway-grid text,
  .nutrition-runway-zone-labels text {
    display: none;
  }
  .macro-floating-metric {
    display: none;
  }
  .chart-target text,
  .chart-date-label {
    font-size: 13px;
  }
  .chart-kpi-row {
    grid-template-columns: 1fr 1fr;
  }
  .home-command-card,
  .plan-command-card,
  .log-command-card,
  .kitchen-command-card,
  .move-command-card,
  .feel-command-card,
  .research-command-card,
  .influence-command-card,
  .community-command-card,
  .ask-command-card,
  .feedback-command-card {
    padding: 15px;
  }
  .home-command-card .chart-card-head h3,
  .plan-command-card .chart-card-head h3,
  .log-command-card .chart-card-head h3,
  .kitchen-command-card .chart-card-head h3,
  .move-command-card .chart-card-head h3,
  .feel-command-card .chart-card-head h3,
  .research-command-card .chart-card-head h3,
  .influence-command-card .chart-card-head h3,
  .community-command-card .chart-card-head h3,
  .ask-command-card .chart-card-head h3,
  .feedback-command-card .chart-card-head h3 {
    font-size: 21px;
  }
  .home-command-card .chart-card-head .meta,
  .plan-command-card .chart-card-head .meta,
  .log-command-card .chart-card-head .meta,
  .kitchen-command-card .chart-card-head .meta,
  .move-command-card .chart-card-head .meta,
  .feel-command-card .chart-card-head .meta,
  .research-command-card .chart-card-head .meta,
  .influence-command-card .chart-card-head .meta,
  .community-command-card .chart-card-head .meta,
  .ask-command-card .chart-card-head .meta,
  .feedback-command-card .chart-card-head .meta {
    display: none;
  }
  .home-command-card .premium-command-actions,
  .plan-command-card .command-kpi-row {
    display: none;
  }
  .command-story-row span {
    min-height: 58px;
  }
  .macro-chart-wrap {
    margin-left: -6px;
    margin-right: -6px;
    padding: 8px 4px 4px;
  }
  .coverage-hero {
    grid-template-columns: auto minmax(0, 1fr);
    justify-items: stretch;
    text-align: left;
  }
  .nutrition-overview {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
  }
  .nutrition-status-rail {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
  }
  .nutrition-status-rail .chart-stat {
    padding: 7px 6px;
  }
  .nutrition-status-rail .chart-stat b {
    font-size: 15px;
  }
  .nutrition-status-rail .chart-stat small {
    font-size: 7px;
  }
  .gaps-chart-card .coverage-ring {
    --ring-size: 90px;
  }
  .coverage-ring-wrap {
    width: 94px;
    min-width: 94px;
  }
  .nutrition-board-visual {
    margin-left: -6px;
    margin-right: -6px;
    padding: 8px 2px 3px;
  }
  .nutrition-grid-line text,
  .nutrition-goal-line text {
    display: none;
  }
  .nutrition-bar-value {
    font-size: 13px;
  }
  .nutrition-bar-label {
    font-size: 11px;
  }
  .nutrition-focus-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }
  .nutrition-focus-pill {
    padding: 7px;
  }
  .nutrition-focus-pill b {
    font-size: 10px;
  }
  .nutrition-focus-pill strong {
    font-size: 16px;
  }
  .nutrient-tile-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .nutrient-tile {
    min-height: 68px;
    padding: 8px;
  }
  .nutrient-tile small {
    font-size: 8px;
  }
  .nutrient-tile b {
    font-size: 11px;
  }
  .nutrient-tile strong {
    right: 8px;
    bottom: 7px;
    font-size: 16px;
  }
  .coverage-status-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .plan-decision-grid {
    grid-template-columns: 1fr;
  }
  .suggestion-mode-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .suggestion-mode-btn {
    min-height: 66px;
    padding: 9px;
  }
  .suggestion-control-grid {
    grid-template-columns: 1fr;
  }
  .suggestion-control-grid button {
    width: 100%;
  }
  .created-suggestions-head {
    display: grid;
    gap: 8px;
  }
  .plan-gap-card .row.spread {
    display: grid;
    gap: 8px;
  }
  .plan-gap-card .row.spread button {
    width: 100%;
    justify-self: stretch;
  }
  .gap-chart-row {
    grid-template-columns: minmax(82px, 108px) minmax(0, 1fr) 48px;
    gap: 7px;
  }
  .gap-chart-label {
    grid-column: auto;
  }
  .gap-chart-track {
    grid-column: auto;
  }
  .gap-chart-label b {
    font-size: 12px;
  }
  .gap-chart-label span {
    font-size: 10px;
  }
  .gap-chart-row strong {
    font-size: 12px;
  }
  .gap-chart-row strong small {
    font-size: 7px;
  }
  .result-head {
    align-items: flex-start;
  }
  .confidence-badge {
    min-width: 76px;
  }
  .scorecard-head { display: grid; }
  .coverage-source-split { grid-template-columns: 1fr; }
  .nutrition-score { width: 100%; min-height: 54px; }
  .scorecard-nutrients { grid-template-columns: 1fr; }
  .scorecard-source { display: grid; }
  .recommendation-lens { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .match-explainer { grid-template-columns: 1fr; }
  .meal-detail-overlay,
  .service-status-overlay {
    padding: 8px;
  }
  .meal-detail-card {
    max-height: calc(100vh - 16px);
    padding: 14px;
  }
  .service-status-card {
    max-height: calc(100vh - 16px);
    padding: 14px;
  }
  .meal-detail-head h3 { font-size: 20px; }
  .inventory-use-controls {
    grid-template-columns: minmax(0, 1fr);
  }
  .inventory-use-controls > span {
    margin: -4px 0 0;
  }
  .inventory-use-controls button[data-use-action="some"],
  .inventory-use-controls button[data-use-action="finished"] {
    grid-column: 1 / -1;
  }
  .service-overview,
  .service-row,
  .service-foot {
    display: grid;
    justify-items: stretch;
  }
  .service-row-meta {
    justify-items: start;
  }
  .detail-nutrition-grid { grid-template-columns: 1fr; }
  .detail-why-list li { display: grid; }
  .detail-why-list span { text-align: left; }
  .stat-strip { justify-content: flex-start; margin-top: 10px; }
  .freshness-strip {
    grid-template-columns: 22px minmax(0, 1fr);
  }
  .freshness-strip button {
    grid-column: 2;
    justify-self: start;
  }
  .capture-actions, .capture-actions.two, .inline-form, .recipe-photo-actions {
    grid-template-columns: 1fr;
  }
  .forecast-scenario-head {
    display: grid;
  }
  .forecast-scenario-head .count-pill {
    justify-self: start;
  }
  .what-if-shift-grid {
    grid-template-columns: 1fr;
  }
  .more-section-grid,
  .quick-repeat-item {
    grid-template-columns: 1fr;
  }
  .fast-log-inline > div {
    grid-template-columns: 1fr;
  }
  .more-path-head {
    display: grid;
  }
  .more-path-head button {
    width: 100%;
  }
  .main-path-next {
    grid-template-columns: 1fr;
  }
  .main-path-next button {
    width: 100%;
  }
  .more-path-grid {
    grid-template-columns: 1fr;
  }
  .core-loop-rail,
  .quick-log-flow {
    grid-template-columns: 1fr;
  }
  .first-week-next {
    grid-template-columns: 1fr;
  }
  .first-week-next button {
    width: 100%;
  }
  .quick-repeat-actions {
    justify-content: stretch;
  }
  .quick-repeat-actions button,
  .quick-repeat-item button {
    width: 100%;
  }
  .journal-pagination {
    display: grid;
  }
  .journal-pagination button {
    width: 100%;
  }
  .kitchen-story-row {
    grid-template-columns: 1fr;
  }
  .kitchen-ideas-head {
    display: grid;
  }
  .kitchen-ideas-head .count-pill {
    justify-self: start;
  }
  .kitchen-command-actions button {
    flex: 1 1 140px;
  }
  .kitchen-section-rail-card {
    top: calc(62px + env(safe-area-inset-top));
    padding: 8px;
  }
  .kitchen-section-rail {
    grid-auto-columns: minmax(122px, 1fr);
  }
  .kitchen-section-chip {
    min-height: 50px;
  }
  .favorite-log-chip {
    width: 100%;
  }
  .metrics-row,
  .metrics-row.compact { grid-template-columns: 1fr; }
  .tab { font-size: 10px; }
  .profile-grid, .profile-voice-key-box, .inventory-form, .inventory-scan-grid, .workout-form, .community-form, .household-form, .supplement-form, .supplement-shelf-item, .supplement-label-scan, .supplement-review-nutrients, .supplement-next-row, .backup-schedule-panel { grid-template-columns: 1fr; }
  .supplement-entry-actions { grid-template-columns: 1fr; }
  .restore-drill-note {
    grid-template-columns: 1fr;
  }
  .feedback-form { grid-template-columns: 1fr; }
  .feedback-item { grid-template-columns: 1fr; }
  .feedback-side {
    justify-items: start;
  }
  .feedback-actions {
    justify-content: flex-start;
  }
  .shopping-window-form { grid-template-columns: 1fr; }
  .inventory-item {
    grid-template-columns: minmax(0, 1fr);
  }
  .inventory-item .item-actions,
  .inventory-delete-btn {
    width: 100%;
  }
  .inventory-item .item-actions {
    justify-content: stretch;
    display: grid;
    grid-template-columns: 1fr;
  }
  .inventory-quantity-stepper {
    width: 100%;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
  }
  .inventory-quantity-stepper button {
    min-height: 44px;
  }
  .inventory-quantity-stepper output {
    white-space: normal;
  }
  .shopping-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shopping-form > div:first-child { grid-column: 1 / -1; }
  .shopping-form button { grid-column: 1 / -1; }
  .shopping-impact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inventory-form .wide, .community-form .wide, .household-form .wide { grid-column: auto; }
  .disclosure-row { grid-template-columns: 1fr; }
  .disclosure-row small { text-align: left; }
  .token-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .token-row small {
    grid-column: 1 / -1;
  }
  .household-invite-actions,
  .household-join-row,
  .invite-result,
  .household-invite-row {
    align-items: stretch;
    flex-direction: column;
  }
  .household-invite-actions .count-pill,
  .household-join-row button,
  .invite-result input,
  .household-invite-row button {
    width: 100%;
  }
  .dashboard-grid { grid-template-columns: 1fr; }
  .home-shortcut-grid,
  .home-shortcut-grid[data-count="2"],
  .home-shortcut-grid[data-count="4"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .home-shortcut-grid[data-count="2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .home-shortcut-grid[data-count="4"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .home-shortcut {
    min-height: 104px;
    padding: 11px;
  }
  .onboarding-head { display: grid; }
  .onboarding-steps { grid-template-columns: 1fr; }
  .first-week-steps { grid-template-columns: 1fr; }
  .daily-next-body {
    grid-template-columns: 24px minmax(0, 1fr);
    align-items: start;
  }
  .daily-next-body button {
    grid-column: 2;
    justify-self: start;
    margin-top: 2px;
  }
  .nutrient-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .timeline-row { grid-template-columns: 1fr; }
  .why-meal li { display: grid; }
  .why-meal li span { text-align: left; }
  .nutrition-source-list li { display: grid; }
  .nutrition-source-list li b { text-align: left; }
  .smart-pick { display: grid; }
  .smart-pick .item-actions { justify-content: flex-start; flex-wrap: wrap; }
  .use-soon-item { display: grid; }
  .use-soon-actions {
    justify-content: flex-start;
  }
  .kitchen-guidance {
    grid-template-columns: 1fr;
  }
  .kitchen-guidance .home-actions {
    grid-column: 1;
  }
  .kitchen-answer {
    grid-template-columns: 34px minmax(0, 1fr);
  }
  .kitchen-decision {
    grid-template-columns: 1fr;
  }
  .kitchen-decision > span {
    min-height: 30px;
  }
  .kitchen-answer-actions {
    grid-column: 2;
    justify-content: flex-start;
  }
  .readiness-gate,
  .backup-remote-row {
    grid-template-columns: 12px minmax(0, 1fr);
  }
  .backup-remote-row {
    grid-template-columns: 1fr;
  }
  .readiness-gate > b {
    grid-column: 2;
  }
  .food-edit-head { display: none; }
  .food-edit-row { grid-template-columns: 1fr 1fr 1fr 38px; }
  .ask-answer-decision {
    grid-template-columns: 1fr;
  }
  .ask-answer-evidence-grid {
    grid-template-columns: 1fr;
  }
  .ask-source-details summary,
  .ask-source-list li {
    display: grid;
    justify-items: start;
  }
  .shared-recipe-top {
    display: grid;
  }
  .shared-recipe-fit-pair {
    justify-self: start;
  }
  .shared-recipe-context-row {
    grid-template-columns: 1fr;
  }
  .shared-recipe-details summary {
    display: grid;
    justify-items: start;
  }
}

/* Shared discovery, context, and terminology controls. */
.sr-only {
  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;
}
.find-anything-overlay,
.term-glossary-overlay {
  position: fixed;
  inset: 0;
  z-index: 40;
  display: grid;
  place-items: start center;
  padding: max(9vh, 72px) 16px 16px;
  background: rgba(11, 28, 23, .42);
  backdrop-filter: blur(12px);
}
.find-anything-dialog,
.term-glossary-dialog {
  width: min(680px, 100%);
  max-height: min(720px, calc(100vh - 96px));
  overflow: hidden;
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, .78);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(255, 254, 249, .98), rgba(237, 247, 241, .98));
  box-shadow: 0 34px 90px rgba(4, 39, 34, .28);
}
.find-anything-head {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 40px;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}
.find-anything-head > .i {
  width: 27px;
  height: 27px;
  color: var(--teal);
}
.find-anything-head h3,
.find-anything-head p {
  margin: 0;
}
.find-anything-input-wrap {
  position: relative;
}
.find-anything-input-wrap > .i {
  position: absolute;
  left: 14px;
  top: 50%;
  z-index: 1;
  width: 20px;
  height: 20px;
  color: var(--teal);
  transform: translateY(-50%);
}
.find-anything-input-wrap input {
  min-height: 52px;
  padding-left: 44px;
  font-size: 17px;
}
.find-anything-results {
  display: grid;
  gap: 5px;
  max-height: min(510px, calc(100vh - 220px));
  margin-top: 10px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}
.find-anything-result {
  --busy-fg: var(--teal-ink);
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 18px;
  justify-content: stretch;
  gap: 10px;
  width: 100%;
  min-height: 58px;
  padding: 9px 11px;
  color: var(--text);
  text-align: left;
  background: rgba(255, 254, 249, .72);
  border: 1px solid transparent;
  box-shadow: none;
}
.find-anything-result:hover,
.find-anything-result.active {
  transform: none;
  color: var(--teal-ink);
  background: linear-gradient(100deg, rgba(221, 247, 239, .94), rgba(236, 244, 255, .72));
  border-color: rgba(8, 124, 112, .18);
  box-shadow: 0 10px 24px rgba(27, 45, 36, .08);
}
.find-anything-result > .i {
  width: 22px;
  height: 22px;
  color: var(--teal);
}
.find-anything-result > .i:last-child {
  width: 16px;
  height: 16px;
  opacity: .45;
}
.find-anything-result span {
  display: grid;
  gap: 2px;
}
.find-anything-result b {
  font-size: 14px;
}
.find-anything-result small {
  color: var(--dim);
  font-size: 12px;
  font-weight: 650;
}
.find-anything-empty {
  padding: 24px 14px;
  color: var(--dim);
  text-align: center;
}
.term-glossary-overlay {
  place-items: center;
}
.term-glossary-dialog {
  width: min(480px, 100%);
  overflow: auto;
}
.term-glossary-short {
  margin: 18px 0 8px;
  color: var(--teal-ink);
  font-size: 18px;
  font-weight: 850;
}
.term-trigger {
  cursor: help;
}
.term-trigger.match-badge,
.term-trigger.confidence-badge {
  overflow: visible;
  white-space: normal;
}
.term-trigger.match-badge:hover,
.term-trigger.confidence-badge:hover {
  transform: translateY(-1px);
  filter: none;
  border-color: rgba(8, 124, 112, .28);
  box-shadow: 0 15px 30px rgba(8, 124, 112, .15);
}
.nutrition-score.term-trigger {
  cursor: help;
}
.timeline-workout-card {
  border-color: rgba(49, 87, 213, .18);
}
.timeline-workout-card .timeline-thumb.placeholder {
  color: var(--blue);
  background: rgba(236, 240, 255, .92);
}
.timeline-workout-card .cal {
  color: #2446af;
  background: linear-gradient(180deg, rgba(236, 240, 255, .96), rgba(216, 225, 255, .88));
}
.timeline-feeling-card {
  border-color: rgba(187, 36, 94, .15);
}
.timeline-feeling-card .timeline-thumb.placeholder {
  color: var(--berry);
  background: rgba(250, 228, 236, .88);
}
.timeline-feeling-card .cal {
  color: #8e1d4a;
  background: linear-gradient(180deg, rgba(255, 239, 245, .96), rgba(250, 220, 233, .88));
}
.meal-context-switcher {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  margin: 10px 0 14px;
  padding: 9px 10px 9px 14px;
  border: 1px solid rgba(8, 124, 112, .13);
  border-radius: var(--radius);
  background: rgba(255, 254, 249, .78);
  box-shadow: 0 10px 24px rgba(27, 45, 36, .05);
}
.meal-context-label {
  display: grid;
  min-width: 92px;
}
.meal-context-label small {
  color: var(--dim);
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}
.meal-context-label b {
  color: var(--teal-ink);
  font-size: 14px;
}
.meal-context-options {
  display: flex;
  justify-content: flex-end;
  gap: 5px;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
}
.meal-context-options::-webkit-scrollbar {
  display: none;
}
.meal-context-option {
  flex: 0 0 auto;
  min-height: 34px;
  padding: 6px 10px;
  color: var(--dim);
  font-size: 11px;
  background: transparent;
  border: 1px solid transparent;
  box-shadow: none;
  scroll-margin-top: 100px;
}
.meal-context-mobile { display: none; }
.meal-context-option:hover {
  transform: none;
  box-shadow: none;
  border-color: rgba(8, 124, 112, .18);
}
.meal-context-option.active {
  color: var(--teal-ink);
  background: var(--mint);
  border-color: rgba(8, 124, 112, .18);
  box-shadow: 0 7px 16px rgba(8, 124, 112, .08);
}

@media (max-width: 620px) {
  button {
    min-height: 44px;
  }
  button.sm,
  .top-icon,
  .health-pill,
  .icon-btn,
  .meal-context-option,
  .confidence-badge.trust.compact,
  .term-trigger.match-badge.compact {
    min-height: 44px;
  }
  .top-icon,
  .icon-btn {
    width: 44px;
  }
  .health-pill {
    width: 44px;
    min-width: 44px;
  }
  .find-anything-overlay {
    place-items: end center;
    padding: 8px;
  }
  .find-anything-dialog {
    max-height: calc(100vh - 16px);
    padding: 13px;
  }
  .find-anything-results {
    max-height: calc(100vh - 190px);
  }
  .meal-context-switcher {
    grid-template-columns: 1fr;
    gap: 7px;
  }
  .meal-context-label,
  .meal-context-options {
    display: none;
  }
  .meal-context-mobile {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    min-width: 0;
  }
  .meal-context-mobile > span {
    font-size: 14px;
    color: var(--teal-ink);
    font-weight: 700;
  }
  .meal-context-mobile select {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    font-size: 16px;
    scroll-margin-top: 100px;
  }
  .insights-start-state {
    grid-template-columns: 46px minmax(0, 1fr);
  }
  .insights-start-state > button {
    grid-column: 2;
    justify-self: start;
  }
}

@media (max-width: 430px) {
  .topbar {
    gap: 7px;
    padding-right: 10px;
    padding-left: 10px;
  }
  .brand {
    gap: 7px;
  }
  .logo {
    width: 38px;
    height: 38px;
  }
  .topbar h1 {
    font-size: 17px;
  }
  .tagline {
    display: none;
  }
  .top-actions {
    gap: 5px;
  }
  .top-icon {
    width: 44px;
    min-height: 44px;
  }
  .health-pill {
    width: 44px;
    min-width: 44px;
    min-height: 44px;
  }
  .insights-tabs-card {
    top: calc(62px + env(safe-area-inset-top));
    padding: 5px;
  }
  .insights-tabs {
    gap: 4px;
  }
  .insights-tab {
    min-height: 48px;
    justify-content: center;
    padding: 7px 5px;
  }
  .insights-tab svg {
    display: none;
  }
  .insights-tab small {
    display: none;
  }
  .insights-overview-head .meta {
    display: none;
  }
  body[data-current-tab="log"] .quick-add-fab {
    opacity: 0;
    pointer-events: none;
    transform: translateY(12px);
  }
  .first-run-fields,
  .first-run-meal-callout {
    grid-template-columns: 1fr;
  }
  .first-run-fields button,
  .first-run-meal-callout button {
    width: 100%;
  }
  .onboarding-steps.two {
    grid-template-columns: 1fr;
  }
  .first-meal-progress span {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }
  .insights-priority {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 9px;
    padding: 12px 0;
  }
  .insights-priority > svg {
    width: 34px;
    height: 34px;
    padding: 8px;
  }
  .profile-hub-main {
    grid-template-columns: 106px minmax(0, 1fr);
    gap: 10px;
  }
  .profile-hub-card .profile-score-ring {
    width: 78px;
  }
  .profile-hub-copy h3 {
    font-size: 18px;
  }
  .profile-hub-copy > div:first-child .meta {
    display: none;
  }
}

@media (pointer: coarse) {
  button.sm,
  .top-icon,
  .health-pill,
  .icon-btn,
  .meal-context-option,
  .confidence-badge.trust.compact,
  .term-trigger.match-badge.compact {
    min-height: 44px;
  }
  .top-icon,
  .icon-btn {
    width: 44px;
  }
  .health-pill {
    width: 44px;
    min-width: 44px;
  }
}

@media (max-width: 390px) {
  .brand > div {
    display: none;
  }
  .proof-snapshot-foot .home-actions {
    grid-row: 1;
    justify-content: flex-end;
  }
  .proof-snapshot-foot > p {
    grid-row: 2;
  }
}

@media (max-width: 350px) {
  .profile-hub-main {
    grid-template-columns: 1fr;
  }
  .profile-hub-card .profile-score-panel {
    grid-template-columns: auto minmax(0, 1fr);
    justify-items: start;
  }
  .journal-day-items::before {
    left: 49px;
  }
  .journal-timeline-item {
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 6px;
  }
  .timeline-time {
    padding-right: 14px;
  }
  .timeline-time::after {
    left: 44px;
  }
  .timeline-entry-details > summary {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px;
  }
  .timeline-thumb {
    display: none;
  }
  .timeline-entry-title b {
    overflow-wrap: break-word;
    word-break: normal;
  }
}

/* Deterministic, distraction-free framing for first-party App Store captures. */
html.appstore-capture,
html.appstore-capture body {
  scrollbar-width: none;
}
html.appstore-capture::-webkit-scrollbar,
html.appstore-capture body::-webkit-scrollbar {
  display: none;
}
.appstore-capture *,
.appstore-capture *::before,
.appstore-capture *::after {
  animation-duration: 0s !important;
  transition-duration: 0s !important;
}
.appstore-capture .quick-add-fab,
.appstore-capture .insights-toolbar {
  display: none !important;
}
.appstore-capture .log-hero-strip {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.appstore-capture .log-hero-strip span {
  padding: 7px 6px;
}
.appstore-capture .log-hero-strip b {
  font-size: 14px;
  white-space: normal;
}
.appstore-capture .log-quick-add-callout {
  display: none;
}
.appstore-capture .view {
  scroll-behavior: auto;
}
/* Native account login uses Apple's neutral button treatment. */
.apple-sign-in { background: #000; color: #fff; border: 1px solid #000; min-height: 44px; padding: 10px 20px; border-radius: 6px; font-weight: 600; }
.apple-sign-in:hover { background: #252525; }
/* Keep stale nutrition edits visible until the user explicitly reopens. */
.nutrition-conflict { margin: 16px 0; padding: 12px; border-left: 3px solid #b7791f; background: #fff8e8; color: #4b3618; }
.nutrition-conflict p { margin: 0 0 12px; font-size: 14px; line-height: 1.5; }
.nutrition-conflict button { min-height: 44px; }
@media (max-width: 420px) {
  .journal-nutrition-editor .food-edit-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 44px; }
  .journal-nutrition-editor .food-name { grid-column: 1 / 3; grid-row: 1; }
  .journal-nutrition-editor [data-remove-food] { grid-column: 3; grid-row: 1; min-height: 44px; }
  .journal-nutrition-editor .food-grams { grid-column: 1; grid-row: 2; }
  .journal-nutrition-editor .food-kcal { grid-column: 2 / 4; grid-row: 2; }
}

html:has(.meal-text-flow) { overflow: hidden; }
.quick-add-overlay:has(.meal-text-flow) { align-items: center; padding: 16px; }
.quick-add-sheet.meal-text-flow {
  display: flex; flex-direction: column; width: min(620px, 100%);
  height: min(760px, calc(100dvh - 32px)); max-height: none;
  padding: 0; overflow: hidden; border-radius: 8px; background: #fff; color: #19332d;
}
.meal-text-flow .quick-add-head { flex: 0 0 auto; margin: 0; padding: 18px 20px; border-bottom: 1px solid #d8e2dc; }
.meal-text-flow .quick-add-head h3 { font-size: 22px; line-height: 1.3; }
.meal-text-flow .quick-add-head button { width: 44px; height: 44px; flex: 0 0 44px; }
.quick-log-compact { flex: 1; min-height: 0; overflow-y: auto; padding: 8px 20px 0; }
.quick-log-compact .quick-log-form { margin: 0 0 12px; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.quick-log-note-fold > summary { cursor: pointer; min-height: 44px; padding: 12px 0; font-size: 14px; font-weight: 650; }
.quick-log-compact .quick-log-form label { font-size: 13px; font-weight: 650; text-transform: none; }
.quick-log-compact textarea { min-height: 82px; max-height: 180px; font-size: 16px; border-radius: 6px; background: #fff; }
.quick-log-compact .quick-log-actions { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 8px; margin: 0; }
.quick-log-compact button { min-height: 44px; border-radius: 6px; font-size: 14px; line-height: 1.4; box-shadow: none; }
.quick-log-compact #quick-log-voice[aria-pressed="true"] { background: #08735f; color: #fff; border-color: #08735f; }
.quick-log-compact [data-meal-change-type] { grid-column: 1 / -1; justify-self: start; }
.quick-log-compact .status-line { font-size: 13px; margin: 0; }
.quick-log-compact .status-line:empty { display: none; }
.quick-log-compact .compact-preview { border: 0; padding: 12px 0 0; margin: 0; background: none; }
.compact-preview h3 { font-size: 22px; line-height: 1.35; overflow-wrap: anywhere; }
.quick-log-food-summary { list-style: none; padding: 0; margin: 12px 0 18px; }
.quick-log-food-summary li { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; border-bottom: 1px solid #e2e9e5; font-size: 15px; line-height: 1.4; }
.quick-log-food-summary li span { overflow-wrap: anywhere; min-width: 0; }
.quick-log-food-summary li span:last-child { max-width: 52%; color: #596c62; text-align: right; }
.compact-preview .metrics-row { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 8px; margin: 16px 0; }
.compact-preview .metric { min-height: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.compact-preview .metric span { font-size: 12px; }
.compact-preview .metric strong { font-size: 20px; line-height: 1.3; overflow-wrap: anywhere; }
.compact-preview .quick-log-editor-fold { margin: 14px 0; border: 0; border-top: 1px solid #d8e2dc; border-radius: 0; background: none; box-shadow: none; }
.compact-preview .quick-log-save-actions { position: sticky; bottom: 0; margin: 12px 0 0; padding: 12px 0 20px; background: #fff; border-top: 1px solid #d8e2dc; }
.compact-preview .quick-log-save-actions button { width: 100%; min-height: 48px; background: #08735f; color: #fff; }
.compact-preview .quick-log-save-actions .status-line { width: 100%; }
.quick-log-editor .food-edit-row { align-items: end; }
.quick-log-editor .food-amount { display: grid; gap: 4px; min-width: 0; margin: 0; }
.quick-log-editor .food-amount span { font-size: 12px; line-height: 1.3; font-weight: 650; color: #405b50; }
.quick-log-editor .food-amount input { width: 100%; min-width: 0; }
.quick-log-compact :focus-visible { outline: 3px solid #2878b9; outline-offset: 3px; }
.log-hub-card.log-hub-compact {
  display: grid; grid-template-columns: minmax(0, 1fr) 44px; align-items: center;
  gap: 8px; padding: 0; border: 0; background: none; box-shadow: none;
}
.log-hub-compact .log-view-tabs { margin: 0; padding: 3px; border-radius: 6px; background: #eef3f0; border-color: #d6e0d9; }
.log-hub-compact .log-view-tab { min-height: 48px; grid-template-columns: minmax(0, 1fr) auto; padding: 6px 8px; gap: 6px; border-radius: 4px; }
.log-hub-compact .log-view-tab.active { background: #fff; border-color: #c2d7ca; box-shadow: none; }
.log-hub-compact .log-view-tab b { font-size: 13px; }
.log-hub-compact > button { width: 44px; height: 44px; }
.log-add-workspace { width: min(760px, 100%); margin: 20px auto 0; gap: 16px; }
.log-entry-composer { display: grid; gap: 10px; }
.log-entry-composer > label { margin: 0; color: #19332d; font-size: 20px; font-weight: 700; line-height: 1.3; }
.log-entry-composer textarea { min-height: 104px; resize: vertical; font-size: 16px; border-radius: 6px; background: #fff; }
.log-entry-actions { display: grid; grid-template-columns: 44px 44px minmax(0, 1fr); gap: 8px; }
.log-entry-actions button { min-height: 44px; border-radius: 6px; box-shadow: none; }
.log-entry-actions button[type="submit"] { background: #08735f; color: #fff; }
.log-entry-composer .status-line { margin: 0; font-size: 13px; }
.log-entry-composer .status-line:empty { display: none; }
.log-entry-types { display: flex; gap: 8px; flex-wrap: wrap; }
.log-entry-types button { min-height: 44px; border-radius: 6px; background: #fff; border: 1px solid #cddad3; color: #19332d; box-shadow: none; }
.log-entry-tools { min-width: 0; }
.log-entry-tool { border: 0; border-top: 1px solid #d6e0d9; border-radius: 0; background: none; box-shadow: none; }
.log-entry-tool:last-child { border-bottom: 1px solid #d6e0d9; }
.log-entry-tool > summary { min-height: 52px; padding: 14px 4px; cursor: pointer; list-style-position: inside; color: #19332d; font-size: 15px; font-weight: 650; line-height: 1.5; }
.log-entry-tool > summary .i { width: 18px; height: 18px; margin: 0 8px 0 4px; vertical-align: middle; }
.log-entry-body { padding-bottom: 12px; min-width: 0; }
.log-entry-body > .card { padding: 12px 0; margin: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.log-add-workspace :focus-visible { outline: 3px solid #2878b9; outline-offset: 3px; }
.detail-shopping-actions [hidden] { display: none; }
.detail-shopping-actions button { min-height: 44px; max-width: 100%; white-space: normal; }
[data-detail-shopping-status]:empty { display: none; }
#kitchen-shopping-list { scroll-margin-top: 160px; }
.shopping-checklist-target { scroll-margin-top: 160px; }
.shopping-checklist .shopping-head { align-items: baseline; flex-wrap: wrap; gap: 8px; }
.shopping-checklist .shopping-head h3 { margin: 0; }
.shopping-checklist-items { margin: 8px 0 16px; }
.shopping-checklist-row { display: grid; grid-template-columns: minmax(0, 1fr) 44px 44px; align-items: center; gap: 0 8px; padding: 8px 0; border-bottom: 1px solid var(--line); }
.shopping-check-label { display: flex; align-items: center; gap: 12px; min-height: 44px; margin: 0; cursor: pointer; text-transform: none; }
.shopping-check-label input[type="checkbox"] { flex: 0 0 22px; width: 22px; height: 22px; margin: 0; accent-color: var(--teal); }
.shopping-check-label input[aria-disabled="true"] { opacity: .6; cursor: wait; }
.shopping-check-label > span { min-width: 0; }
.shopping-check-label strong { display: block; font-size: 15px; font-weight: 650; overflow-wrap: anywhere; }
.shopping-check-label small { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; font-weight: 400; overflow-wrap: anywhere; }
.shopping-checklist-row.checked strong { text-decoration: line-through; color: var(--muted); }
.shopping-checklist-row > .icon-btn { width: 44px; height: 44px; min-height: 44px; }
.shopping-checklist-row > .status-line { grid-column: 1 / -1; margin: 4px 0; }
.shopping-checklist-row > .status-line:empty { display: none; }
.shopping-online, .shopping-suggestions { margin-top: 20px; border-top: 1px solid var(--line); }
.shopping-online > summary, .shopping-suggestions > summary { padding: 14px 0; cursor: pointer; font-weight: 650; }
.shopping-online-items > div { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 0; border-bottom: 1px solid var(--line); }
.shopping-online-items strong { min-width: 0; overflow-wrap: anywhere; }
body[data-current-tab="kitchen"] .quick-add-fab,
body[data-current-tab="pantry"] .quick-add-fab { display: none; }
body[data-current-tab="plan"] .quick-add-fab { display: none; }
.shopping-add-feedback { flex-basis: 100%; min-width: 0; max-width: 100%; }
.shopping-add-feedback[hidden], .shopping-add-feedback [hidden] { display: none; }
.shopping-add-feedback .status-line { margin: 6px 0; white-space: normal; overflow-wrap: anywhere; }
.shopping-add-feedback button { min-height: 44px; max-width: 100%; white-space: normal; }
.shopping-head-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.shopping-head-actions .icon-btn { width: 44px; height: 44px; }
.shopping-amount-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; grid-column: 1 / -1; margin-top: 10px; }
.shopping-amount-form[hidden] { display: none; }
.shopping-amount-form .home-actions { grid-column: 1 / -1; }
.shopping-amount-form button { min-height: 44px; }
[data-shopping-workspace-status]:empty { display: none; }
@media (max-width: 420px) {
  .log-hub-compact .log-view-tab { grid-template-columns: minmax(0, 1fr); grid-template-rows: 28px 16px; justify-items: center; padding: 4px; gap: 2px; min-height: 56px; text-align: center; }
  .log-hub-compact .log-view-tab b { font-size: 12px; line-height: 14px; }
  .log-hub-compact .log-view-tab em { min-width: 20px; padding: 0 4px; line-height: 16px; }
  .log-hub-compact .log-view-tab[data-log-view="add"] > span { grid-row: 1 / -1; }
}
@media (max-width: 600px) {
  .quick-add-overlay:has(.meal-text-flow) { padding: 0; }
  .quick-add-sheet.meal-text-flow { width: 100%; height: 100dvh; border: 0; border-radius: 0; }
  .meal-text-flow .quick-add-head { padding-top: max(18px, env(safe-area-inset-top)); }
  .compact-preview .quick-log-save-actions { padding-bottom: max(16px, env(safe-area-inset-bottom)); }
  .compact-preview .food-edit-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 44px; }
  .compact-preview .food-name { grid-column: 1 / 3; grid-row: 1; }
  .compact-preview [data-remove-food] { grid-column: 3; grid-row: 1; }
  .compact-preview .food-weight-field { grid-column: 1; grid-row: 2; }
  .compact-preview .food-calorie-field { grid-column: 2 / 4; grid-row: 2; }
}

/* Keep account entry focused on authentication. */
body.signed-out {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100svh;
  background: #fff;
}
body.signed-out .topbar {
  position: static;
  justify-content: center;
  border-bottom: 0;
  padding: calc(36px + env(safe-area-inset-top)) 20px 12px;
  background: #fff;
  box-shadow: none;
  backdrop-filter: none;
}
body.signed-out .brand { justify-content: center; gap: 10px; }
body.signed-out .brand > div { display: block; }
body.signed-out .logo { width: 40px; height: 40px; filter: none; }
body.signed-out .topbar h1 { font-size: 20px; }
body.signed-out .tagline,
body.signed-out .top-actions,
body.signed-out #tabbar,
body.signed-out #quick-add-fab { display: none; }
body.signed-out .view {
  flex: 1;
  display: grid;
  align-items: center;
  width: 100%;
  max-width: none;
  padding: 36px 24px calc(84px + env(safe-area-inset-bottom));
}
.signin-page { width: min(100%, 360px); margin: 0 auto; text-align: center; }
.signin-page h2 { margin: 0 0 10px; color: var(--surface-ink); font-size: 32px; line-height: 1.2; letter-spacing: -.025em; }
.signin-description { margin: 0; color: var(--dim); font-size: 16px; line-height: 1.5; }
.signin-actions { display: grid; gap: 12px; margin-top: 30px; }
.signin-page .google-btn,
.signin-page .apple-sign-in,
.signin-code button {
  width: 100%;
  min-height: 52px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 650;
  text-decoration: none;
  box-shadow: none;
}
.signin-page .google-btn { background: var(--teal); color: #fff; border: 1px solid var(--teal); }
.signin-page .google-btn:hover { background: var(--teal-ink); border-color: var(--teal-ink); transform: none; }
.signin-alternative, .signin-shared { margin-top: 18px; }
.signin-alternative > summary, .signin-shared > summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px;
  color: var(--dim);
  font-size: 14px;
  cursor: pointer;
  list-style: none;
}
.signin-alternative > summary::-webkit-details-marker,
.signin-shared > summary::-webkit-details-marker { display: none; }
.signin-alternative > summary:hover, .signin-shared > summary:hover { color: var(--teal-ink); text-decoration: underline; }
.signin-alternative > summary:focus-visible, .signin-shared > summary:focus-visible { outline: 3px solid var(--teal); outline-offset: 2px; border-radius: 4px; }
.signin-code { display: grid; gap: 12px; margin-top: 24px; text-align: left; }
.signin-code label { color: var(--surface-ink); font-size: 14px; font-weight: 650; }
.signin-code input { width: 100%; min-width: 0; min-height: 52px; padding: 12px 14px; border: 1px solid #b9c7bf; border-radius: 8px; background: #fff; font-size: 16px; }
.signin-code button { background: var(--teal); margin-top: 4px; }
.signin-message { margin: 20px 0 0; color: var(--dim); font-size: 14px; }
.signin-page .unlock-warning { margin: 0 0 4px; }
.signin-shared .unlock-shared-meal { display: block; margin: 16px 0 0; text-align: left; }
.signin-shared .unlock-shared-meal img { height: 130px; margin-bottom: 12px; }
.signin-shared .unlock-shared-meal h3 { font-size: 19px; }
@media (max-height: 580px) {
  body.signed-out .topbar { padding-top: calc(18px + env(safe-area-inset-top)); }
  body.signed-out .view { padding-top: 24px; padding-bottom: calc(32px + env(safe-area-inset-bottom)); }
}

/* Daily actions stay visible before recommendations and optional detail. */
.daily-tasks { margin: 0 0 20px; }
.daily-task-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.daily-task-grid button { min-width: 0; min-height: 52px; padding: 10px 8px; font-size: 15px; white-space: normal; gap: 7px; }
.daily-task-grid svg { width: 20px; height: 20px; flex: 0 0 20px; }
.entry-describe { width: 100%; margin-top: 16px; min-height: 44px; }
.quick-add-fab { width: auto; min-width: 116px; height: 48px; padding: 0 16px; gap: 7px; font-size: 14px; }
.quick-add-fab svg { width: 22px; height: 22px; }
.quick-add-overlay { bottom: auto; height: 100dvh; padding-bottom: max(16px, env(safe-area-inset-bottom)); overflow: hidden; }
.quick-add-sheet { max-height: 100%; overscroll-behavior: contain; }
.quick-add-sheet.meal-text-flow { max-height: 100%; }
.saved-entry-details { margin-top: 16px; }
.saved-entry-details > summary { min-height: 44px; padding: 12px 0; cursor: pointer; font-weight: 700; }
.quick-impact-actions { margin-top: 16px; }
.quick-impact-logged { grid-template-columns: 36px minmax(0, 1fr); gap: 10px; }
.quick-impact-mark { width: 36px; height: 36px; }
.quick-impact-logged > .confidence-badge { grid-column: 2; justify-self: start; max-width: 100%; }
.quick-impact-logged > .confidence-badge small { max-width: 100%; overflow-wrap: anywhere; }
.quick-impact-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.quick-impact-actions button { min-width: 0; padding: 8px 4px; gap: 4px; font-size: 13px; white-space: normal; }
.profile-account-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.profile-account-bar > span { min-width: 0; overflow-wrap: anywhere; font-weight: 700; }
.profile-account-bar button { flex: 0 0 auto; }
body.native-keyboard-open .tabbar,
body.native-keyboard-open .quick-add-fab { display: none; }
body.native-keyboard-open .view { padding-bottom: 24px; }
.kitchen-tools { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 0 20px; }
.kitchen-tools button { min-width: 0; min-height: 48px; white-space: normal; }
.log-entry-tool { scroll-margin-top: 110px; }
.inventory-entry-flow { display: flex; flex-direction: column; padding: 0; }
.inventory-entry-flow .quick-add-head { flex: 0 0 auto; margin: 0; padding: 16px; }
.inventory-entry-form { display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
.inventory-entry-fields { min-height: 0; padding: 0 16px 16px; overflow-y: auto; }
.inventory-entry-fields input, .inventory-entry-fields select { width: 100%; }
.inventory-entry-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.inventory-entry-optional { margin-top: 14px; }
.inventory-entry-optional summary { min-height: 44px; padding: 12px 0; font-weight: 700; }
.inventory-entry-actions { flex: 0 0 auto; padding: 12px 16px; border-top: 1px solid var(--line); }
.inventory-entry-actions button { width: 100%; min-height: 48px; }
.inventory-entry-actions p:empty { display: none; }
@media (max-width: 759px) {
  .plan-section-rail-card .secondary-section-rail { display: grid; grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .plan-section-rail-card .secondary-section-chip { min-width: 0; min-height: 48px; padding: 7px 4px; }
  .plan-section-rail-card .secondary-section-chip small { display: none; }
  .plan-section-rail-card .secondary-section-chip svg { display: none; }
  .plan-section-rail-card .secondary-section-chip b { font-size: 13px; }
}

/* Timestamp edits remain visible and usable without opening an entry. */
.timeline-time { align-content: start; padding-right: 20px; }
.timeline-time-button {
  display: grid;
  justify-items: center;
  gap: 5px;
  width: 100%;
  min-width: 44px;
  min-height: 52px;
  padding: 7px 2px;
  border: 1px solid rgba(15, 118, 110, .23);
  border-radius: 10px;
  background: rgba(255, 255, 255, .85);
  color: var(--teal-ink);
  box-shadow: none;
}
.timeline-time-button small {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.2;
}
.timeline-time-button .i { width: 11px; height: 11px; flex-shrink: 0; }
.timeline-time-button:focus-visible { outline: 3px solid var(--teal); outline-offset: 3px; }
.timeline-time > span { padding-top: 4px; text-align: center; }
.journal-timeline-item.just-moved .timeline-meal-card {
  outline: 3px solid var(--teal);
  outline-offset: 3px;
}
.journal-timeline-item { scroll-margin-block: 140px; }
.journal-move-overlay { padding-bottom: max(16px, env(safe-area-inset-bottom)); }
.journal-move-card { max-height: calc(100dvh - 32px); }
.journal-move-card .meal-detail-head h3 { margin-top: 0; }
.journal-move-card .meal-detail-head .meta { margin-bottom: 0; }
.journal-move-form { grid-template-columns: minmax(0, 1fr); min-width: 0; gap: 10px; }
.journal-move-form label { font-size: 14px; font-weight: 800; }
.journal-move-form input { box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0; font-size: 17px; appearance: none; -webkit-appearance: none; }
.journal-move-form label[for="journal-move-time"] { margin-top: 8px; }
.journal-move-form .time-chip-row { margin: 0; }
.journal-move-form .time-chip-row button { min-height: 44px; }
.journal-move-form .time-chip-row [aria-pressed="true"] {
  outline: 2px solid var(--teal);
  outline-offset: 1px;
}
.journal-move-error { color: #9b2242; font-size: 14px; margin: 4px 0; }
.journal-move-form .meal-detail-actions { display: grid; grid-template-columns: 1fr 1fr; margin-top: 12px; }
.journal-move-form .meal-detail-actions button { min-height: 48px; justify-content: center; }
@media (max-width: 759px) {
  .journal-timeline-item { grid-template-columns: 86px minmax(0, 1fr); }
  .journal-day-items::before { left: 75px; }
  .timeline-time { padding-right: 16px; }
  .timeline-time::after { left: 70px; }
  .journal-move-overlay { padding: 12px 12px max(12px, env(safe-area-inset-bottom)); }
}

.toast.has-action button { min-width: 52px; min-height: 44px; }

.shopping-online[hidden], .shopping-online-items > [hidden] { display: none !important; }

/* The nutrient map defaults to the current day; keep its time window visible. */
.nutrition-period-switch {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  padding: 5px;
  margin-bottom: 10px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface, #fff);
}
.nutrition-period-switch button {
  min-height: 44px;
  padding: 10px 12px;
  border: 0;
  box-shadow: none;
  background: transparent;
  color: var(--text);
}
.nutrition-period-switch button.active {
  background: var(--teal-ink);
  color: #fff;
}

.nutrition-day-note { margin: 8px 0 12px; padding: 12px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface-soft); }
.nutrition-day-note p { margin: 6px 0 0; }
.nutrition-history-note { margin: 0 0 12px; }
.nutrition-history-note b { display: block; margin-top: 4px; color: var(--text); }
.nutrition-overview.nutrition-unrecorded { display: none; }
@media (max-width: 600px) {
  .gaps-chart-card .nutrition-runway-label { font-size: 18px; fill: #20352b; }
  .gaps-chart-card .nutrition-runway-sub { font-size: 14px; fill: #59665e; }
  .gaps-chart-card .nutrition-runway-value { font-size: 20px; }
}

/* Everyday meal and grocery actions. */
.food-serving-shortcuts { grid-column: 1 / -1; display: grid; gap: 8px; padding: 8px 0 4px; }
.food-serving-shortcuts > span { color: #475e51; font-size: 14px; line-height: 1.4; }
.food-serving-shortcuts > div { display: flex; gap: 8px; flex-wrap: wrap; }
.food-serving-shortcuts button { min-height: 44px; padding: 8px 14px; }
.shopping-form textarea { min-height: 64px; font-size: 16px; resize: vertical; }
.shopping-put-away { margin: 8px 0 16px; min-height: 48px; width: 100%; }
.grocery-review-list { display: grid; gap: 16px; }
.grocery-review-list fieldset { min-width: 0; margin: 0; padding: 16px; border: 1px solid #d6ded5; border-radius: 16px; background: #fff; }
.grocery-review-list legend { color: #233b2f; font-weight: 700; padding: 0 6px; overflow-wrap: anywhere; max-width: 100%; }
.grocery-review-list label { display: grid; gap: 6px; margin: 8px 0; }
.grocery-review-list .toggle-row { display: flex; align-items: center; }
.grocery-review-list input, .grocery-review-list select { width: 100%; min-width: 0; font-size: 16px; }
.grocery-review-list input[type="checkbox"] { width: 22px; flex: 0 0 22px; }
.grocery-review-amount { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.grocery-review form > button[type="submit"] { margin-top: 12px; min-height: 48px; width: 100%; }
.kitchen-ideas-explainer { margin: 24px 0 0; }
.kitchen-ideas-explainer > summary { padding: 16px 0; cursor: pointer; font-weight: 600; }
.kitchen-ideas-explainer > .meta { margin: 8px 0; }
.kitchen-ideas-head h3 { margin: 0; }
.kitchen-ideas-head > button { flex-shrink: 0; min-height: 44px; }
.nutrition-runway-row.missing .nutrition-runway-dot { display: none; }
.nutrition-runway-row.missing .nutrition-runway-value { fill: #59665e; }
@media (max-width: 759px) {
  [data-kitchen-panel="ideas"] .meal-context-switcher { margin: 16px 0; padding: 12px; }
  .kitchen-ideas-shell { padding: 0; border: 0; background: none; box-shadow: none; }
  .kitchen-ideas-head { gap: 12px; margin-bottom: 12px; }
  .kitchen-ideas-head h3 { font-size: 20px; }
  .kitchen-ideas-shell .idea-section-head { padding: 12px 0; }
  .kitchen-ideas-shell .idea-section-head p { display: none; }
  .gaps-chart-card .chart-card-head { margin-bottom: 8px; }
  .gaps-chart-card .nutrition-board-visual { margin-top: 0; padding-top: 8px; }
}

.shopping-put-away[hidden] { display: none; }
@media (max-width: 759px) {
  .kitchen-ideas-head { display: flex; align-items: center; margin-bottom: 0; }
  .kitchen-ideas-head > button { flex: 0 0 auto; width: auto; }
  .kitchen-ideas-shell { gap: 4px; }
  .kitchen-ideas-shell .idea-section { margin-top: 4px; }
}

/* Optional activity connection */
.activity-basis { margin-bottom: 1.5rem; }
.activity-calories strong { font-size: 2rem; }
#profile-activity-settings select, #profile-activity-settings input { width: 100%; margin: .5rem 0 1rem; }
#profile-activity-settings [hidden] { display: none !important; }
#profile-activity-settings [role="status"] { margin-top: 1rem; color: var(--ink, #243a30); }

/* Daily intake controls and compact supplement label correction. */
.nutrition-day-switch { display: grid; grid-template-columns: 48px minmax(0,1fr) 48px; gap: 8px; align-items: center; margin: 12px 0; }
.nutrition-day-switch select { width: 100%; min-width: 0; min-height: 48px; font-size: 16px; margin: 0; }
.nutrition-day-switch button { min-height: 48px; padding: 8px; font-size: 26px; }
.nutrition-day-switch[hidden] { display: none !important; }
.supplement-review-hint { color: var(--dim); margin: 12px 0 16px; }
.supplement-review-correction select, .supplement-review-correction input { width: 100%; min-width: 0; font-size: 16px; }
.supplement-review-correction label { display: block; margin: 10px 0 6px; }
.supplement-review-card > .home-actions { position: sticky; bottom: 0; background: var(--surface, #fff); padding: 12px 0; z-index: 1; }
.supplement-review-card > .home-actions button { width: 100%; min-height: 48px; }
.supplement-review-card [role="alert"] { color: #783a20; }

.supplement-review-correction { grid-column: 1 / -1; min-width: 0; }

.supplement-quantity-flow form > button { width: 100%; min-height: 48px; margin-top: 16px; }

.supplement-quantity-flow .unit-input { grid-template-columns: minmax(0,1fr) auto; gap: 4px; }
.supplement-quantity-flow .unit-input span { white-space: nowrap; text-transform: none; font-weight: 600; font-size: 13px; }

/* Daily routines: quiet summaries and comfortably sized editing controls. */
.today-nutrition { border: 1px solid var(--line, #dde1d8); border-radius: 20px; background: #fff; padding: 20px; margin: 20px 0 28px; }
.today-nutrition .today-section-heading { gap: 12px; align-items: center; }
.today-nutrition h2 { font-size: 1.15rem; margin: 0; }
.today-nutrition-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 16px 0 10px; }
.today-nutrition-metrics > div { min-width: 0; background: #f3f4ee; border-radius: 14px; padding: 14px; }
.today-nutrition-metrics span { display: block; font-size: .8rem; margin-bottom: 5px; color: #536154; }
.today-nutrition-metrics strong { display: block; font-size: 1.45rem; line-height: 1.3; color: #203c30; }
.today-nutrition-metrics small { display: block; font-size: .78rem; font-weight: 500; color: #536154; }
.today-target-source, .today-nutrient-opportunities { font-size: .82rem; margin: 8px 0; }
.saved-dose-card { background: #fff; border: 1px solid #dde1d8; border-radius: 16px; padding: 16px; margin-bottom: 12px; }
.saved-dose-card h4 { margin: 0 0 8px; font-size: 1.1rem; }
.saved-dose-controls { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; margin-top: 12px; }
.saved-dose-controls label { flex: 1 1 140px; min-width: 0; }
.saved-dose-controls label[hidden] { display: none; }
.saved-dose-controls input, .saved-dose-controls select { width: 100%; min-height: 48px; }
.saved-dose-controls button { min-height: 48px; }
.recipe-servings { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 10px; font-weight: 600; }
.recipe-servings input { width: 90px; min-height: 48px; }
.recipe-ingredient-edit { display: grid; grid-template-columns: 1fr 1fr 48px; gap: 8px; padding: 14px 0; border-bottom: 1px solid #dde1d8; }
.recipe-ingredient-edit label:first-child { grid-column: 1 / -1; }
.recipe-ingredient-edit label { min-width: 0; }
.recipe-ingredient-edit input { width: 100%; min-height: 48px; }
.recipe-ingredient-edit > button { align-self: end; min-height: 48px; padding: 8px; }
.find-data-status { margin: 8px 16px; font-size: .82rem; }
.toast.has-action { border-radius: 18px; }
.toast .toast-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.toast .toast-actions button { flex: 0 0 auto; white-space: nowrap; }
@media (max-width: 480px) {
  .today-nutrition { padding: 16px; }
  .today-nutrition .today-section-heading { flex-wrap: wrap; }
  .toast.has-action { width: calc(100% - 32px); max-width: 420px; }
}

.today-nutrition .today-section-heading button { min-height:36px; padding:8px 10px; font-size:.8rem; }
.today-nutrition-metrics { margin:12px 0 8px; gap:8px; }
.today-nutrition-metrics > div { padding:10px 12px; }
.today-nutrition-metrics span { font-size:.75rem; margin-bottom:3px; }
.today-nutrition-metrics strong { font-size:1.25rem; }
.today-nutrition .meta, .today-nutrient-opportunities { font-size:.75rem; line-height:1.4; margin:5px 0; }
