/* Compact resource navigation: BMI display typography and shared theme tokens. */
body.calories-page .calories-resource-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: start;
  gap: 10px;
}

/* Meta SEO cards: three equal columns on desktop. */
@media (min-width: 821px) {
  body.meta-page main { grid-template-columns:repeat(6,minmax(0,1fr)) !important; }
  body.meta-page main > #calculator-section,
  body.meta-page main > #results-section { grid-column:span 3 !important; }
  body.meta-page main > .seo-entry-card { grid-column:span 2 !important; }
  body.meta-page main > .seo-entry-card { grid-row:3 !important; }
  body.meta-page main > .ad-slot,
  body.meta-page main > #info-tabs,
  body.meta-page main > #history-section { grid-column:1 / -1 !important; }
}
@media (max-width: 820px) {
  body.meta-page main > .seo-entry-card { grid-column:1 / -1 !important; }
}

/* Meta-analysis form: compact calculator anatomy with an optional PRO panel. */
body.meta-page #calculator-section { padding: 12px !important; }
body.meta-page #bmi-form { gap: 10px !important; }
body.meta-page #bmi-form > .input-group:not(:first-child) { display:grid !important; grid-template-columns:minmax(0,1fr) 86px minmax(0,1fr) !important; grid-template-rows:30px 24px !important; gap:2px 10px !important; }
body.meta-page #bmi-form > .input-group:not(:first-child) > label,
body.meta-page #bmi-form > .input-group:not(:first-child) > input[type="number"],
body.meta-page #bmi-form > .input-group:not(:first-child) > .input-unit { grid-row:1 !important; }
body.meta-page #bmi-form > .input-group:not(:first-child) > input[type="range"] { grid-row:2 !important; margin:0 !important; }
body.meta-page .unit-btn { min-height:31px !important; font-size:.71rem !important; }
body.meta-page .gender-selector { min-height:35px !important; margin-top:4px !important; }
body.meta-page .gender-selector label { min-height:29px !important; font-size:.73rem !important; }
body.meta-page input[type="range"] { accent-color:var(--ves-primary) !important; }
body.meta-page .pro-toggle-container { margin:0 !important; padding:0 !important; }
body.meta-page #pro-fields-container {
  display:block !important;
  max-height:0 !important;
  opacity:0 !important;
  visibility:hidden !important;
  overflow:hidden !important;
  transform:translateY(-6px) !important;
  transition:max-height .42s ease, opacity .28s ease, transform .42s ease, visibility 0s linear .42s !important;
}
body.meta-page #pro-fields-container.is-active {
  max-height:520px !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:translateY(0) !important;
  transition:max-height .42s ease, opacity .28s ease, transform .42s ease, visibility 0s linear 0s !important;
}
body.meta-page .pro-toggle-label { display:flex !important; align-items:center !important; gap:12px !important; }
body.meta-page .pro-toggle-text { color:var(--ves-primary) !important; font-size:.84rem !important; font-weight:700 !important; }
body.meta-page .pro-fields-inner { padding:12px !important; border:1px solid var(--ves-line) !important; border-radius:8px !important; background:var(--ves-soft) !important; }
body.meta-page .pro-info-alert { margin-bottom:12px !important; color:var(--ves-primary) !important; font-size:.72rem !important; }
body.meta-page .form-group-row { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:10px !important; transition:grid-template-columns .6s cubic-bezier(.22,.61,.36,1) !important; will-change:grid-template-columns; }
body.meta-page .form-group-row:not(:has(#hip-container.is-visible)) { grid-template-columns:minmax(0,1fr) minmax(0,1fr) 0fr !important; }
body.meta-page #hip-container { min-width:0 !important; overflow:hidden !important; opacity:1 !important; transition:opacity .4s ease, transform .6s cubic-bezier(.22,.61,.36,1) !important; }
body.meta-page #hip-container:not(.is-visible) { display:grid !important; opacity:0 !important; transform:translateX(10px) !important; pointer-events:none !important; }
body.meta-page #hip-container.is-visible { opacity:1 !important; transform:translateX(0) !important; pointer-events:auto !important; }
body.meta-page .form-item { display:grid !important; gap:6px !important; }
body.meta-page .form-item label { font-size:.72rem !important; font-weight:650 !important; }
body.meta-page .form-item input[type="number"] { width:100% !important; min-height:32px !important; text-align:center !important; }
body.meta-page .actions { gap:7px !important; margin-top:2px !important; }
body.meta-page #reset-btn { display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:7px !important; }
body.meta-page .reset-icon { width:16px !important; height:16px !important; fill:none !important; stroke:currentColor !important; stroke-width:1.9 !important; stroke-linecap:round !important; stroke-linejoin:round !important; }
body.meta-page #streak-spotlight { display:none !important; }
body.meta-page .seo-entry-card {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  align-items:center !important;
  gap:18px !important;
  padding:16px !important;
  border-color:var(--ves-line) !important;
  background:var(--ves-surface) !important;
  box-shadow:none !important;
}
@media (min-width: 821px) {
  body.meta-page main { grid-template-columns:repeat(6,minmax(0,1fr)) !important; }
  body.meta-page main > #calculator-section,
  body.meta-page main > #results-section { grid-column:span 3 !important; }
  body.meta-page main > .seo-entry-card { grid-column:span 2 !important; }
  body.meta-page main > .disclaimer-wrapper,
  body.meta-page main > .ad-slot,
  body.meta-page main > #info-tabs,
  body.meta-page main > #history-section { grid-column:1 / -1 !important; }
}
@media (max-width: 820px) {
  body.meta-page main > .seo-entry-card { grid-column:1 / -1 !important; }
}
body.meta-page .seo-entry-card__eyebrow { margin-bottom:6px !important; font-size:.72rem !important; color:var(--ves-primary) !important; }
body.meta-page .seo-entry-card h2 { margin:0 0 8px !important; font-size:1.18rem !important; color:var(--ves-ink) !important; }
body.meta-page .seo-entry-card p { margin:0 !important; font-size:.78rem !important; color:var(--ves-muted) !important; line-height:1.5 !important; }
body.meta-page .height-guide-links { align-self:center !important; grid-template-columns:repeat(auto-fit,minmax(110px,1fr)) !important; gap:6px !important; }
body.meta-page .height-guide-links a { min-height:34px !important; padding:6px 8px !important; font-size:.76rem !important; }
body.meta-page .height-guide-links { min-width:0 !important; overflow:visible !important; align-self:start !important; transform:translateY(-2px) !important; grid-template-columns:repeat(auto-fit,minmax(0,1fr)) !important; gap:5px !important; margin-top:8px !important; }
body.meta-page .height-guide-links a { min-width:0 !important; overflow:visible !important; white-space:normal !important; overflow-wrap:normal !important; min-height:30px !important; padding:5px 6px !important; font-size:.64rem !important; line-height:1.2 !important; color:var(--ves-ink) !important; border-color:var(--ves-line) !important; background:var(--ves-soft) !important; }
body.meta-page .height-guide-links a:hover { color:var(--ves-primary) !important; border-color:var(--ves-primary) !important; background:var(--ves-primary-soft) !important; transform:translateY(-1px) !important; }
body.meta-page .disclaimer-wrapper { border:1px solid var(--ves-line) !important; border-radius:var(--ves-radius-sm) !important; background:var(--ves-surface) !important; box-shadow:none !important; }
body.meta-page .disclaimer { color:var(--ves-muted) !important; font-size:.78rem !important; line-height:1.55 !important; }
body.meta-page .disclaimer-kicker { color:var(--ves-primary) !important; font-size:.72rem !important; letter-spacing:.055em !important; }
@media (min-width:821px) { body.meta-page main > .disclaimer-wrapper { grid-column:1 / -1 !important; grid-row:4 !important; } }
body.meta-page .pro-toggle-slider {
  width:46px !important; height:24px !important; background:#334b49 !important;
  border:1px solid var(--ves-line) !important; box-shadow:none !important;
}
body.meta-page .pro-toggle-slider::before {
  width:18px !important; height:18px !important; left:3px !important; bottom:2px !important;
  background:#fff !important; box-shadow:none !important;
}
body.meta-page .pro-toggle-label input:checked + .pro-toggle-slider {
  background:var(--ves-primary) !important; box-shadow:none !important;
}
body.meta-page .pro-toggle-label input:checked ~ .pro-toggle-text {
  color:var(--ves-primary) !important; text-shadow:none !important;
}
body.meta-page .pro-fields-inner,
body.meta-page .pro-fields-inner input,
body.meta-page .form-item input[type="number"] {
  box-shadow:none !important; filter:none !important;
}
body.meta-page .form-item input[type="number"] {
  border:1px solid var(--ves-line) !important; border-radius:7px !important;
  background:var(--ves-surface) !important; color:var(--ves-ink) !important;
}
body.meta-page .gender-selector,
body.meta-page .gender-selector label,
body.meta-page .gender-selector input:checked + label {
  box-shadow: none !important;
  filter: none !important;
}
body.meta-page .gender-selector input:checked + label {
  background: rgba(73,167,154,.19) !important;
  color: #6ec4b7 !important;
}
body.meta-page input[type="range"]::-webkit-slider-runnable-track {
  height:3px !important; border:0 !important;
  background:linear-gradient(to right,var(--ves-primary) 0 var(--range-progress,50%),#3a4645 var(--range-progress,50%) 100%) !important;
  box-shadow:none !important;
}
body.meta-page input[type="range"]::-webkit-slider-thumb {
  width:12px !important; height:12px !important; margin-top:-4.5px !important;
  border:2px solid var(--ves-surface) !important; background:var(--ves-primary) !important;
  box-shadow:0 0 0 2px var(--ves-primary) !important;
}
body.meta-page input[type="range"]::-moz-range-track { height:3px !important; border:0 !important; background:#3a4645 !important; box-shadow:none !important; }
body.meta-page input[type="range"]::-moz-range-progress { height:3px !important; background:var(--ves-primary) !important; }
body.meta-page input[type="range"]::-moz-range-thumb { width:12px !important; height:12px !important; border:2px solid var(--ves-surface) !important; background:var(--ves-primary) !important; box-shadow:0 0 0 2px var(--ves-primary) !important; }

/* Meta results: same compact, flat card language as the BMI calculator. */
body.meta-page #results-section {
  min-height:0 !important;
  padding:12px !important;
  border:1px solid var(--ves-line) !important;
  border-radius:7px !important;
  background:var(--ves-surface) !important;
  box-shadow:none !important;
}
body.meta-page #pro-support-results {
  grid-column:1 / span 3 !important;
  display:none;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  align-items:stretch;
}
body.meta-page #pro-support-results.is-visible { display:grid !important; }
body.meta-page #pro-support-results[hidden] { display:none !important; }
body.meta-page #results-section .results-grid {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
  margin:0 !important;
}
body.meta-page #results-section .results-card,
body.meta-page #pro-support-results .results-card {
  position:relative !important;
  display:flex !important;
  min-width:0 !important;
  min-height:196px !important;
  margin:0 !important;
  padding:14px !important;
  overflow:hidden !important;
  border:1px solid var(--ves-line) !important;
  border-radius:7px !important;
  background:var(--ves-soft) !important;
  box-shadow:none !important;
  color:var(--ves-ink) !important;
  filter:none !important;
  transform:none !important;
}
body.meta-page #results-section .results-card::before,
body.meta-page #results-section .results-card::after,
body.meta-page #pro-support-results .results-card::before,
body.meta-page #pro-support-results .results-card::after { content:none !important; display:none !important; }
body.meta-page #results-section .results-card:hover,
body.meta-page #pro-support-results .results-card:hover {
  transform:translateY(-1px) !important;
  border-color:var(--ves-primary) !important;
  box-shadow:none !important;
}
body.meta-page #results-section .results-card h4,
body.meta-page #pro-support-results .results-card h4 {
  margin:0 0 8px !important;
  color:var(--ves-ink) !important;
  font-family:Inter,system-ui,sans-serif !important;
  font-size:.82rem !important;
  font-weight:700 !important;
  line-height:1.25 !important;
}
body.meta-page #results-section .results-card h4 .app-icon,
body.meta-page #pro-support-results .results-card h4 .app-icon { color:var(--ves-primary) !important; }
body.meta-page #results-section .results-card > p,
body.meta-page #pro-support-results .results-card > p {
  margin:0 0 10px !important;
  color:var(--ves-muted) !important;
  font-size:.7rem !important;
  line-height:1.45 !important;
}
body.meta-page .meta-status span,
body.meta-page .risk-status span,
body.meta-page .forecast-status span,
body.meta-page .insight-status span {
  display:inline-flex !important;
  align-items:center !important;
  width:max-content !important;
  min-height:24px !important;
  padding:4px 9px !important;
  border:1px solid var(--ves-line) !important;
  border-radius:14px !important;
  background:transparent !important;
  color:var(--ves-primary) !important;
  box-shadow:none !important;
  font-size:.67rem !important;
  font-weight:700 !important;
}
body.meta-page .meta-details,
body.meta-page .risk-main,
body.meta-page .forecast-main,
body.meta-page .insight-content {
  display:grid !important;
  gap:0 !important;
  width:100% !important;
  margin-top:10px !important;
  border-top:1px solid var(--ves-line) !important;
  background:transparent !important;
}
body.meta-page .meta-details > div,
body.meta-page .risk-main > div,
body.meta-page .forecast-main > div,
body.meta-page .insight-content > div {
  display:flex !important;
  justify-content:space-between !important;
  gap:8px !important;
  padding:7px 0 !important;
  border:0 !important;
  border-bottom:1px solid var(--ves-line) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:var(--ves-muted) !important;
  font-size:.67rem !important;
  line-height:1.35 !important;
}
body.meta-page .meta-details > div:last-child,
body.meta-page .risk-main > div:last-child,
body.meta-page .forecast-main > div:last-child,
body.meta-page .insight-content > div:last-child { border-bottom:0 !important; }
body.meta-page .meta-details span,
body.meta-page .risk-main span,
body.meta-page .forecast-main span,
body.meta-page .insight-content span { color:var(--ves-primary) !important; font-weight:700 !important; }
body.meta-page .risk-note,
body.meta-page .forecast-note,
body.meta-page .insight-note { margin-top:auto !important; }
body.meta-page .risk-note p,
body.meta-page .forecast-note p,
body.meta-page .insight-note p { margin:8px 0 0 !important; color:var(--ves-muted) !important; font-size:.64rem !important; line-height:1.4 !important; }
body.meta-page #metabolic-age-card { align-items:center !important; justify-content:center !important; text-align:center !important; }
body.meta-page #metabolic-age-card .metabolic-age-value-row { display:flex !important; align-items:baseline !important; justify-content:center !important; gap:5px !important; margin:8px 0 2px !important; }
body.meta-page #metabolic-age-value { color:var(--ves-primary) !important; font-family:Georgia,serif !important; font-size:3.5rem !important; line-height:1 !important; text-shadow:none !important; }
body.meta-page .metabolic-age-unit { color:var(--muted) !important; font-size:.72rem !important; }
body.meta-page .metabolic-age-note { margin-top:8px !important; }
body.meta-page #results-section.is-pro-results #insight-card { grid-column:1 / -1 !important; min-height:150px !important; }
body.meta-page #pro-result-card { grid-column:1 / -1 !important; min-height:150px !important; }
body.meta-page #pro-result-card .pro-title { color:var(--ves-primary) !important; font-size:.82rem !important; font-weight:700 !important; }
body.meta-page #pro-result-card .pro-subtitle { margin-top:5px !important; color:var(--ves-muted) !important; font-size:.7rem !important; }
body.meta-page #pro-result-card .pro-result-grid { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:8px !important; margin-top:12px !important; }
body.meta-page #pro-result-card .pro-res-item { min-width:0 !important; padding:9px 6px !important; border:1px solid var(--ves-line) !important; border-radius:5px !important; background:transparent !important; box-shadow:none !important; text-align:center !important; }
body.meta-page #pro-result-card .pro-res-val { color:var(--ves-primary) !important; font-family:Georgia,serif !important; font-size:1.4rem !important; line-height:1 !important; }
body.meta-page #pro-result-card .pro-res-lbl { margin-top:5px !important; color:var(--ves-muted) !important; font-size:.58rem !important; line-height:1.25 !important; text-transform:uppercase !important; }
body.meta-page #pro-result-card .pro-status { width:max-content !important; margin-top:10px !important; padding:5px 8px !important; border:1px solid var(--ves-line) !important; border-radius:5px !important; background:var(--ves-primary-soft) !important; color:var(--ves-primary) !important; font-size:.65rem !important; }
body.meta-page #goal-setter-card { display:none !important; }
@media (min-width:821px) {
  body.meta-page main:has(#pro-support-results.is-visible) > #results-section { grid-row:1 / span 2 !important; }
}
@media (max-width:820px) {
  body.meta-page #pro-support-results { grid-column:1 / -1 !important; grid-template-columns:1fr !important; }
}
@media (max-width:480px) {
  body.meta-page #results-section .results-grid { grid-template-columns:1fr !important; }
  body.meta-page #results-section.is-pro-results #insight-card,
  body.meta-page #pro-result-card { grid-column:auto !important; }
  body.meta-page #pro-result-card .pro-result-grid { grid-template-columns:1fr !important; }
}

body.calories-page .calories-resource {
  position: relative;
  min-width: 0;
  margin: 0;
  border: 1px solid var(--ves-line);
  border-radius: 6px;
  background: var(--ves-surface);
  color: var(--ves-ink);
  text-decoration: none;
  box-shadow: none;
  transition: border-color .18s ease, background-color .18s ease;
}

body.calories-page .calories-resource > summary,
body.calories-page .calories-resource--direct {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 8px;
  min-height: 118px;
  padding: 18px 34px 18px 16px;
  cursor: pointer;
  list-style: none;
}

body.calories-page .calories-resource > summary::-webkit-details-marker { display: none; }
body.calories-page .calories-resource > summary { min-height: 116px; }

body.calories-page .calories-resource__eyebrow {
  color: var(--ves-primary);
  font-family: inherit;
  font-size: .62rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .055em;
  text-transform: uppercase;
}

body.calories-page .calories-resource h2 {
  margin: 0;
  color: var(--ves-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -.04em;
  text-shadow: none;
}

body.calories-page .calories-resource__icon {
  position: absolute;
  top: 23px;
  right: 13px;
  width: 12px;
  height: 12px;
  color: var(--ves-primary);
  font-size: 18px;
  line-height: 12px;
}

body.calories-page details .calories-resource__icon::before,
body.calories-page details .calories-resource__icon::after {
  position: absolute;
  top: 5px;
  left: 1px;
  width: 10px;
  height: 1px;
  background: currentColor;
  content: "";
}

body.calories-page details .calories-resource__icon::after { transform: rotate(90deg); }
body.calories-page details[open] .calories-resource__icon::after { transform: none; }
body.calories-page .calories-resource:hover,
body.calories-page .calories-resource[open] { border-color: var(--ves-primary); }
body.calories-page .calories-resource:focus-visible,
body.calories-page .calories-resource > summary:focus-visible,
body.calories-page .calories-resource__links a:focus-visible {
  outline: 2px solid var(--ves-primary);
  outline-offset: 3px;
}

body.calories-page .calories-resource__content {
  padding: 0 16px 16px;
}

body.calories-page .calories-resource__content p {
  margin: 0 0 12px;
  padding-top: 12px;
  border-top: 1px solid var(--ves-line);
  color: var(--ves-muted);
  font-size: .75rem;
  line-height: 1.5;
}

body.calories-page .calories-resource__links {
  display: grid;
  gap: 6px;
}

body.calories-page .calories-resource__links--weights {
  grid-template-columns: repeat(auto-fit, minmax(52px, 1fr));
}

body.calories-page .calories-resource__links a {
  display: flex;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  padding: 7px 5px;
  border: 1px solid var(--ves-line);
  border-radius: 4px;
  background: var(--ves-soft);
  color: var(--ves-ink);
  font-family: inherit;
  font-size: .7rem;
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  box-shadow: none;
  transform: none;
}

body.calories-page .calories-resource__links a:hover {
  border-color: var(--ves-primary);
  background: var(--ves-primary-soft);
  color: var(--ves-primary);
}

@media (max-width: 900px) {
  body.calories-page .calories-resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
  body.calories-page .calories-resource-grid { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  body.calories-page .calories-resource > summary,
  body.calories-page .calories-resource--direct { min-height: 88px; padding-block: 14px; }
  body.calories-page .calories-resource h2 { font-size: 1.35rem; }
  body.calories-page .calories-resource__links a { min-height: 44px; }
}

/* Shared Vescalc calculator shell. Kept page-scoped so landing and SEO pages retain their layout. */
body.calculators-redesign-page {
  --ves-ink: #142326;
  --ves-muted: #647276;
  --ves-line: #d9e1df;
  --ves-surface: #ffffff;
  --ves-soft: #f5f8f7;
  --ves-primary: #0b4d4a;
  --ves-primary-hover: #083f3d;
  --ves-primary-soft: #e4f0ed;
  --ves-radius-sm: 8px;
  --ves-radius: 16px;
  min-width: 320px;
  padding: 0 24px 36px;
  background: #fff;
  color: var(--ves-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.calculators-redesign-page *,
body.calculators-redesign-page *::before,
body.calculators-redesign-page *::after { box-sizing: border-box; }

body.calculators-redesign-page > header,
body.calculators-redesign-page > main,
body.calculators-redesign-page > .site-footer {
  width: min(100%, 1180px);
  margin-inline: auto;
}

body.calculators-redesign-page > header {
  position: relative !important;
  width: calc(100% + 48px);
  min-height: 58px;
  margin: 0 -24px;
  padding: 0 max(24px, calc((100vw - 1180px) / 2));
  border: 0 !important;
  border-bottom: 1px solid rgba(133, 154, 153, .3) !important;
  border-radius: 0;
  background: #fbfcfc !important;
  box-shadow: none !important;
}

body.calculators-redesign-page > header::before,
body.calculators-redesign-page > header::after { display: none !important; }

body.calculators-redesign-page .header-top {
  display: flex;
  min-height: 58px;
  align-items: center;
  justify-content: space-between;
}

body.calculators-redesign-page .brand-mark {
  color: var(--ves-primary);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.72rem;
  font-weight: 500;
  letter-spacing: -.05em;
  text-decoration: none;
}

body.calculators-redesign-page .header-actions,
body.calculators-redesign-page .user-menu { display: flex; align-items: center; gap: 10px; }

body.calculators-redesign-page .user-menu { position: relative !important; margin: 0 !important; }

body.calculators-redesign-page .theme-btn,
body.calculators-redesign-page .user-btn {
  height: 34px;
  min-height: 34px;
  margin: 0 !important;
  border: 1px solid var(--ves-line);
  border-radius: 6px;
  background: transparent !important;
  color: var(--ves-ink) !important;
  box-shadow: none !important;
}

body.calculators-redesign-page .theme-btn { display: grid; width: 34px; place-items: center; padding: 0; }
body.calculators-redesign-page .user-btn { display: inline-flex; align-items: center; gap: 8px; padding: 0 13px; font-size: .86rem; font-weight: 650; }
body.calculators-redesign-page .theme-btn .app-icon,
body.calculators-redesign-page .user-btn .app-icon { color: var(--ves-primary); }

body.calculators-redesign-page .theme-btn:hover,
body.calculators-redesign-page .user-btn:hover { border-color: var(--ves-primary); background: var(--ves-primary-soft) !important; color: var(--ves-primary) !important; }

body.calculators-redesign-page > header .site-switcher {
  position: absolute !important;
  top: 0 !important;
  right: auto !important;
  bottom: auto !important;
  left: 50%;
  display: flex;
  height: 58px;
  align-items: center;
  gap: 32px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: translateX(-50%) !important;
}

body.calculators-redesign-page > header .site-switcher a {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 58px;
  color: var(--ves-muted);
  font-size: .76rem;
  font-weight: 580;
  text-decoration: none;
  white-space: nowrap;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.calculators-redesign-page > header .site-switcher a::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  background: transparent;
  content: "";
}
body.calculators-redesign-page > header .site-switcher a:hover,
body.calculators-redesign-page > header .site-switcher a:focus-visible { color: var(--ves-primary); }
body.calculators-redesign-page .site-switcher .app-icon { width: 1em; color: currentColor; }

body.calculators-redesign-page > .page-intro {
  width: min(100%, 1080px);
  margin: 0 auto 14px;
  padding: 19px 0 12px;
  text-align: center;
}
body.calculators-redesign-page > .page-intro h1 {
  margin: 0;
  color: var(--ves-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.15rem, 3.4vw, 3rem);
  font-weight: 500;
  letter-spacing: -.05em;
  line-height: 1.05;
}
body.calculators-redesign-page > .page-intro p { margin: 8px auto 0; color: var(--ves-muted); font-size: .88rem; }

body.calculators-redesign-page main { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 12px; align-items: start; }
body.calculators-redesign-page main > .ad-slot,
body.calculators-redesign-page main > #info-tabs,
body.calculators-redesign-page main > #history-section,
body.calculators-redesign-page main > .seo-entry-card,
body.calculators-redesign-page main > #chart-section { grid-column: 1 / -1; }

body.calculators-redesign-page #calculator-section,
body.calculators-redesign-page #results-section {
  margin: 0;
  padding: 13px;
  border: 1px solid var(--ves-line);
  border-radius: var(--ves-radius-sm);
  background: var(--ves-surface);
  box-shadow: none !important;
}
body.calculators-redesign-page #bmi-form { display: grid; gap: 13px; padding: 0; border: 0; background: transparent !important; box-shadow: none !important; }
body.calculators-redesign-page #bmi-form > .input-group { margin: 0; }
body.calculators-redesign-page #bmi-form > .input-group > label { color: var(--ves-ink); font-size: .78rem; font-weight: 650; }

body.calculators-redesign-page .unit-toggle,
body.calculators-redesign-page .gender-selector { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; padding: 2px; border: 1px solid var(--ves-line); border-radius: 5px; background: var(--ves-soft); }
body.calculators-redesign-page .unit-toggle { margin-bottom: 12px; }
body.calculators-redesign-page .unit-btn,
body.calculators-redesign-page .gender-selector label { display: inline-flex; min-height: 31px; align-items: center; justify-content: center; gap: 7px; margin: 0; padding: 0 8px; border: 0; border-radius: 4px; background: transparent; color: var(--ves-muted); font-size: .71rem; font-weight: 630; box-shadow: none; }
body.calculators-redesign-page .unit-btn.active,
body.calculators-redesign-page .gender-selector input:checked + label { background: var(--ves-primary); color: #fff; }
body.calculators-redesign-page .gender-selector input { position: absolute; width: 1px; height: 1px; opacity: 0; }

body.calculators-redesign-page input[type="number"] { text-align: center; appearance: textfield; -moz-appearance: textfield; }
body.calculators-redesign-page input[type="number"]::-webkit-outer-spin-button,
body.calculators-redesign-page input[type="number"]::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; }
body.calculators-redesign-page input[type="range"] { accent-color: var(--ves-primary); }

body.calculators-redesign-page .activity-selector { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 5px; }
body.calculators-redesign-page .activity-card { min-height: 60px; padding: 8px 4px; border: 1px solid var(--ves-line); border-radius: 5px; background: var(--ves-soft); text-align: center; }
body.calculators-redesign-page .activity-card .activity-title { display: block; font-size: .64rem; }
body.calculators-redesign-page .activity-card small { display: block; margin-top: 3px; font-size: .57rem; color: var(--ves-muted); }

body.calculators-redesign-page .actions { display: grid; grid-template-columns: 1fr; gap: 7px; margin: 0; }
body.calculators-redesign-page #calc-btn,
body.calculators-redesign-page #reset-btn { width: 100%; min-height: 33px; margin: 0; border-radius: 5px; box-shadow: none; font-size: .78rem; font-weight: 700; }
body.calculators-redesign-page #calc-btn { border: 1px solid var(--ves-primary); background: var(--ves-primary); color: #fff; }
body.calculators-redesign-page #reset-btn { border: 1px solid var(--ves-line); background: transparent; color: var(--ves-primary); }

body.calculators-redesign-page #results-section { min-height: 100%; }
body.calculators-redesign-page .results-grid,
body.calculators-redesign-page #weight-analysis-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
body.calculators-redesign-page .results-card { min-height: 118px; padding: 14px; border: 1px solid var(--ves-line); border-radius: 7px; background: var(--ves-soft); box-shadow: none !important; }
body.calculators-redesign-page .results-card h4 { margin: 0 0 8px; color: var(--ves-ink); font-size: .82rem; }
body.calculators-redesign-page .results-card p { color: var(--ves-muted); font-size: .71rem; line-height: 1.45; }
body.calculators-redesign-page .results-card > div { color: var(--ves-primary); font-weight: 700; }
body.calculators-redesign-page .goal-select { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; }
body.calculators-redesign-page .goal-btn { min-height: 28px; padding: 3px; border: 1px solid var(--ves-line); border-radius: 4px; background: #fff; color: var(--ves-muted); font-size: .62rem; }
body.calculators-redesign-page .goal-btn.active { border-color: var(--ves-primary); background: var(--ves-primary-soft); color: var(--ves-primary); }

body.calculators-redesign-page #info-tabs,
body.calculators-redesign-page #history-section,
body.calculators-redesign-page .seo-entry-card,
body.calculators-redesign-page #chart-section { border: 1px solid var(--ves-line); border-radius: var(--ves-radius-sm); background: var(--ves-surface); box-shadow: none !important; }

html[data-theme="dark"] body.calculators-redesign-page { --ves-ink: #eef4f3; --ves-muted: #aab8b7; --ves-line: #2a3a3a; --ves-surface: #161d1d; --ves-soft: #111718; --ves-primary: #4bb0a1; --ves-primary-hover: #64c4b6; --ves-primary-soft: rgba(75, 176, 161, .16); background: #0d1112; }
html[data-theme="dark"] body.calculators-redesign-page > header { background: #111718 !important; border-bottom-color: rgba(161,185,182,.2) !important; }
html[data-theme="dark"] body.calculators-redesign-page .unit-btn.active,
html[data-theme="dark"] body.calculators-redesign-page .gender-selector input:checked + label,
html[data-theme="dark"] body.calculators-redesign-page #calc-btn { background: #2a766d; border-color: #2a766d; }
html[data-theme="dark"] body.calculators-redesign-page .results-card,
html[data-theme="dark"] body.calculators-redesign-page .goal-btn { background: #111718; }

/* Exact BMI form anatomy: this block deliberately wins over legacy calculator rules. */
body.calculators-redesign-page > .page-intro {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.calculators-redesign-page > .page-intro h1,
body.calculators-redesign-page > .page-intro p { text-align: center !important; }
body.calculators-redesign-page main {
  grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr) !important;
  gap: 12px !important;
}
body.calculators-redesign-page #calculator-section {
  display: block !important;
  padding: 13px !important;
  border-color: var(--ves-line) !important;
  border-radius: 7px !important;
  background: var(--ves-surface) !important;
}
body.calculators-redesign-page #bmi-form {
  display: grid !important;
  gap: 14px !important;
}
body.calculators-redesign-page #bmi-form > .input-group {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 86px minmax(0, 1fr) !important;
  gap: 7px 10px !important;
  align-items: center !important;
}
body.calculators-redesign-page #bmi-form > .input-group:first-child,
body.calculators-redesign-page #bmi-form > .input-group:has(.activity-selector) {
  display: block !important;
}
body.calculators-redesign-page #bmi-form > .input-group > label {
  grid-column: 1 !important;
  align-self: center !important;
  margin: 0 !important;
  font-size: .78rem !important;
}
body.calculators-redesign-page #bmi-form > .input-group > input[type="number"] {
  grid-column: 2 !important;
  width: 86px !important;
  min-height: 30px !important;
  margin: 0 !important;
  padding: 4px 8px !important;
  border: 1px solid var(--ves-line) !important;
  border-radius: 5px !important;
  background: var(--ves-surface) !important;
  color: var(--ves-ink) !important;
  font-size: .82rem !important;
  font-variant-numeric: tabular-nums;
  text-align: center !important;
}
body.calculators-redesign-page #bmi-form > .input-group > input[type="range"] {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  min-height: 22px !important;
  margin: -2px 0 0 !important;
}
body.calculators-redesign-page #bmi-form > .input-group > .input-unit {
  grid-column: 3 !important;
  justify-self: end !important;
  color: var(--ves-muted) !important;
  font-size: .7rem !important;
}
body.calculators-redesign-page .unit-toggle {
  margin: 0 0 12px !important;
  padding: 2px !important;
  border-radius: 5px !important;
}
body.calculators-redesign-page .unit-btn { min-height: 31px !important; font-size: .71rem !important; }
body.calculators-redesign-page .gender-selector {
  width: 100% !important;
  margin-top: 5px !important;
  padding: 2px !important;
  border-radius: 5px !important;
}
body.calculators-redesign-page .gender-selector label {
  width: 100% !important;
  min-height: 29px !important;
  border: 0 !important;
  border-radius: 4px !important;
  background: transparent !important;
  color: var(--ves-muted) !important;
}
body.calculators-redesign-page .gender-selector .gender-icon {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}
body.calculators-redesign-page .gender-selector input:checked + label {
  background: var(--ves-primary-soft) !important;
  color: var(--ves-primary) !important;
}
body.calculators-redesign-page input[type="range"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.calculators-redesign-page input[type="range"]::-webkit-slider-runnable-track {
  height: 4px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(to right, var(--ves-primary) 0 var(--range-progress, 50%), #dfe5e4 var(--range-progress, 50%) 100%) !important;
}
body.calculators-redesign-page input[type="range"]::-webkit-slider-thumb {
  width: 14px !important;
  height: 14px !important;
  margin-top: -5px !important;
  border: 3px solid var(--ves-surface) !important;
  border-radius: 50% !important;
  background: var(--ves-primary) !important;
  box-shadow: 0 0 0 2px var(--ves-primary) !important;
}
body.calculators-redesign-page .actions { grid-template-columns: 1fr !important; gap: 7px !important; }
body.calculators-redesign-page #calc-btn,
body.calculators-redesign-page #reset-btn { min-height: 33px !important; font-size: .78rem !important; }
html[data-theme="dark"] body.calculators-redesign-page .gender-selector input:checked + label { color: #6ec4b7 !important; }

/* Header mirror of the approved BMI page: isolate it from all legacy header positioning. */
body.calculators-redesign-page > header {
  position: relative !important;
  z-index: 20 !important;
  width: calc(100% + 48px) !important;
  height: 66px !important;
  min-height: 66px !important;
  margin: 0 -24px !important;
  padding: 0 max(24px, calc((100vw - 1200px) / 2)) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(161, 185, 182, .2) !important;
  border-radius: 0 !important;
  background: #111718 !important;
  box-shadow: none !important;
}
body.calculators-redesign-page > header .header-top {
  position: relative !important;
  display: flex !important;
  width: 100% !important;
  height: 66px !important;
  min-height: 66px !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.calculators-redesign-page > header .brand-mark {
  position: static !important;
  z-index: 2 !important;
  display: block !important;
  margin: 0 !important;
  color: #f0f5f4 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 1.58rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: -.055em !important;
  text-shadow: none !important;
  transform: none !important;
}
body.calculators-redesign-page > header .header-actions {
  position: static !important;
  z-index: 3 !important;
  display: flex !important;
  height: 66px !important;
  align-items: center !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}
body.calculators-redesign-page > header .user-menu {
  position: static !important;
  display: flex !important;
  height: auto !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}
body.calculators-redesign-page > header #theme-toggle.theme-btn {
  position: static !important;
  inset: auto !important;
  display: grid !important;
  flex: 0 0 34px !important;
  width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  place-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #2b3a39 !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: #6ec4b7 !important;
  box-shadow: none !important;
  transform: none !important;
}
body.calculators-redesign-page > header #login-btn.user-btn {
  position: static !important;
  display: inline-flex !important;
  height: 34px !important;
  min-height: 34px !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border: 1px solid #2b3a39 !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: #eef4f3 !important;
  font-size: .86rem !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  transform: none !important;
}
body.calculators-redesign-page > header .site-switcher {
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 2 !important;
  display: flex !important;
  width: auto !important;
  height: 66px !important;
  min-height: 66px !important;
  align-items: center !important;
  gap: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: translateX(-50%) !important;
}
body.calculators-redesign-page > header .site-switcher a {
  position: relative !important;
  display: inline-flex !important;
  width: auto !important;
  height: 66px !important;
  min-height: 66px !important;
  align-items: center !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #aab8b7 !important;
  font-size: .76rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transform: none !important;
}
body.calculators-redesign-page > header .site-switcher .app-icon { display: none !important; }
body.calculators-redesign-page > header .site-switcher a.is-current { color: #eef4f3 !important; }
body.calculators-redesign-page > header .site-switcher a::after { background: transparent !important; }
body.calculators-redesign-page > header .site-switcher a.is-current::after {
  position: absolute !important;
  right: 0 !important;
  bottom: -1px !important;
  left: 0 !important;
  display: block !important;
  height: 2px !important;
  background: #4bb0a1 !important;
  content: "" !important;
}
body.calculators-redesign-page > header .theme-btn .app-icon,
body.calculators-redesign-page > header .user-btn .app-icon { color: #6ec4b7 !important; }
html:not([data-theme="dark"]) body.calculators-redesign-page > header { background: #fbfcfc !important; border-bottom-color: rgba(133, 154, 153, .3) !important; }
html:not([data-theme="dark"]) body.calculators-redesign-page > header .brand-mark,
html:not([data-theme="dark"]) body.calculators-redesign-page > header #login-btn.user-btn,
html:not([data-theme="dark"]) body.calculators-redesign-page > header .site-switcher a.is-current { color: #142326 !important; }
html:not([data-theme="dark"]) body.calculators-redesign-page > header .site-switcher a { color: #647276 !important; }
@media (max-width: 760px) {
  body.calculators-redesign-page > header { height: auto !important; min-height: 50px !important; }
  body.calculators-redesign-page > header .header-top { height: 50px !important; min-height: 50px !important; }
  body.calculators-redesign-page > header .site-switcher { position: static !important; width: 100% !important; height: 34px !important; min-height: 34px !important; justify-content: center !important; gap: 18px !important; transform: none !important; }
  body.calculators-redesign-page > header .site-switcher a { height: 34px !important; min-height: 34px !important; font-size: .66rem !important; }
}

@media (max-width: 820px) {
  body.calculators-redesign-page { padding-inline: 14px; }
  body.calculators-redesign-page > header { width: calc(100% + 28px); margin-inline: -14px; padding-inline: 14px; }
  body.calculators-redesign-page > header .site-switcher { position: static !important; transform: none !important; order: 3; width: 100%; height: auto; justify-content: center; padding: 0 0 10px !important; gap: 16px; }
  body.calculators-redesign-page .header-top { flex-wrap: wrap; }
  body.calculators-redesign-page > header .site-switcher a { height: 26px; font-size: .68rem; }
  body.calculators-redesign-page main { grid-template-columns: 1fr; }
}
@media (max-width: 540px) {
  body.calculators-redesign-page .brand-mark { font-size: 1.45rem; }
  body.calculators-redesign-page .user-btn span { display: none; }
  body.calculators-redesign-page .activity-selector { grid-template-columns: repeat(2, 1fr); }
  body.calculators-redesign-page .results-grid,
  body.calculators-redesign-page #weight-analysis-grid { grid-template-columns: 1fr; }
}

/* /weight/: pixel-match the approved /bmi/ header at desktop width. */
body.weight-page > header {
  height: 58px !important;
  min-height: 58px !important;
}
body.weight-page > header .header-top {
  height: 58px !important;
  min-height: 58px !important;
}
body.weight-page > header .brand-mark {
  font-size: 1.72rem !important;
  color: #eff4f2 !important;
  letter-spacing: -.045em !important;
}
body.weight-page > header .header-actions,
body.weight-page > header .user-menu {
  height: 58px !important;
}
body.weight-page > header .header-actions {
  gap: 14px !important;
}
body.weight-page > header #login-btn.user-btn {
  gap: 10px !important;
  padding: 12px 22px !important;
  color: #eff4f2 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}
body.weight-page > header .site-switcher {
  height: 58px !important;
  min-height: 58px !important;
  gap: 38px !important;
  z-index: 7 !important;
}
body.weight-page > header .site-switcher a {
  height: 58px !important;
  min-height: 58px !important;
  color: #a7b4b2 !important;
  font-size: .78rem !important;
}
body.weight-page > header .site-switcher a.is-current {
  color: #eff4f2 !important;
}
body.weight-page > header #theme-toggle.theme-btn {
  border-color: rgba(133, 154, 153, .28) !important;
  color: #49a79a !important;
}
body.weight-page > header #theme-toggle .app-icon,
body.weight-page > header #theme-toggle .app-icon use {
  color: #49a79a !important;
  fill: none !important;
  stroke: #49a79a !important;
}
body.weight-page > header #login-btn .app-icon,
body.weight-page > header #login-btn .app-icon use {
  color: #49a79a !important;
  fill: none !important;
  stroke: #49a79a !important;
}

@media (max-width: 760px) {
  body.weight-page > header,
  body.weight-page > header .header-top {
    height: auto !important;
    min-height: 50px !important;
  }
}

/* /weight/: match the approved BMI form scale and teal control language. */
html[data-theme="dark"] body.weight-page {
  --ves-ink: #eff4f2;
  --ves-muted: #a7b4b2;
  --ves-line: #2b3736;
  --ves-surface: #171c1d;
  --ves-soft: #111516;
  --ves-primary: #49a79a;
  --ves-primary-hover: #61b9ac;
  --ves-primary-soft: rgba(73, 167, 154, .16);
}

body.weight-page > .page-intro {
  margin-bottom: 10px !important;
  padding: 18px 0 12px !important;
}

body.weight-page > .page-intro h1 {
  font-size: 2.65rem !important;
  line-height: 1 !important;
}

body.weight-page > .page-intro p {
  font-size: .78rem !important;
  line-height: 1.5 !important;
}

/* /calories/: reuse the finished /weight header and title proportions.
   Page-specific content and the current navigation item remain untouched. */
body.calories-page > header {
  height: 58px !important;
  min-height: 58px !important;
}
body.calories-page > header .header-top {
  height: 58px !important;
  min-height: 58px !important;
}
body.calories-page > header .brand-mark {
  font-size: 1.72rem !important;
  color: #eff4f2 !important;
  letter-spacing: -.045em !important;
}
body.calories-page > header .header-actions,
body.calories-page > header .user-menu {
  height: 58px !important;
}
body.calories-page > header .header-actions { gap: 14px !important; }
body.calories-page > header #login-btn.user-btn {
  gap: 10px !important;
  padding: 12px 22px !important;
  color: #eff4f2 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}
body.calories-page > header .site-switcher {
  height: 58px !important;
  min-height: 58px !important;
  gap: 38px !important;
  z-index: 7 !important;
}
body.calories-page > header .site-switcher a {
  height: 58px !important;
  min-height: 58px !important;
  color: #a7b4b2 !important;
  font-size: .78rem !important;
}
body.calories-page > header .site-switcher a.is-current { color: #eff4f2 !important; }
body.calories-page > header #theme-toggle.theme-btn {
  border-color: rgba(133, 154, 153, .28) !important;
  color: #49a79a !important;
}
body.calories-page > header #theme-toggle .app-icon,
body.calories-page > header #theme-toggle .app-icon use,
body.calories-page > header #login-btn .app-icon,
body.calories-page > header #login-btn .app-icon use {
  color: #49a79a !important;
  fill: none !important;
  stroke: #49a79a !important;
}
body.calories-page > .page-intro {
  margin-bottom: 10px !important;
  padding: 18px 0 12px !important;
}
body.calories-page > .page-intro h1 {
  font-size: 2.65rem !important;
  line-height: 1 !important;
}
body.calories-page > .page-intro p {
  font-size: .78rem !important;
  line-height: 1.5 !important;
}

/* /meta/: use the same finished header and title shell as /calories/. */
body.meta-page > header,
body.meta-page > header .header-top {
  height: 58px !important;
  min-height: 58px !important;
}

body.meta-page > header .brand-mark {
  color: #eff4f2 !important;
  font-size: 1.72rem !important;
  letter-spacing: -.045em !important;
}

body.meta-page > header .header-actions,
body.meta-page > header .user-menu {
  height: 58px !important;
}

body.meta-page > header .header-actions { gap: 14px !important; }

body.meta-page > header #login-btn.user-btn {
  gap: 10px !important;
  padding: 12px 22px !important;
  color: #eff4f2 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}

body.meta-page > header .site-switcher {
  height: 58px !important;
  min-height: 58px !important;
  z-index: 7 !important;
}

body.meta-page > header .site-switcher a {
  height: 58px !important;
  min-height: 58px !important;
  color: #a7b4b2 !important;
  font-size: .78rem !important;
}

body.meta-page > header .site-switcher a.is-current { color: #eff4f2 !important; }

body.meta-page > header #theme-toggle.theme-btn {
  border-color: rgba(133, 154, 153, .28) !important;
  color: #49a79a !important;
}

body.meta-page > header #theme-toggle .app-icon,
body.meta-page > header #theme-toggle .app-icon use,
body.meta-page > header #login-btn .app-icon,
body.meta-page > header #login-btn .app-icon use {
  color: #49a79a !important;
  fill: none !important;
  stroke: #49a79a !important;
}

body.meta-page > .page-intro {
  margin-bottom: 10px !important;
  padding: 18px 0 12px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.meta-page > .page-intro h1 {
  font-size: 2.65rem !important;
  line-height: 1 !important;
}

body.meta-page > .page-intro p {
  font-size: .78rem !important;
  line-height: 1.5 !important;
}

@media (max-width: 760px) {
  body.calories-page > header,
  body.calories-page > header .header-top,
  body.meta-page > header,
  body.meta-page > header .header-top {
    height: auto !important;
    min-height: 50px !important;
  }
}

body.weight-page main {
  width: min(100%, 1080px) !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin-inline: auto !important;
}

body.weight-page #calculator-section {
  padding: 12px !important;
}

body.weight-page #bmi-form {
  gap: 8px !important;
}

body.weight-page #bmi-form > .input-group:not(:first-child) {
  grid-template-columns: minmax(0, 1fr) 86px minmax(0, 1fr) !important;
  grid-template-rows: 30px 24px !important;
  gap: 2px 10px !important;
}

body.weight-page #bmi-form > .input-group > label,
body.weight-page #bmi-form > .input-group > input[type="number"],
body.weight-page #bmi-form > .input-group > .input-unit {
  grid-row: 1 !important;
}

body.weight-page #bmi-form > .input-group > input[type="range"] {
  grid-row: 2 !important;
  margin: 0 !important;
}

body.weight-page .unit-btn {
  height: 29px !important;
  min-height: 29px !important;
  padding: 0 !important;
  font-size: .71rem !important;
  font-weight: 620 !important;
}

body.weight-page .unit-toggle {
  margin-bottom: 2px !important;
}

body.weight-page .unit-btn.active,
html[data-theme="dark"] body.weight-page .unit-btn.active,
html[data-theme="dark"] body.weight-page #calc-btn {
  border-color: var(--ves-primary) !important;
  background: var(--ves-primary) !important;
}

html[data-theme="dark"] body.weight-page #reset-btn {
  color: var(--ves-primary) !important;
}

body.weight-page .gender-selector {
  min-height: 35px !important;
  margin-top: 4px !important;
  background: var(--ves-soft) !important;
  box-shadow: none !important;
  filter: none !important;
}

body.weight-page .gender-selector label,
body.weight-page .gender-selector input:checked + label {
  min-height: 29px !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  font-size: .73rem !important;
  font-weight: 620 !important;
}

body.weight-page .gender-selector input:checked + label {
  background: rgba(11, 77, 74, .16) !important;
  color: var(--ves-primary) !important;
}

html[data-theme="dark"] body.weight-page .gender-selector input:checked + label {
  background: rgba(73, 167, 154, .19) !important;
  color: #6ec4b7 !important;
}

body.weight-page .gender-selector input:focus-visible + label {
  outline: 1px solid var(--ves-primary) !important;
  outline-offset: -2px !important;
}

body.weight-page #calc-btn,
body.weight-page #reset-btn {
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  font-size: .78rem !important;
  font-weight: 720 !important;
}

body.weight-page #reset-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
}

body.weight-page .reset-icon {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.weight-page input[type="range"] {
  accent-color: var(--ves-primary) !important;
}

body.weight-page input[type="range"]::-webkit-slider-runnable-track {
  height: 3px !important;
  border: 0 !important;
  background: linear-gradient(
    to right,
    var(--ves-primary) 0 var(--range-progress, 50%),
    #dfe5e4 var(--range-progress, 50%) 100%
  ) !important;
  box-shadow: none !important;
}

body.weight-page input[type="range"]::-webkit-slider-thumb {
  width: 12px !important;
  height: 12px !important;
  margin-top: -4.5px !important;
  border: 2px solid var(--ves-surface) !important;
  background: var(--ves-primary) !important;
  box-shadow: 0 0 0 2px var(--ves-primary) !important;
}

body.weight-page input[type="range"]::-moz-range-track {
  height: 3px !important;
  border: 0 !important;
  background: #dfe5e4 !important;
  box-shadow: none !important;
}

body.weight-page input[type="range"]::-moz-range-progress {
  height: 3px !important;
  background: var(--ves-primary) !important;
}

body.weight-page input[type="range"]::-moz-range-thumb {
  width: 12px !important;
  height: 12px !important;
  border: 2px solid var(--ves-surface) !important;
  background: var(--ves-primary) !important;
  box-shadow: 0 0 0 2px var(--ves-primary) !important;
}

html[data-theme="dark"] body.weight-page input[type="range"]::-webkit-slider-runnable-track {
  background: linear-gradient(
    to right,
    var(--ves-primary) 0 var(--range-progress, 50%),
    #3a4645 var(--range-progress, 50%) 100%
  ) !important;
}

html[data-theme="dark"] body.weight-page input[type="range"]::-moz-range-track {
  background: #3a4645 !important;
}

@media (max-width: 820px) {
  body.weight-page main {
    width: min(100%, 700px) !important;
    grid-template-columns: 1fr !important;
  }
}

/* /weight/: result hierarchy — one clear answer next to the form, details below. */
body.weight-page main > #results-section {
  grid-column: 2;
  grid-row: 1;
  min-height: 0 !important;
  padding: 12px !important;
  border-color: var(--ves-line) !important;
  border-radius: 7px !important;
  background: var(--ves-surface) !important;
  box-shadow: none !important;
}

/* /weight/: retain the right-hand result surface before the first calculation.
   This mirrors the finished BMI empty state without exposing placeholder data. */
body.weight-page main > #results-section:not([style*="display: block"]) {
  display: grid !important;
  min-height: 362px !important;
  place-items: center;
}

body.weight-page main > #results-section:not([style*="display: block"]) > :not(#weight-empty-results-message) {
  display: none !important;
}

body.weight-page #weight-empty-results-message {
  display: none;
  max-width: 26rem;
  margin: 0 auto;
  color: var(--ves-muted);
  font-size: .96rem;
  line-height: 1.6;
  text-align: center;
}

body.weight-page main > #results-section:not([style*="display: block"]) > #weight-empty-results-message {
  display: block;
}

body.weight-page main > #results-section[style*="display: block"] > #weight-empty-results-message {
  display: none;
}

body.weight-page #results-section {
  gap: 8px;
}

body.weight-page #results-section > .streak-spotlight {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  align-items: center;
  gap: 4px 16px;
  min-height: 58px;
  margin: 0;
  padding: 9px 12px;
  border: 1px solid var(--ves-line);
  border-radius: 5px;
  background: var(--ves-soft);
  box-shadow: none !important;
}

body.weight-page #results-section > .streak-spotlight .streak-spotlight__badge {
  display: flex;
  grid-column: 2;
  grid-row: 1 / span 2;
  align-items: center;
  justify-content: flex-end;
  min-width: 74px;
  padding: 0;
  border: 0;
  background: transparent;
}

body.weight-page #results-section > .streak-spotlight .streak-spotlight__badge > .app-icon,
body.weight-page #results-section > .streak-spotlight h2,
body.weight-page #results-section > .streak-spotlight p,
body.weight-page #results-section > .streak-spotlight .streak-spotlight__progress-wrap,
body.weight-page #results-section > .streak-spotlight .streak-spotlight__action {
  display: none !important;
}

body.weight-page #results-section > .streak-spotlight .streak-spotlight__body {
  display: contents;
}

body.weight-page #results-section > .streak-spotlight .streak-spotlight__eyebrow {
  grid-column: 1;
  grid-row: 1;
  color: var(--ves-ink);
  font-size: .74rem;
  font-weight: 650;
}

body.weight-page #results-section > .streak-spotlight .streak-spotlight__flames {
  display: flex;
  grid-column: 1;
  grid-row: 2;
  align-items: center;
  gap: 6px;
  height: 23px;
}

body.weight-page #results-section > .streak-spotlight .streak-spotlight__flames .app-icon {
  width: 18px;
  height: 22px;
  color: #53605f;
  fill: currentColor;
  stroke: currentColor;
}

body.weight-page #results-section > .streak-spotlight .streak-spotlight__flames .app-icon.is-lit {
  color: #f7ae3d;
}

body.weight-page #results-section > .streak-spotlight .streak-spotlight__count {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  color: #f0a94a;
  line-height: 1;
}

body.weight-page #results-section > .streak-spotlight .streak-spotlight__count[hidden] {
  display: none;
}

body.weight-page #results-section > .streak-spotlight .streak-spotlight__count b {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.65rem;
  font-weight: 500;
}

body.weight-page #results-section > .streak-spotlight .streak-spotlight__count small {
  margin-top: 3px;
  color: var(--ves-muted);
  font-size: .62rem;
}

body.weight-page #ideal-weight-wrapper {
  display: flex !important;
  min-height: 318px;
  margin: 0;
  padding: 19px 17px 0;
  border: 1px solid var(--ves-line);
  border-radius: 6px;
  background: var(--ves-soft) !important;
  box-shadow: none !important;
}

body.weight-page #ideal-weight-wrapper::before,
body.weight-page #ideal-weight-wrapper::after {
  display: none !important;
  background: none !important;
  content: none !important;
}

html[data-theme="dark"] body.weight-page #ideal-weight-wrapper {
  background: #111516 !important;
  background-image: none !important;
}

html[data-theme="dark"] body.weight-page #results-section > .streak-spotlight,
html[data-theme="dark"] body.weight-page #results-section > .streak-spotlight[data-state="restore"] {
  background: #111516 !important;
  background-image: none !important;
}

body.weight-page #results-section > .streak-spotlight::before,
body.weight-page #results-section > .streak-spotlight::after {
  display: none !important;
  background: none !important;
  content: none !important;
}

body.weight-page #ideal-weight-wrapper > p:first-child {
  margin: 0 0 17px;
  color: var(--ves-ink);
  font-size: .79rem;
  font-weight: 600;
}

body.weight-page #ideal-weight-wrapper .ideal-range {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 30px minmax(0, 1fr);
  align-items: end;
  gap: 8px;
  margin: 0;
}

body.weight-page #ideal-weight-wrapper .ideal-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
}

body.weight-page #ideal-weight-wrapper .ideal-item > span {
  color: var(--ves-primary) !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.85rem, 5vw, 3.75rem);
  font-weight: 500;
  letter-spacing: -.06em;
  line-height: .92;
  background: none !important;
  -webkit-background-clip: border-box !important;
  -webkit-text-fill-color: var(--ves-primary) !important;
  text-shadow: none !important;
}

body.weight-page #ideal-weight-wrapper .ideal-item small {
  margin-top: 9px;
  color: var(--ves-muted);
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .16em;
}

body.weight-page #ideal-weight-wrapper .ideal-divider {
  width: 30px;
  height: 1px;
  margin: 0 0 23px;
  background: var(--ves-primary);
}

body.weight-page .ideal-range-rail {
  position: relative;
  height: 20px;
  margin: 19px 4px 0;
}

body.weight-page .ideal-range-rail__line {
  position: absolute;
  top: 9px;
  right: 0;
  left: 0;
  height: 3px;
  border-radius: 999px;
  background: var(--ves-primary);
}

body.weight-page .ideal-range-rail__line::before,
body.weight-page .ideal-range-rail__line::after {
  position: absolute;
  top: -5px;
  width: 1px;
  height: 13px;
  background: var(--ves-ink);
  content: "";
}

body.weight-page .ideal-range-rail__line::before { left: 0; }
body.weight-page .ideal-range-rail__line::after { right: 0; }

body.weight-page .ideal-range-rail__marker {
  position: absolute;
  top: 3px;
  width: 13px;
  height: 13px;
  transform: translateX(-50%);
  border: 2px solid var(--ves-surface);
  border-radius: 50%;
  background: var(--ves-primary);
  box-shadow: 0 0 0 2px var(--ves-primary);
}

body.weight-page .ideal-range-legend {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: start;
  color: var(--ves-muted);
  font-size: .64rem;
}

body.weight-page .ideal-range-legend > :last-child { text-align: right; }
body.weight-page .ideal-range-legend strong {
  margin-top: 16px;
  color: var(--ves-primary);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1rem;
  font-weight: 500;
}

body.weight-page .ideal-range-status {
  margin: 12px 0 14px !important;
  color: var(--ves-primary) !important;
  font-size: .78rem !important;
  font-weight: 600;
  text-align: center;
}

body.weight-page .weight-result-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: auto -17px 0;
  border-top: 1px solid var(--ves-line);
}

body.weight-page .weight-result-summary__item {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 12px 17px 13px;
}

body.weight-page .weight-result-summary__item + .weight-result-summary__item {
  border-left: 1px solid var(--ves-line);
}

body.weight-page .weight-result-summary__item span {
  color: var(--ves-muted);
  font-size: .66rem;
}

body.weight-page .weight-result-summary__item strong {
  color: var(--ves-primary);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.08rem;
  font-weight: 500;
  white-space: nowrap;
}

body.weight-page #weight-details-section {
  display: grid;
  grid-column: 1 / -1;
  gap: 8px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

body.weight-page #weight-analysis-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

body.weight-page #weight-analysis-grid > .results-card {
  min-height: 152px;
  margin: 0;
  padding: 14px 15px;
  border-color: var(--ves-line) !important;
  border-radius: 7px;
  background: var(--ves-surface) !important;
  box-shadow: none !important;
}

body.weight-page #weight-analysis-grid > .results-card::before,
body.weight-page #weight-analysis-grid > .results-card::after {
  display: none !important;
  content: none !important;
}

body.weight-page #weight-analysis-grid .app-icon {
  width: 14px;
  height: 14px;
  color: var(--ves-primary);
}

body.weight-page #weight-analysis-grid h4 {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0 0 7px;
  color: var(--ves-ink);
  font-size: .77rem;
}

body.weight-page #weight-analysis-grid p {
  margin: 0 0 11px;
  color: var(--ves-muted);
  font-size: .65rem;
  line-height: 1.35;
}

body.weight-page #weight-analysis-grid .profile-status,
body.weight-page #weight-analysis-grid .energy-status-badge {
  margin: 0 0 6px;
  text-align: center;
}

body.weight-page #weight-analysis-grid .profile-status span,
body.weight-page #weight-analysis-grid .energy-status-badge span,
body.weight-page #weight-analysis-grid .profile-main span,
body.weight-page #weight-analysis-grid .energy-status-main span {
  color: var(--ves-primary) !important;
}

body.weight-page #weight-analysis-grid .profile-main,
body.weight-page #weight-analysis-grid .energy-status-main,
body.weight-page #weight-analysis-grid .gap-main,
body.weight-page #weight-analysis-grid .recommendation-main {
  display: grid;
  gap: 3px;
  color: var(--ves-muted);
  font-size: .66rem;
  text-align: center;
}

body.weight-page #weight-analysis-grid .profile-note,
body.weight-page #weight-analysis-grid .energy-status-note,
body.weight-page #weight-analysis-grid .gap-note,
body.weight-page #weight-analysis-grid .recommendation-note {
  display: none;
}

body.weight-page #weight-analysis-grid .gap-main span,
body.weight-page #weight-analysis-grid .recommendation-main span {
  color: var(--ves-primary);
}

body.weight-page #normal-range-gap-card .gap-main {
  width: min(100%, 258px);
  margin: 13px auto 0;
  gap: 7px;
  color: var(--ves-ink);
  font-size: .76rem;
  font-weight: 620;
  line-height: 1.3;
  text-align: left;
}

body.weight-page #normal-range-gap-card .gap-main > div {
  display: flex !important;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

body.weight-page #normal-range-gap-card .gap-main span {
  color: var(--ves-primary);
  font-size: .82rem;
  font-weight: 720;
  white-space: nowrap;
}

body.weight-page #weight-recommendation-card .recommendation-main {
  width: 100%;
  margin: 13px 0 0;
  gap: 6px;
  font-size: .74rem;
  text-align: left;
}

body.weight-page #weight-recommendation-card .recommendation-main > div {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  min-height: 32px;
  padding: 6px 9px;
  border: 0 !important;
  border-radius: 3px !important;
  background: #1c2223 !important;
  color: var(--ves-muted);
  font-weight: 650;
}

body.weight-page #weight-recommendation-card .recommendation-main span {
  color: var(--ves-primary);
  font-size: .78rem;
  font-weight: 740;
  text-align: right;
}

body.weight-page #weight-details-section .goal-card {
  margin: 0;
  border-color: var(--ves-line);
  border-radius: 7px;
  background: var(--ves-surface);
  box-shadow: none !important;
}

/* /weight/: let the two primary cards share one deliberate baseline.
   The form uses its extra vertical room between its existing groups, rather
   than leaving an accidental blank column above the analysis cards. */
@media (min-width: 821px) {
  body.weight-page main {
    align-items: stretch !important;
  }

  body.weight-page #calculator-section {
    display: flex !important;
  }

  body.weight-page #bmi-form {
    flex: 1 1 auto;
    align-content: space-between;
  }
}

/* /weight/: legacy component fonts must not leak into the new calculator.
   Keep the deliberately editorial range numerals above, but use the current
   interface typeface everywhere a control, label, or analysis card appears. */
body.weight-page #calculator-section,
body.weight-page #calculator-section *,
body.weight-page #results-section > .streak-spotlight,
body.weight-page #results-section > .streak-spotlight *,
body.weight-page #weight-details-section,
body.weight-page #weight-details-section *,
body.weight-page .weight-result-summary__item {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  letter-spacing: 0 !important;
}

body.weight-page .weight-result-summary__item strong {
  font-size: .95rem;
  font-weight: 680;
}

body.weight-page #weight-analysis-grid h4 {
  font-size: .78rem;
  font-weight: 680;
  line-height: 1.2;
}

body.weight-page #weight-analysis-grid p {
  font-size: .66rem;
  line-height: 1.4;
}

body.weight-page #normal-range-gap-card .gap-main {
  font-size: .78rem;
  font-weight: 630;
}

body.weight-page #weight-recommendation-card .recommendation-main > div {
  font-size: .75rem;
  font-weight: 650;
}

body.weight-page #weight-recommendation-card .recommendation-main span {
  font-size: .78rem;
  font-weight: 700;
}

/* /weight/: detail cards use the same disciplined hierarchy as the new form.
   No legacy widgets or dark rounded rows: heading, one clear state, then
   compact labelled values. */
body.weight-page #weight-analysis-grid > .results-card {
  min-height: 166px;
  padding: 16px 17px 15px;
  border-radius: 7px;
  background: #151b1c !important;
}

body.weight-page #weight-analysis-grid h4 {
  margin-bottom: 8px;
  font-size: .76rem;
  font-weight: 680;
  letter-spacing: -.01em !important;
}

body.weight-page #weight-analysis-grid h4 .app-icon {
  width: 13px;
  height: 13px;
  opacity: .9;
}

body.weight-page #weight-analysis-grid > .results-card > p {
  margin: 0;
  color: #95a5a3;
  font-size: .64rem;
  line-height: 1.35;
  text-align: left;
}

body.weight-page #weight-analysis-grid .profile-status,
body.weight-page #weight-analysis-grid .energy-status-badge {
  margin: 13px 0 12px;
  text-align: left;
}

body.weight-page #weight-analysis-grid .profile-status span,
body.weight-page #weight-analysis-grid .energy-status-badge span {
  font-size: 1.02rem;
  font-weight: 680;
  letter-spacing: -.025em !important;
}

body.weight-page #weight-analysis-grid .profile-main,
body.weight-page #weight-analysis-grid .energy-status-main,
body.weight-page #normal-range-gap-card .gap-main,
body.weight-page #weight-recommendation-card .recommendation-main {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  margin: 0;
  gap: 0;
  color: var(--ves-ink);
  text-align: left;
}

body.weight-page #weight-analysis-grid .profile-main > div,
body.weight-page #weight-analysis-grid .energy-status-main > div,
body.weight-page #normal-range-gap-card .gap-main > div,
body.weight-page #weight-recommendation-card .recommendation-main > div {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  min-width: 0;
  min-height: 0;
  padding: 0 10px;
  border: 0 !important;
  border-left: 1px solid var(--ves-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body.weight-page #weight-analysis-grid .profile-main > div:first-child,
body.weight-page #weight-analysis-grid .energy-status-main > div:first-child,
body.weight-page #normal-range-gap-card .gap-main > div:first-child,
body.weight-page #weight-recommendation-card .recommendation-main > div:first-child {
  padding-left: 0;
  border-left: 0 !important;
}

body.weight-page #weight-analysis-grid .profile-main > div:last-child,
body.weight-page #weight-analysis-grid .energy-status-main > div:last-child,
body.weight-page #normal-range-gap-card .gap-main > div:last-child,
body.weight-page #weight-recommendation-card .recommendation-main > div:last-child {
  padding-right: 0;
}

body.weight-page #weight-analysis-grid .detail-label {
  display: block;
  overflow: hidden;
  max-width: 100%;
  color: #839391;
  font-size: .55rem;
  font-weight: 650;
  letter-spacing: .045em !important;
  line-height: 1.25;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

body.weight-page #weight-analysis-grid .profile-main span:not(.detail-label),
body.weight-page #weight-analysis-grid .energy-status-main span:not(.detail-label),
body.weight-page #normal-range-gap-card .gap-main span:not(.detail-label),
body.weight-page #weight-recommendation-card .recommendation-main span:not(.detail-label) {
  display: block;
  margin-top: 5px;
  overflow: hidden;
  max-width: 100%;
  font-size: .72rem;
  font-weight: 680;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.weight-page #normal-range-gap-card .gap-main,
body.weight-page #weight-recommendation-card .recommendation-main {
  margin-top: 17px;
}

body.weight-page #normal-range-gap-card .gap-main span:not(.detail-label),
body.weight-page #weight-recommendation-card .recommendation-main span:not(.detail-label) {
  font-size: .79rem;
}

/* Balance the four cards: keep teal for the decision, not every number.
   The norm card anchors its metrics to the lower edge, so its composition
   intentionally fills the card instead of leaving a dead zone underneath. */
body.weight-page #metabolic-profile-card .profile-main span:not(.detail-label),
body.weight-page #energy-status-card .energy-status-main span:not(.detail-label) {
  color: #e4ece9 !important;
}

body.weight-page #normal-range-gap-card {
  display: flex;
  flex-direction: column;
}

body.weight-page #normal-range-gap-card .gap-main {
  margin-top: auto;
  padding-top: 17px;
}

/* /weight/: detail cards are informational, not floating controls. */
body.weight-page #weight-details-section:hover,
body.weight-page #weight-analysis-grid > .results-card:hover {
  transform: none !important;
  box-shadow: none !important;
}

body.weight-page #weight-analysis-grid > .results-card:hover {
  border-color: var(--ves-line) !important;
}

/* /weight/: white theme must keep every result surface neutral. The previous
   late legacy rule painted the four analysis cards black in both themes. */
html:not([data-theme="dark"]) body.weight-page {
  --ves-soft: #f7f8f8;
}

html:not([data-theme="dark"]) body.weight-page #results-section > .streak-spotlight,
html:not([data-theme="dark"]) body.weight-page #ideal-weight-wrapper,
html:not([data-theme="dark"]) body.weight-page #weight-analysis-grid > .results-card {
  background: #ffffff !important;
  background-image: none !important;
}

html:not([data-theme="dark"]) body.weight-page #weight-analysis-grid > .results-card > p {
  color: #647276;
}

html:not([data-theme="dark"]) body.weight-page #metabolic-profile-card .profile-main span:not(.detail-label),
html:not([data-theme="dark"]) body.weight-page #energy-status-card .energy-status-main span:not(.detail-label) {
  color: #223436 !important;
}

html:not([data-theme="dark"]) body.weight-page #weight-analysis-grid .detail-label {
  color: #718080;
}

/* The weight calculator uses the same visual language as the BMI series:
   bigger readable fires, warm progression for achieved days and quiet grey
   placeholders for the remaining days. */
body.weight-page #results-section > .streak-spotlight .streak-spotlight__eyebrow {
  font-size: .79rem;
  font-weight: 720;
}

body.weight-page #results-section > .streak-spotlight .streak-spotlight__flames {
  gap: 7px;
  height: 27px;
}

body.weight-page #results-section > .streak-spotlight .streak-spotlight__flames .app-icon {
  width: 22px;
  height: 26px;
  color: #aeb8bb;
  stroke: currentColor;
  transition: color 180ms ease, transform 180ms ease;
}

body.weight-page #results-section > .streak-spotlight .streak-spotlight__flames .app-icon.is-lit {
  transform: scale(1.08);
}

body.weight-page #results-section > .streak-spotlight .streak-spotlight__flames .app-icon.is-lit:nth-child(1) { color: #ffd15a; }
body.weight-page #results-section > .streak-spotlight .streak-spotlight__flames .app-icon.is-lit:nth-child(2) { color: #ffc14e; }
body.weight-page #results-section > .streak-spotlight .streak-spotlight__flames .app-icon.is-lit:nth-child(3) { color: #ffad45; }
body.weight-page #results-section > .streak-spotlight .streak-spotlight__flames .app-icon.is-lit:nth-child(4) { color: #f8943d; }
body.weight-page #results-section > .streak-spotlight .streak-spotlight__flames .app-icon.is-lit:nth-child(5) { color: #ef7c38; }
body.weight-page #results-section > .streak-spotlight .streak-spotlight__flames .app-icon.is-lit:nth-child(6) { color: #e76a35; }

body.weight-page #results-section > .streak-spotlight .streak-spotlight__count {
  color: #d45d31;
}

body.weight-page #results-section > .streak-spotlight .streak-spotlight__count b {
  font-size: 1.78rem;
}

body.weight-page #results-section > .streak-spotlight .streak-spotlight__count small {
  color: #647276;
  font-size: .64rem;
  font-weight: 650;
}

/* /weight/: finish the lower reference/notice blocks in the active teal
   typography. These used to inherit the retired blue SEO treatment. */
body.weight-page .seo-entry-card {
  border-color: var(--ves-line) !important;
  background: var(--ves-surface) !important;
  box-shadow: none !important;
}

body.weight-page .seo-entry-card__eyebrow,
body.weight-page .disclaimer-kicker {
  color: var(--ves-primary) !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  letter-spacing: .055em !important;
}

body.weight-page .seo-entry-card h2 {
  color: var(--ves-ink) !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 1.32rem !important;
  font-weight: 680 !important;
  letter-spacing: -.025em !important;
  line-height: 1.12 !important;
}

body.weight-page .seo-entry-card p,
body.weight-page .disclaimer {
  color: var(--ves-muted) !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: .76rem !important;
  line-height: 1.55 !important;
}

body.weight-page .height-guide-links a {
  min-height: 37px;
  border-color: var(--ves-line) !important;
  border-radius: 6px;
  background: var(--ves-soft) !important;
  color: var(--ves-ink) !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: .72rem;
  font-weight: 660;
  box-shadow: none !important;
}

body.weight-page .height-guide-links a:hover,
body.weight-page .height-guide-links a:focus-visible {
  border-color: var(--ves-primary) !important;
  background: var(--ves-primary-soft) !important;
  color: var(--ves-primary) !important;
  transform: none !important;
}

body.weight-page .disclaimer-wrapper {
  border-color: var(--ves-line) !important;
  background: var(--ves-surface) !important;
}

html[data-theme="dark"] body.weight-page .disclaimer-wrapper {
  border-color: var(--ves-line) !important;
  background: #111718 !important;
}

@media (max-width: 420px) {
  body.weight-page #weight-analysis-grid .profile-main,
  body.weight-page #weight-analysis-grid .energy-status-main,
  body.weight-page #normal-range-gap-card .gap-main,
  body.weight-page #weight-recommendation-card .recommendation-main {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  body.weight-page #weight-analysis-grid .profile-main > div,
  body.weight-page #weight-analysis-grid .energy-status-main > div,
  body.weight-page #normal-range-gap-card .gap-main > div,
  body.weight-page #weight-recommendation-card .recommendation-main > div {
    flex-direction: row;
    align-items: baseline;
    justify-content: space-between;
    padding: 0 !important;
    border-left: 0 !important;
  }
}

@media (max-width: 820px) {
  body.weight-page main > #results-section {
    grid-column: 1;
    grid-row: auto;
  }

  body.weight-page #weight-details-section,
  body.weight-page #weight-analysis-grid {
    grid-column: 1;
    grid-template-columns: 1fr;
  }
}

@media (max-width: 420px) {
  body.weight-page #ideal-weight-wrapper {
    min-height: 300px;
    padding-inline: 13px;
  }

  body.weight-page #ideal-weight-wrapper .ideal-item > span {
    font-size: 2.5rem;
  }

  body.weight-page .weight-result-summary {
    margin-right: -13px;
    margin-left: -13px;
  }

  body.weight-page .weight-result-summary__item {
    padding-inline: 13px;
  }
}

/* /calories/: first pass of the approved left form. It deliberately copies
   the compact weight-calculator anatomy while keeping activity as five clear
   training cards from the accepted calorie-results reference. */
body.calories-page main {
  width: min(100%, 1080px) !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin-inline: auto !important;
}

body.calories-page #calculator-section {
  --ves-primary: #49a79a;
  --ves-primary-hover: #61b9ac;
  --ves-primary-soft: rgba(73, 167, 154, .16);
  padding: 12px !important;
}

body.calories-page #bmi-form { gap: 8px !important; }

body.calories-page #bmi-form > .input-group:not(:first-child):not(:has(.activity-selector)) {
  grid-template-columns: minmax(0, 1fr) 86px minmax(0, 1fr) !important;
  grid-template-rows: 30px 24px !important;
  gap: 2px 10px !important;
}

body.calories-page #bmi-form > .input-group > label,
body.calories-page #bmi-form > .input-group > input[type="number"],
body.calories-page #bmi-form > .input-group > .input-unit {
  grid-row: 1 !important;
}

body.calories-page #bmi-form > .input-group > input[type="range"] {
  grid-row: 2 !important;
  margin: 0 !important;
}

body.calories-page .unit-toggle { margin-bottom: 2px !important; }
body.calories-page .unit-btn {
  height: 29px !important;
  min-height: 29px !important;
  padding: 0 !important;
  font-size: .71rem !important;
  font-weight: 620 !important;
}

body.calories-page .unit-btn.active,
html[data-theme="dark"] body.calories-page .unit-btn.active,
html[data-theme="dark"] body.calories-page #calc-btn {
  border-color: var(--ves-primary) !important;
  background: var(--ves-primary) !important;
}

html[data-theme="dark"] body.calories-page #reset-btn { color: var(--ves-primary) !important; }

body.calories-page .gender-selector {
  min-height: 35px !important;
  margin-top: 4px !important;
  background: var(--ves-soft) !important;
  box-shadow: none !important;
  filter: none !important;
}

body.calories-page .gender-selector label,
body.calories-page .gender-selector input:checked + label {
  min-height: 29px !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  font-size: .73rem !important;
  font-weight: 620 !important;
}

body.calories-page .gender-selector input:checked + label {
  background: rgba(11, 77, 74, .16) !important;
  color: var(--ves-primary) !important;
}

html[data-theme="dark"] body.calories-page .gender-selector input:checked + label {
  background: rgba(73, 167, 154, .19) !important;
  color: #6ec4b7 !important;
}

body.calories-page .gender-selector input:focus-visible + label {
  outline: 1px solid var(--ves-primary) !important;
  outline-offset: -2px !important;
}

body.calories-page #bmi-form > .input-group:has(.activity-selector) {
  display: block !important;
  margin: 4px 0 0 !important;
}

body.calories-page .activity-selector {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 5px !important;
  margin-top: 6px !important;
}

html[data-theme="dark"] body.calories-page .activity-card,
body.calories-page .activity-card {
  display: grid !important;
  min-height: 66px !important;
  align-content: center !important;
  gap: 5px !important;
  padding: 7px 4px !important;
  border: 1px solid var(--ves-line) !important;
  border-radius: 5px !important;
  background: var(--ves-soft) !important;
  box-shadow: none !important;
  transform: none !important;
}

html[data-theme="dark"] body.calories-page .activity-card:hover,
body.calories-page .activity-card:hover {
  border-color: rgba(73, 167, 154, .52) !important;
  background: var(--ves-soft) !important;
  box-shadow: none !important;
  transform: none !important;
}

html[data-theme="dark"] body.calories-page .activity-card:has(input:checked),
body.calories-page .activity-card:has(input:checked) {
  border-color: var(--ves-primary) !important;
  background: var(--ves-primary-soft) !important;
  box-shadow: none !important;
}

body.calories-page .activity-card .activity-title {
  font-size: .61rem !important;
  font-weight: 680 !important;
  line-height: 1.15 !important;
}

body.calories-page .activity-card .app-icon {
  width: .9rem !important;
  height: .9rem !important;
  color: var(--ves-primary) !important;
}

body.calories-page .activity-card small {
  margin: 0 !important;
  color: var(--ves-muted) !important;
  font-size: .53rem !important;
  line-height: 1.2 !important;
}

body.calories-page .activity-card:has(input:checked) .activity-title {
  color: #f3f7f6 !important;
}

html[data-theme="light"] body.calories-page .activity-card:has(input:checked) .activity-title {
  color: #173631 !important;
}

body.calories-page .activity-card:has(input:checked) small {
  color: #8bd1c7 !important;
}

body.calories-page #calc-btn,
body.calories-page #reset-btn {
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  font-size: .78rem !important;
  font-weight: 720 !important;
}

body.calories-page #reset-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
}

body.calories-page .reset-icon {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.calories-page input[type="range"] { accent-color: var(--ves-primary) !important; }
body.calories-page input[type="range"]::-webkit-slider-runnable-track {
  height: 3px !important;
  border: 0 !important;
  background: linear-gradient(to right, var(--ves-primary) 0 var(--range-progress, 50%), #dfe5e4 var(--range-progress, 50%) 100%) !important;
  box-shadow: none !important;
}
body.calories-page input[type="range"]::-webkit-slider-thumb {
  width: 12px !important;
  height: 12px !important;
  margin-top: -4.5px !important;
  border: 2px solid var(--ves-surface) !important;
  background: var(--ves-primary) !important;
  box-shadow: 0 0 0 2px var(--ves-primary) !important;
}
body.calories-page input[type="range"]::-moz-range-track {
  height: 3px !important;
  border: 0 !important;
  background: #dfe5e4 !important;
  box-shadow: none !important;
}
body.calories-page input[type="range"]::-moz-range-progress { height: 3px !important; background: var(--ves-primary) !important; }
body.calories-page input[type="range"]::-moz-range-thumb {
  width: 12px !important;
  height: 12px !important;
  border: 2px solid var(--ves-surface) !important;
  background: var(--ves-primary) !important;
  box-shadow: 0 0 0 2px var(--ves-primary) !important;
}
html[data-theme="dark"] body.calories-page input[type="range"]::-webkit-slider-runnable-track {
  background: linear-gradient(to right, var(--ves-primary) 0 var(--range-progress, 50%), #3a4645 var(--range-progress, 50%) 100%) !important;
}
html[data-theme="dark"] body.calories-page input[type="range"]::-moz-range-track { background: #3a4645 !important; }

@media (max-width: 820px) {
  body.calories-page main {
    width: min(100%, 700px) !important;
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 540px) {
  body.calories-page .activity-selector { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* /calories/: results now live beside the form. Before calculation the same
   restrained empty state as /weight/ is shown; afterwards the five real data
   cards become a single, ordered answer rather than a legacy rainbow grid. */
body.calories-page main > #results-section {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  min-height: 0 !important;
  padding: 12px !important;
  border-color: var(--ves-line) !important;
  border-radius: 7px !important;
  background: var(--ves-surface) !important;
  box-shadow: none !important;
}

body.calories-page main > #results-section:not([style*="display: block"]) {
  display: grid !important;
  min-height: 522px !important;
  place-items: center;
}

body.calories-page main > #results-section:not([style*="display: block"]) > :not(#calories-empty-results-message) {
  display: none !important;
}

body.calories-page #calories-empty-results-message {
  display: none;
  max-width: 26rem;
  margin: 0 auto;
  color: var(--ves-muted);
  font-size: .96rem;
  line-height: 1.6;
  text-align: center;
}

body.calories-page main > #results-section:not([style*="display: block"]) > #calories-empty-results-message {
  display: block;
}

body.calories-page main > #results-section[style*="display: block"] > #calories-empty-results-message {
  display: none;
}

body.calories-page #results-section .results-grid {
  display: grid !important;
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
  gap: 8px !important;
}

body.calories-page #results-section .results-card {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 15px !important;
  border: 1px solid var(--ves-line) !important;
  border-radius: 6px !important;
  background: var(--ves-soft) !important;
  background-image: none !important;
  box-shadow: none !important;
  color: var(--ves-ink) !important;
  overflow: visible !important;
  transform: none !important;
}

body.calories-page #results-section .results-card:hover {
  border-color: var(--ves-line) !important;
  box-shadow: none !important;
  transform: none !important;
}

body.calories-page #results-section .results-card::before,
body.calories-page #results-section .results-card::after {
  display: none !important;
  background: none !important;
  background-image: none !important;
  box-shadow: none !important;
  content: none !important;
}

body.calories-page #results-section .results-card h4 {
  position: static !important;
  display: flex;
  width: auto !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ves-ink) !important;
  font-size: .75rem !important;
  font-weight: 700 !important;
  line-height: 1.2;
  text-align: center;
  transform: none !important;
}

body.calories-page #results-section .results-card h4 .app-icon {
  width: 13px;
  height: 13px;
}

body.calories-page #calories-card {
  display: flex !important;
  grid-column: 1 / -1;
  min-height: 154px !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-top: 2px solid #49a79a !important;
}

body.calories-page #calories-card h4 { color: #8bd1c7 !important; }
body.calories-page #calories-card > p { display: none !important; }
body.calories-page #calories-card > div {
  margin-top: 11px;
  color: #7ed2c4 !important;
  font-size: .83rem !important;
  font-weight: 680 !important;
  text-align: center;
}
body.calories-page #calories-card #calories-value {
  display: block;
  color: #49a79a !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3.3rem, 6vw, 4.75rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.055em;
  line-height: 1.05;
}

body.calories-page #bmr-card {
  display: flex !important;
  min-height: 143px !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-top: 2px solid #6e9df0 !important;
}
body.calories-page #bmr-card h4 { color: #a9c5ff !important; }
body.calories-page #bmr-card > p { display: none !important; }
body.calories-page #bmr-card .bmr-value-wrap {
  display: grid;
  gap: 4px;
  margin-top: 13px;
  text-align: center;
}
body.calories-page #bmr-card #bmr-value {
  color: #7ca9ff !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.2rem, 4vw, 3rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.045em;
  line-height: 1.05;
}
body.calories-page #bmr-card .bmr-value-wrap small { color: #9ebcf2 !important; font-size: .62rem !important; font-weight: 650; }

body.calories-page #calorie-range-card {
  display: grid !important;
  min-height: 143px !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: auto 1fr auto;
  align-items: center;
  border-top: 2px solid #e88867 !important;
}
body.calories-page #calorie-range-card h4 { grid-column: 1 / -1; color: #ffad91 !important; }
body.calories-page #calorie-range-card > p { display: none !important; }
body.calories-page #calorie-range-card > div {
  min-width: 0;
  padding: 0 6px;
  border-left: 1px solid var(--ves-line);
  color: #ff9a78 !important;
  font-size: .58rem !important;
  font-weight: 650;
  line-height: 1.25;
  text-align: center;
}
body.calories-page #calorie-range-card > div:first-of-type { border-left: 0; }
body.calories-page #calorie-range-card > div span {
  display: block;
  color: #f38b6a !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1rem, 2vw, 1.55rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.035em;
  line-height: 1;
  white-space: nowrap;
}
body.calories-page #calorie-range-card > div:nth-of-type(2) span { color: #ffb087 !important; }

body.calories-page #breakdown-card {
  grid-column: 1 / -1;
  border-top: 2px solid #9195e8 !important;
}
body.calories-page #breakdown-card h4 { justify-content: flex-start; color: #b8b9ff !important; }
body.calories-page #breakdown-card > p { display: none !important; }
body.calories-page #calculation-breakdown {
  display: grid;
  gap: 0;
  margin-top: 11px;
  border: 1px solid var(--ves-line);
  border-radius: 4px;
  overflow: hidden;
}
body.calories-page #calculation-breakdown > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 7px 9px;
  border-top: 1px solid var(--ves-line);
  color: #c3c5ff !important;
  font-size: .67rem;
  font-weight: 620;
}
body.calories-page #calculation-breakdown > div:first-child { border-top: 0; }
body.calories-page #calculation-breakdown .calculation-breakdown__label {
  color: #c3c5ff !important;
  font-weight: 620;
}
body.calories-page #calculation-breakdown .calculation-breakdown__value {
  display: inline-flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 4px;
  color: #9fa8ff !important;
  font-weight: 720;
  white-space: nowrap;
}
body.calories-page #calculation-breakdown .calculation-breakdown__value > span {
  color: #9fa8ff !important;
  font-weight: 720;
}
body.calories-page #calculation-breakdown .calculation-breakdown__value small {
  color: #bfc4ff !important;
  font-size: .58rem !important;
  font-weight: 620;
}

/* Compact daily streak: the same result-side pattern used by the BMI and weight calculators. */
body.calories-page #results-section > .streak-spotlight {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  align-items: center;
  gap: 3px 16px;
  min-height: 62px;
  margin: 0 0 8px !important;
  padding: 10px 12px !important;
  border: 1px solid var(--ves-line) !important;
  border-radius: 6px !important;
  background: var(--ves-soft) !important;
  box-shadow: none !important;
}
body.calories-page #results-section > .streak-spotlight::before,
body.calories-page #results-section > .streak-spotlight::after { content: none !important; display: none !important; }
body.calories-page #results-section > .streak-spotlight .streak-spotlight__body { display: contents !important; }
body.calories-page #results-section > .streak-spotlight .streak-spotlight__eyebrow {
  grid-column: 1;
  grid-row: 1;
  color: var(--ves-ink) !important;
  font-size: .75rem !important;
  font-weight: 720;
  line-height: 1.2;
}
body.calories-page #results-section > .streak-spotlight .streak-spotlight__flames {
  display: flex !important;
  grid-column: 1;
  grid-row: 2;
  gap: 7px;
  align-items: center;
  min-height: 24px;
}
body.calories-page #results-section > .streak-spotlight .streak-spotlight__flames .app-icon {
  width: 18px;
  height: 22px;
  color: #5a6765 !important;
}
body.calories-page #results-section > .streak-spotlight .streak-spotlight__flames .app-icon.is-lit { transform: scale(1.06); }
body.calories-page #results-section > .streak-spotlight .streak-spotlight__flames .app-icon.is-lit:nth-child(1) { color: #ffd15a !important; }
body.calories-page #results-section > .streak-spotlight .streak-spotlight__flames .app-icon.is-lit:nth-child(2) { color: #ffc14e !important; }
body.calories-page #results-section > .streak-spotlight .streak-spotlight__flames .app-icon.is-lit:nth-child(3) { color: #ffad45 !important; }
body.calories-page #results-section > .streak-spotlight .streak-spotlight__flames .app-icon.is-lit:nth-child(4) { color: #f8943d !important; }
body.calories-page #results-section > .streak-spotlight .streak-spotlight__flames .app-icon.is-lit:nth-child(5) { color: #ef7c38 !important; }
body.calories-page #results-section > .streak-spotlight .streak-spotlight__flames .app-icon.is-lit:nth-child(6) { color: #e76a35 !important; }
body.calories-page #results-section > .streak-spotlight .streak-spotlight__badge {
  display: flex !important;
  grid-column: 2;
  grid-row: 1 / span 2;
  align-items: center;
  justify-content: flex-end;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.calories-page #results-section > .streak-spotlight .streak-spotlight__badge > .app-icon { display: none !important; }
body.calories-page #results-section > .streak-spotlight .streak-spotlight__badge:has(.streak-spotlight__count[hidden]) { display: none !important; }
body.calories-page #results-section > .streak-spotlight .streak-spotlight__count {
  display: grid !important;
  gap: 0;
  color: #d76032 !important;
  text-align: right;
}
body.calories-page #results-section > .streak-spotlight .streak-spotlight__count[hidden] { display: none !important; }
body.calories-page #results-section > .streak-spotlight .streak-spotlight__count b {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: .9;
}
body.calories-page #results-section > .streak-spotlight .streak-spotlight__count small {
  color: var(--ves-muted) !important;
  font-size: .54rem !important;
  font-weight: 700;
}
body.calories-page #results-section > .streak-spotlight h2,
body.calories-page #results-section > .streak-spotlight p,
body.calories-page #results-section > .streak-spotlight .streak-spotlight__progress-wrap,
body.calories-page #results-section > .streak-spotlight .streak-spotlight__action { display: none !important; }

body.calories-page #goal-card-cal {
  display: block !important;
  grid-column: 1 / -1;
  border-top: 2px solid #49a79a !important;
}
body.calories-page #goal-card-cal h4 { margin-bottom: 12px !important; color: #8bd1c7 !important; }
body.calories-page #goal-card-cal > p { display: none !important; }
body.calories-page #goal-card-cal .goal-select {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 !important;
  margin-top: 12px;
  padding: 0;
  border: 1px solid var(--ves-line);
  border-radius: 4px;
  overflow: hidden;
}

body.calories-page #goal-card-cal > .goal-select,
body.calories-page #goal-card-cal > .goal-result {
  position: static !important;
  top: auto !important;
}
body.calories-page #goal-card-cal .goal-btn {
  min-height: 34px !important;
  padding: 0 6px !important;
  border: 0 !important;
  border-left: 1px solid var(--ves-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ves-muted) !important;
  font-size: .67rem !important;
  font-weight: 680 !important;
  box-shadow: none !important;
  transform: none !important;
}
body.calories-page #goal-card-cal .goal-btn:first-child { border-left: 0 !important; }
body.calories-page #goal-card-cal .goal-btn.active {
  background: rgba(73, 167, 154, .2) !important;
  color: #8bd1c7 !important;
}
body.calories-page #goal-card-cal .goal-btn:hover { background: rgba(73, 167, 154, .12) !important; transform: none !important; }
body.calories-page #goal-card-cal .goal-result {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 7px;
  margin-top: 13px;
}
body.calories-page #goal-card-cal .goal-result p {
  margin: 0 !important;
  color: var(--ves-muted) !important;
  font-size: .63rem !important;
}
body.calories-page #goal-card-cal .goal-value { display: flex; align-items: baseline; gap: 4px; }
body.calories-page #goal-card-cal #goal-calories {
  color: #49a79a !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.7rem !important;
  font-weight: 500 !important;
  letter-spacing: -.04em;
}
body.calories-page #goal-card-cal .goal-value small { color: #8bd1c7 !important; font-size: .58rem !important; font-weight: 650; }

@media (max-width: 820px) {
  body.calories-page main > #results-section { grid-column: 1; grid-row: auto; }
  body.calories-page main > #results-section:not([style*="display: block"]) { min-height: 360px !important; }
}

@media (max-width: 1100px) and (min-width: 821px) {
  body.calories-page #results-section .results-grid { grid-template-columns: 1fr; }
  body.calories-page #bmr-card,
  body.calories-page #calorie-range-card,
  body.calories-page #breakdown-card,
  body.calories-page #goal-card-cal { grid-column: 1; }
}

@media (max-width: 480px) {
  body.calories-page #results-section .results-grid { grid-template-columns: 1fr; }
  body.calories-page #calorie-range-card,
  body.calories-page #bmr-card,
  body.calories-page #breakdown-card,
  body.calories-page #goal-card-cal { grid-column: 1; }
}

/* /calories/: strict graphite option. These declarations deliberately live at
   the end of the stylesheet: older calculator skins use !important. */
html[data-theme="dark"] body.calories-page {
  --calories-neutral: #dbe1de;
  --calories-neutral-muted: #aab5b1;
  --calories-range: #c9a968;
  --calories-range-soft: #e1c787;
}

html[data-theme="dark"] body.calories-page #results-section .results-card {
  background: #111617 !important;
}

html[data-theme="dark"] body.calories-page #calories-card {
  min-height: 180px !important;
}

html[data-theme="dark"] body.calories-page #bmr-card,
html[data-theme="dark"] body.calories-page #calorie-range-card {
  min-height: 164px !important;
}

html[data-theme="dark"] body.calories-page #bmr-card {
  border-top-color: #52605b !important;
}

html[data-theme="dark"] body.calories-page #bmr-card h4 {
  color: var(--calories-neutral) !important;
}

html[data-theme="dark"] body.calories-page #bmr-card #bmr-value {
  color: var(--calories-neutral) !important;
}

html[data-theme="dark"] body.calories-page #bmr-card .bmr-value-wrap small {
  color: var(--calories-neutral-muted) !important;
}

html[data-theme="dark"] body.calories-page #calorie-range-card {
  border-top-color: #75694e !important;
}

html[data-theme="dark"] body.calories-page #calorie-range-card h4 {
  color: var(--calories-neutral) !important;
}

html[data-theme="dark"] body.calories-page #calorie-range-card > div {
  color: var(--calories-range-soft) !important;
}

html[data-theme="dark"] body.calories-page #calorie-range-card > div span,
html[data-theme="dark"] body.calories-page #calorie-range-card > div:nth-of-type(2) span {
  color: var(--calories-range) !important;
  font-size: clamp(1.3rem, 2.55vw, 1.9rem) !important;
  line-height: 1.04;
}

html[data-theme="dark"] body.calories-page #breakdown-card {
  min-height: 142px !important;
  border-top-color: #52605b !important;
}

html[data-theme="dark"] body.calories-page #breakdown-card h4,
html[data-theme="dark"] body.calories-page #calculation-breakdown .calculation-breakdown__label {
  color: var(--calories-neutral) !important;
}

html[data-theme="dark"] body.calories-page #calculation-breakdown {
  border-color: #35403d !important;
  background: #171d1c !important;
}

html[data-theme="dark"] body.calories-page #calculation-breakdown > div {
  border-top-color: #35403d !important;
  color: var(--calories-neutral-muted) !important;
}

html[data-theme="dark"] body.calories-page #calculation-breakdown .calculation-breakdown__value,
html[data-theme="dark"] body.calories-page #calculation-breakdown .calculation-breakdown__value > span {
  color: var(--calories-neutral) !important;
}

html[data-theme="dark"] body.calories-page #calculation-breakdown .calculation-breakdown__value small {
  color: var(--calories-neutral-muted) !important;
}

/* The legacy cards also declared text-painting effects. Neutralise those
   explicitly so a cached legacy gradient can never tint graphite metrics. */
html[data-theme="dark"] body.calories-page #bmr-value,
html[data-theme="dark"] body.calories-page #calorie-range-card > div,
html[data-theme="dark"] body.calories-page #calorie-range-card > div span,
html[data-theme="dark"] body.calories-page #calculation-breakdown .calculation-breakdown__label,
html[data-theme="dark"] body.calories-page #calculation-breakdown .calculation-breakdown__value,
html[data-theme="dark"] body.calories-page #calculation-breakdown .calculation-breakdown__value > span,
html[data-theme="dark"] body.calories-page #calculation-breakdown .calculation-breakdown__value small {
  background-image: none !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}

/* The formula belongs with the inputs: it prevents a hollow left column and
   lets the right side stay focused on the personal result. */
body.calories-page main:has(> #results-section:not([style*="display: block"])) > #calculator-section > #breakdown-card {
  display: none !important;
}

body.calories-page #calculator-section > #breakdown-card {
  display: block;
  min-height: 142px;
  margin: 8px 0 0;
  padding: 15px;
  border: 1px solid var(--ves-line);
  border-top: 2px solid #52605b;
  border-radius: 6px;
  background: #111617;
  box-shadow: none;
  color: var(--ves-ink);
}

body.calories-page #calculator-section > #breakdown-card::before,
body.calories-page #calculator-section > #breakdown-card::after {
  display: none !important;
  content: none !important;
  background: none !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.calories-page #calculator-section > #breakdown-card h4 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 0;
  color: var(--calories-neutral);
  font-size: .75rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}

body.calories-page #calculator-section > #breakdown-card h4 .app-icon {
  width: 13px;
  height: 13px;
  color: var(--calories-neutral);
  fill: currentColor;
  stroke: currentColor;
}

body.calories-page #calculator-section > #breakdown-card > p {
  display: none;
}

body.calories-page #calculator-section > #breakdown-card #calculation-breakdown {
  display: grid;
  gap: 0;
  margin-top: 11px;
  overflow: hidden;
  border: 1px solid #35403d;
  border-radius: 4px;
  background: #171d1c;
}

body.calories-page #calculator-section > #breakdown-card #calculation-breakdown > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 7px 9px;
  border-top: 1px solid #35403d;
  color: var(--calories-neutral-muted);
  font-size: .67rem;
  font-weight: 620;
}

body.calories-page #calculator-section > #breakdown-card #calculation-breakdown > div:first-child {
  border-top: 0;
}

body.calories-page #calculator-section > #breakdown-card .calculation-breakdown__label,
body.calories-page #calculator-section > #breakdown-card .calculation-breakdown__value,
body.calories-page #calculator-section > #breakdown-card .calculation-breakdown__value > span {
  color: var(--calories-neutral);
}

body.calories-page #calculator-section > #breakdown-card .calculation-breakdown__value {
  display: inline-flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 4px;
  font-weight: 720;
  white-space: nowrap;
}

body.calories-page #calculator-section > #breakdown-card .calculation-breakdown__value small {
  color: var(--calories-neutral-muted);
  font-size: .58rem;
  font-weight: 620;
}

/* The TDEE is an accent, not a neon sign. Keep its place in the hierarchy
   with a flat Vescalc turquoise and no inherited bloom. */
html[data-theme="dark"] body.calories-page #calories-card #calories-value {
  color: #55b7ab !important;
  background: none !important;
  background-image: none !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
  filter: none !important;
}

html[data-theme="dark"] body.calories-page #calories-card,
html[data-theme="dark"] body.calories-page #calories-card::before,
html[data-theme="dark"] body.calories-page #calories-card::after {
  box-shadow: none !important;
  filter: none !important;
}

/* Formula: compact, technical, and legible rather than a stack of loose rows. */
html[data-theme="dark"] body.calories-page #calculator-section > #breakdown-card {
  min-height: 205px !important;
  padding: 14px !important;
  border-color: #35403d !important;
  border-top-color: #596760 !important;
  background: #121817 !important;
}

html[data-theme="dark"] body.calories-page #calculator-section > #breakdown-card h4 {
  justify-content: flex-start;
  color: var(--calories-neutral) !important;
  font-size: .7rem !important;
  letter-spacing: .045em;
  text-transform: uppercase;
}

html[data-theme="dark"] body.calories-page #calculator-section > #breakdown-card > p {
  display: block !important;
  margin: 5px 0 7px !important;
  color: var(--calories-neutral-muted) !important;
  font-size: .62rem !important;
  letter-spacing: .02em;
}

html[data-theme="dark"] body.calories-page #calculator-section > #breakdown-card .calculation-inputs {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin: 0 0 9px;
  padding: 0;
  list-style: none;
}

html[data-theme="dark"] body.calories-page #calculator-section > #breakdown-card .calculation-inputs li {
  padding: 3px 6px;
  border: 1px solid #35403d;
  border-radius: 3px;
  color: var(--calories-neutral-muted);
  font-size: .56rem;
  font-weight: 650;
  line-height: 1;
}

body.calories-page #calculator-section > #breakdown-card.calculation-card-exit {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: opacity, transform;
}

html[data-theme="dark"] body.calories-page #calculator-section > #breakdown-card #calculation-breakdown {
  margin-top: 0;
  border-color: #3b4743 !important;
  background: #0e1312 !important;
}

html[data-theme="dark"] body.calories-page #calculator-section > #breakdown-card #calculation-breakdown > div {
  min-height: 33px;
  padding: 8px 10px;
  border-top-color: #303a37 !important;
}

html[data-theme="dark"] body.calories-page #calculator-section > #breakdown-card #calculation-breakdown > div:last-child .calculation-breakdown__value,
html[data-theme="dark"] body.calories-page #calculator-section > #breakdown-card #calculation-breakdown > div:last-child .calculation-breakdown__value > span {
  color: #78c7bc !important;
  font-size: 1rem;
}

html[data-theme="dark"] body.calories-page #calories-card #calories-value {
  font-size: clamp(3.75rem, 6.4vw, 5.25rem) !important;
}

html[data-theme="dark"] body.calories-page #calorie-range-card > div span,
html[data-theme="dark"] body.calories-page #calorie-range-card > div:nth-of-type(2) span {
  font-size: clamp(1.5rem, 2.9vw, 2.25rem) !important;
  line-height: 1.08;
}

html[data-theme="dark"] body.calories-page #calorie-range-card > div small {
  display: block;
  margin-top: 4px;
  color: var(--calories-neutral-muted);
  font-size: .56rem;
  font-weight: 650;
  line-height: 1;
}

html[data-theme="dark"] body.calories-page #calorie-range-card > div {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  grid-auto-rows: max-content;
  align-content: center;
  justify-items: center;
  gap: 4px;
}

html[data-theme="dark"] body.calories-page #bmr-card .bmr-value-wrap {
  margin-top: 5px;
}

html[data-theme="dark"] body.calories-page #bmr-card #bmr-value {
  font-size: clamp(2.55rem, 4.35vw, 3.35rem) !important;
}

/* The goal card uses the remaining result-side height as useful hierarchy,
   not as an empty stretched panel. */
html[data-theme="dark"] body.calories-page #goal-card-cal {
  display: flex !important;
  min-height: 220px !important;
  flex-direction: column;
  justify-content: space-between;
}

html[data-theme="dark"] body.calories-page #goal-card-cal h4,
html[data-theme="dark"] body.calories-page #goal-card-cal .goal-select,
html[data-theme="dark"] body.calories-page #goal-card-cal .goal-result {
  margin: 0 !important;
}

html[data-theme="dark"] body.calories-page #goal-card-cal > p {
  display: block !important;
  margin: 0 !important;
  color: var(--calories-neutral-muted) !important;
  font-size: .62rem !important;
  text-align: center;
}

@media (min-width: 821px) {
  body.calories-page main:has(> #results-section[style*="display: block"]) {
    align-items: stretch;
  }

  body.calories-page main:has(> #results-section[style*="display: block"]) > #calculator-section {
    display: block !important;
    align-self: stretch;
  }

  body.calories-page main:has(> #results-section[style*="display: block"]) > #results-section {
    align-self: stretch;
    min-height: 100% !important;
  }

  body.calories-page main > #calculator-section.page-reveal-visible {
    transform: none !important;
  }

  body.calories-page main:has(> #results-section[style*="display: block"]) > #calculator-section > #bmi-form {
    min-height: 0;
    grid-template-rows: none;
    align-content: normal;
  }

  body.calories-page main:has(> #results-section[style*="display: block"]) > #calculator-section > #bmi-form > #pro-fields-container:not(.is-active) {
    display: none !important;
  }
}

/* Meta SEO cards: three equal columns on desktop. */
@media (min-width: 821px) {
  body.meta-page main { grid-template-columns:repeat(6,minmax(0,1fr)) !important; }
  body.meta-page main > #calculator-section,
  body.meta-page main > #results-section { grid-column:span 3 !important; }
  body.meta-page main > .seo-entry-card { grid-column:span 2 !important; }
  body.meta-page main > .ad-slot,
  body.meta-page main > #info-tabs,
  body.meta-page main > #history-section { grid-column:1 / -1 !important; }
}
@media (max-width: 820px) {
  body.meta-page main > .seo-entry-card { grid-column:1 / -1 !important; }
}
