/* Fall Shape Up — app-like visual system */
:root {
  --app-bg: #f7f2ef;
  --app-surface: #fffdfa;
  --app-ink: #173d3a;
  --app-muted: #687d7a;
  --app-teal: #12a8aa;
  --app-teal-dark: #0c6f72;
  --app-mint: #dff3f0;
  --app-line: rgba(23, 61, 58, 0.1);
  --app-shadow: 0 10px 30px rgba(20, 57, 54, 0.07);
  --app-font: ui-sans-serif, -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Arial, sans-serif;
}

/* Compact daily tracker: fasting, hydration and movement share one row. */
.tracking-overview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 8px;
  margin: 0 0 12px;
}

.tracking-overview .compact-tracker-card {
  min-width: 0;
  min-height: 238px;
  height: 100%;
  margin: 0 !important;
  padding: 12px 9px !important;
  border: 1px solid rgba(90, 221, 211, 0.2) !important;
  border-radius: 22px !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  justify-items: center;
  align-content: start;
  gap: 8px !important;
  overflow: hidden;
  text-align: center;
  background: radial-gradient(circle at 50% 0%, #155a56 0%, #0b3c3a 44%, #062e2d 100%) !important;
  color: #fff !important;
  box-shadow: 0 12px 28px rgba(8, 47, 47, 0.18) !important;
}

.compact-tracker-heading {
  width: 100%;
  color: #78ded7;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tracking-overview .active-fast-card {
  width: 100%;
  gap: 7px;
}

.tracking-overview .fasting-orbit {
  width: 92px !important;
  aspect-ratio: 1;
  padding: 5px;
  background: conic-gradient(#44d7d0 var(--fast-progress), rgba(255, 255, 255, 0.14) 0) !important;
  box-shadow: 0 9px 20px rgba(0, 0, 0, 0.18) !important;
  animation: none;
}

.tracking-overview .fasting-orbit > div {
  background: radial-gradient(circle at 42% 32%, #17605c, #073331 72%) !important;
}

.tracking-overview .fasting-orbit b {
  margin: 0;
  color: #fff;
  font-size: 19px;
  line-height: 1;
  letter-spacing: -0.02em;
  white-space: nowrap;
}

.tracking-overview .fast-action-row {
  width: 100%;
  grid-template-columns: 1fr;
  gap: 4px;
}

.tracking-overview .fast-primary,
.tracking-overview .fast-stop {
  width: 100%;
  min-height: 30px;
  padding: 3px !important;
  font-size: 10px;
}

.tracking-overview .fast-message,
.tracking-overview .inline-message {
  display: none;
}

.tracking-overview .water-container-visual,
.tracking-overview .steps-icon {
  width: 84px;
  height: 96px;
  border-width: 5px;
  border-radius: 20px;
}

.tracking-overview .water-container-visual img {
  inset: 6px;
  width: calc(100% - 12px);
  height: calc(100% - 12px);
}

.tracking-overview [data-water-value][hidden] {
  display: none !important;
}

.tracking-overview .water-copy,
.tracking-overview .steps-copy {
  width: 100%;
}

.tracking-overview .water-copy > span,
.tracking-overview .steps-copy > span {
  display: block;
  color: #78ded7;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.tracking-overview .selected-water-container {
  margin: 3px 0;
  overflow: hidden;
  color: #fff;
  font-size: 11px;
  line-height: 1.2;
  text-overflow: ellipsis;
}

.tracking-overview .water-copy p,
.tracking-overview .steps-card p {
  margin: 0;
  color: #c6dcda;
  font-size: 11px;
  line-height: 1.25;
}

.tracking-overview .water-copy p span {
  display: block;
}

.tracking-overview .water-actions {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px !important;
  width: 100%;
  margin-top: 7px !important;
}

.tracking-overview .water-actions button {
  min-width: 0;
  height: 31px !important;
  padding: 0 2px !important;
  border-radius: 10px !important;
  border-color: rgba(255, 255, 255, 0.26) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #fff !important;
  font-size: 11px;
}

.tracking-overview .water-container-visual {
  border-color: #47d4cd;
  background: rgba(255, 255, 255, 0.96);
}

.tracking-overview .steps-icon {
  border-color: rgba(120, 222, 215, 0.38);
  background: linear-gradient(145deg, rgba(245, 255, 253, 0.98), rgba(198, 238, 233, 0.96));
}

.tracking-overview .steps-icon span {
  display: block;
  font-family: "Apple Color Emoji", "Segoe UI Emoji", sans-serif !important;
  font-size: 39px;
  line-height: 1;
}

.tracking-overview .steps-card h2 {
  margin: 4px 0 2px;
  color: #fff;
  font-size: 21px;
  line-height: 1;
}

.tracking-overview .steps-card h2 small {
  font-family: inherit;
  font-size: 10px;
}

.tracking-overview .compact-add {
  width: 100%;
  min-height: 32px;
  margin-top: auto;
  border: 0;
  border-radius: 10px;
  background: #16aaa9;
  color: #fff;
  font: inherit;
  font-size: 11px;
  font-weight: 900;
}

@media (max-width: 390px) {
  .tracking-overview {
    gap: 6px;
  }

  .tracking-overview .compact-tracker-card {
    min-height: 222px;
    padding: 10px 7px !important;
    border-radius: 18px !important;
  }

  .tracking-overview .fasting-orbit,
  .tracking-overview .water-container-visual,
  .tracking-overview .steps-icon {
    width: 76px !important;
    height: 86px;
  }

  .tracking-overview .fasting-orbit {
    height: auto;
  }
}

html,
body {
  background: var(--app-bg) !important;
}

body {
  color: var(--app-ink);
  font-family: var(--app-font);
  letter-spacing: -0.018em;
}

body :where(h1, h2, h3, h4, p, span, b, strong, small, label, a, button, input, select, textarea, summary, legend, em) {
  font-family: var(--app-font) !important;
}

body :where(h1, h2, h3, h4) {
  letter-spacing: -0.045em;
  font-weight: 760;
}

.plan-header {
  position: relative;
  width: 100vw;
  min-height: 92px;
  margin: -20px 0 0 calc(50% - 50vw);
  padding: max(13px, env(safe-area-inset-top)) max(18px, calc((100vw - 656px) / 2));
  border-bottom: 1px solid rgba(101, 221, 211, 0.18);
  background: linear-gradient(105deg, #052d2c 0%, #0a4441 60%, #087a79 140%);
  box-shadow: 0 14px 34px rgba(6, 46, 45, 0.16);
}

.plan-header::after {
  content: "";
  position: absolute;
  right: 13%;
  bottom: 0;
  width: 28%;
  height: 1px;
  background: linear-gradient(90deg, transparent, #5ee5dc, transparent);
}

.plan-header > img {
  width: min(270px, 68vw);
  height: 66px;
  border-radius: 0;
  background: transparent;
  object-fit: contain;
  object-position: left center;
}

.plan-header .profile-link {
  color: rgba(255, 255, 255, 0.88);
}

.plan-header .profile-link img,
.plan-header .profile-link > span {
  border-color: rgba(255, 255, 255, 0.82);
  background: rgba(255, 255, 255, 0.12);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

.plan-welcome {
  padding: 27px 4px 21px;
}

.plan-welcome h1 {
  margin: 0 0 8px;
  color: #102f2d;
  font-size: clamp(32px, 8vw, 46px) !important;
  font-weight: 750 !important;
  line-height: 1.03 !important;
}

.plan-welcome p {
  max-width: 560px;
  color: #657b78;
  font-size: 15px;
  line-height: 1.48;
}

button,
a,
input,
select,
textarea {
  -webkit-tap-highlight-color: transparent;
}

button,
a,
.meal-card,
.learning-card,
.compact-tracker-card {
  transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

button:active,
a:active {
  transform: scale(0.975);
}

/* Native step entry, styled as part of the app instead of a browser prompt. */
.tracking-overview .fast-action-row .fast-edit-time{grid-column:1/-1;width:100%;min-height:36px;padding:4px 2px;border:0;background:transparent;color:#9ce9e3;font-size:12px;line-height:1.3;text-decoration:underline;text-underline-offset:3px;box-shadow:none;white-space:normal}
.tracking-overview .fast-started{grid-column:1/-1;color:#c2e6e1;font-size:10px;line-height:1.3;text-align:center;overflow-wrap:anywhere}.tracking-overview .fast-started:empty{display:none}
.fast-notice-link{display:block;max-width:100%;margin:12px auto 18px;padding:10px 14px;border:1px solid #bcded8;border-radius:99px;background:#edf8f5;color:#16625f;font:inherit;font-size:13px;white-space:normal}
.notification-card>button{border:0;border-radius:14px;padding:12px 16px;background:#087f84;color:white;font:inherit;font-weight:650;flex-shrink:0}
.fast-time-dialog{max-height:calc(100dvh - 32px);overflow-y:auto!important}.fast-time-dialog .steps-dialog-shell{padding-top:42px}
.fast-time-dialog .steps-dialog-shell h2{font-size:25px;line-height:1.15}.fast-time-dialog .steps-dialog-shell>p{font-size:14px;line-height:1.45}
.fast-time-dialog .steps-dialog-shell input{box-sizing:border-box;min-width:0;width:100%;min-height:46px;padding:10px;font-size:17px;text-align:left}
.fast-time-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;width:100%;margin-top:16px}.fast-time-fields label{display:grid;gap:7px;min-width:0;font-size:13px!important;text-align:left}
.fast-time-fields select{min-width:0;width:100%;height:48px;padding:8px;border:1px solid #c2ddd7;border-radius:12px;background:white;color:#143e3b;font:inherit;font-size:17px}
.fast-time-preview{width:100%;box-sizing:border-box;padding:12px;background:#e4f3ef;border-radius:12px;color:#175b56}.fast-time-dialog .steps-dialog-actions{width:100%}
@media(max-width:480px){.notification-card{flex-wrap:wrap}.fast-time-dialog .steps-dialog-shell{padding-inline:18px}}
.steps-dialog {
  width: min(400px, calc(100% - 28px));
  max-width: none;
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 28px;
  background: transparent;
  color: var(--app-ink);
  overflow: visible;
}

.steps-dialog::backdrop {
  background: rgba(3, 25, 24, 0.58);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
}

.steps-dialog[open] {
  animation: steps-dialog-in 0.22s cubic-bezier(0.2, 0.9, 0.25, 1) both;
}

.steps-dialog-shell {
  position: relative;
  display: grid;
  justify-items: center;
  margin: 0;
  padding: 28px 22px 22px;
  border: 1px solid rgba(80, 216, 207, 0.22);
  border-radius: 28px;
  background: linear-gradient(160deg, #ffffff 0%, #f4fbfa 68%, #eaf8f6 100%);
  box-shadow: 0 28px 80px rgba(3, 30, 29, 0.34);
  text-align: center;
}

.steps-dialog-shell::before {
  content: "";
  position: absolute;
  top: 9px;
  left: 50%;
  width: 42px;
  height: 4px;
  border-radius: 999px;
  background: rgba(27, 72, 68, 0.16);
  transform: translateX(-50%);
}

.steps-dialog-close {
  position: absolute;
  top: 13px;
  right: 13px;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid rgba(18, 63, 62, 0.1);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.78);
  color: #536d6a;
  font-size: 24px;
  line-height: 1;
}

.steps-dialog-icon {
  width: 74px;
  height: 74px;
  display: grid;
  place-items: center;
  margin-bottom: 16px;
  border-radius: 23px;
  background: linear-gradient(145deg, #0e5854, #073534);
  box-shadow: 0 12px 26px rgba(7, 53, 52, 0.2);
  font-family: "Apple Color Emoji", "Segoe UI Emoji", sans-serif !important;
  font-size: 35px;
}

.water-dialog-icon {
  background: linear-gradient(145deg, #13b6b5, #087678);
}

.steps-dialog-shell > span {
  color: var(--app-teal-dark);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.steps-dialog-shell h2 {
  margin: 7px 0 7px;
  font-size: 29px;
  font-weight: 750;
}

.steps-dialog-shell > p {
  margin: 0;
  color: #657b78;
  font-size: 14px;
  line-height: 1.45;
}

.steps-dialog-shell label {
  width: 100%;
  display: grid;
  gap: 8px;
  margin-top: 21px;
  color: #466360;
  font-size: 13px;
  font-weight: 750;
  text-align: left;
}

.steps-dialog-shell input {
  width: 100%;
  min-height: 64px;
  padding: 10px 16px;
  border: 1px solid rgba(18, 63, 62, 0.16);
  border-radius: 18px;
  outline: 0;
  background: rgba(255, 255, 255, 0.94);
  color: #0a3937;
  font-size: 28px;
  font-weight: 700;
  text-align: center;
  box-shadow: inset 0 1px 0 #fff;
}

.steps-dialog-shell input:focus {
  border-color: #19aaa9;
  box-shadow: 0 0 0 4px rgba(25, 170, 169, 0.12);
}

.steps-dialog-actions {
  width: 100%;
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 9px;
  margin-top: 14px;
}

.steps-dialog-actions button {
  min-height: 50px;
  padding: 8px 12px;
  border: 0;
  border-radius: 16px;
  background: #e8f1f0;
  color: #496561;
  font-weight: 800;
}

.steps-dialog-actions button[type="submit"] {
  background: linear-gradient(135deg, #13aaa9, #078486);
  color: #fff;
  box-shadow: 0 9px 22px rgba(12, 143, 145, 0.22);
}

.steps-dialog-message {
  width: 100%;
  min-height: 0;
  margin-top: 10px !important;
  color: #a34435 !important;
}

.tracking-toast {
  position: fixed;
  z-index: 90;
  left: 50%;
  bottom: calc(84px + env(safe-area-inset-bottom));
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 48px;
  max-width: calc(100% - 34px);
  padding: 10px 17px 10px 11px;
  border: 1px solid rgba(99, 230, 220, 0.22);
  border-radius: 999px;
  background: rgba(5, 46, 44, 0.96);
  color: #fff;
  box-shadow: 0 16px 42px rgba(4, 36, 35, 0.3);
  opacity: 0;
  transform: translate(-50%, 16px) scale(0.96);
  transition: opacity 0.2s ease, transform 0.2s ease;
  pointer-events: none;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.tracking-toast.show {
  opacity: 1;
  transform: translate(-50%, 0) scale(1);
}

.tracking-toast span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #1cc1ba;
  font-size: 14px;
  font-weight: 900;
}

.tracking-toast b {
  overflow: hidden;
  font-size: 13px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.meal-status {
  background: #12a8aa !important;
  color: #fff !important;
  box-shadow: 0 7px 16px rgba(18, 168, 170, 0.2);
}

.meal-chevron {
  display: none !important;
}

.meal-card.open .meal-form {
  animation: meal-drawer-in 0.22s ease both;
}

@keyframes meal-drawer-in {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes steps-dialog-in {
  from { opacity: 0; transform: translateY(18px) scale(0.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 720px) {
  .plan-header {
    margin-top: -10px;
  }
}

@media (max-width: 620px) {
  .steps-dialog {
    width: 100%;
    margin: auto auto 0;
    border-radius: 28px 28px 0 0;
  }

  .steps-dialog-shell {
    padding: 32px 20px calc(22px + env(safe-area-inset-bottom));
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 28px 28px 0 0;
  }

  .steps-dialog[open] {
    animation-name: steps-sheet-in;
  }
}

@keyframes steps-sheet-in {
  from { opacity: 0; transform: translateY(100%); }
  to { opacity: 1; transform: translateY(0); }
}

.wrap,
.plan-shell,
.social-main {
  width: min(100% - 24px, 680px) !important;
}

/* Shared app navigation */
.app-tab-bar.five-tab-nav {
  left: 50% !important;
  right: auto !important;
  bottom: max(8px, env(safe-area-inset-bottom)) !important;
  width: min(620px, calc(100% - 20px)) !important;
  padding: 6px !important;
  border: 1px solid rgba(23, 61, 58, 0.1) !important;
  border-radius: 24px !important;
  background: rgba(255, 253, 250, 0.96) !important;
  box-shadow: 0 12px 36px rgba(20, 57, 54, 0.14) !important;
  transform: translateX(-50%);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
}

.app-tab-bar.five-tab-nav a {
  min-height: 58px !important;
  border-radius: 18px !important;
  color: #637875 !important;
  transition: color 0.18s ease, transform 0.18s ease;
}

.app-tab-bar .nav-icon {
  width: 34px !important;
  height: 34px !important;
  background: #e6f3f1 !important;
  color: var(--app-teal-dark) !important;
}

.app-tab-bar a.active .nav-icon {
  background: var(--app-teal) !important;
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(18, 168, 170, 0.25) !important;
  transform: translateY(-2px);
}

.app-tab-bar .nav-label {
  font-size: 10px !important;
  font-weight: 800 !important;
}

/* Dashboard */
.app-home {
  width: 100% !important;
  padding-bottom: 18px;
}

.home-app-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 72px;
  margin: 0 0 18px;
  padding: 10px 4px;
}

.home-app-bar img {
  width: min(230px, 62vw);
  height: 68px;
  object-fit: contain;
  object-position: left center;
  filter: drop-shadow(0 5px 12px rgba(9, 44, 44, 0.08));
}

.home-app-bar > a {
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 3px solid #fff;
  border-radius: 50%;
  background: linear-gradient(145deg, #f2ddd2, #e8cbbd);
  color: #173d3a;
  text-decoration: none;
  font-size: 15px;
  font-weight: 900;
  box-shadow: 0 8px 22px rgba(20, 57, 54, 0.12);
}

.home-challenge-logo {
  width: 100% !important;
  justify-content: center;
  min-height: 78px;
  margin: 0 0 16px !important;
  padding: 7px 18px !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, #123f3e, #0a302f) !important;
  box-shadow: var(--app-shadow) !important;
}

.home-challenge-logo img {
  width: min(250px, 70vw) !important;
  height: 64px !important;
}

.home-greeting {
  padding: 2px 2px 12px !important;
}

.home-greeting > span,
.overview-title > span,
.pending-head span,
.quick-section > div > span {
  color: var(--app-teal-dark) !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
}

.home-greeting h1 {
  margin: 5px 0 6px !important;
  color: #102f2d !important;
  font-family: inherit !important;
  font-size: clamp(30px, 8vw, 42px) !important;
  font-weight: 820 !important;
  line-height: 1.08 !important;
}

.home-greeting h1 i {
  font-family: system-ui, sans-serif;
  font-size: 0.66em;
  font-style: normal;
  vertical-align: 0.08em;
}

.home-greeting p {
  max-width: 560px !important;
  color: var(--app-muted) !important;
  font-size: 15px !important;
  line-height: 1.48 !important;
}

.home-week {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  margin: 4px 0 14px;
  padding: 9px;
  border: 1px solid var(--app-line);
  border-radius: 20px;
  background: rgba(255, 253, 250, 0.92);
  box-shadow: 0 7px 22px rgba(20, 57, 54, 0.05);
}

.home-week span {
  min-width: 0;
  min-height: 50px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 2px;
  border-radius: 15px;
  color: #788a88;
}

.home-week small {
  font-size: 10px;
  font-weight: 800;
}

.home-week b {
  font-size: 15px;
}

.home-week span.active {
  background: var(--app-teal);
  color: #fff;
  box-shadow: 0 6px 14px rgba(18, 168, 170, 0.22);
}

.home-motivation {
  position: relative;
  isolation: isolate;
  min-height: 148px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  align-items: end;
  gap: 14px;
  overflow: hidden;
  margin: 0 0 14px;
  padding: 22px;
  border-radius: 24px;
  background: #153c39;
  box-shadow: 0 16px 34px rgba(12, 52, 50, 0.17);
}

.home-motivation::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg, rgba(10, 42, 40, 0.96) 0%, rgba(10, 42, 40, 0.75) 58%, rgba(10, 42, 40, 0.12) 100%);
}

.home-motivation > img {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 34%;
}

.home-motivation div {
  max-width: 72%;
}

.home-motivation small,
.home-motivation strong {
  display: block;
  color: #fff;
}

.home-motivation small {
  margin-bottom: 8px;
  color: #7fe0d8;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.12em;
}

.home-motivation strong {
  font-family: var(--app-font);
  font-size: clamp(20px, 5.6vw, 27px);
  font-weight: 500;
  line-height: 1.16;
}

.home-motivation > a {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.94);
  color: #0c6f72;
  text-decoration: none;
  font-size: 20px;
  font-weight: 900;
}

.daily-focus {
  min-height: 110px;
  margin: 0 0 14px !important;
  padding: 19px !important;
  border: 0 !important;
  border-radius: 22px !important;
  background: radial-gradient(circle at 90% 10%, rgba(93, 224, 216, 0.25), transparent 32%), linear-gradient(135deg, #173f3d, #0a302f) !important;
  color: #fff !important;
  box-shadow: 0 13px 30px rgba(12, 52, 50, 0.15) !important;
}

.daily-focus > span {
  background: rgba(255, 255, 255, 0.13) !important;
  color: #86e3dd !important;
}

.daily-focus small,
.daily-focus b,
.daily-focus p,
.daily-focus > strong {
  color: #fff !important;
}

.daily-focus p {
  color: #d1e3e0 !important;
}

.challenge-welcome,
.pending-section,
.home-overview,
.water-home-widget,
.fast-home-card {
  border-radius: 22px !important;
  box-shadow: var(--app-shadow) !important;
}

.challenge-welcome {
  padding: 21px !important;
}

.preparation-only .challenge-welcome {
  margin-top: 14px !important;
  border: 1px solid rgba(23, 61, 58, 0.08) !important;
  background: #fffdfa !important;
  color: var(--app-ink) !important;
}

.preparation-only .welcome-copy > span {
  color: var(--app-teal-dark) !important;
}

.preparation-only .welcome-copy h2 {
  color: var(--app-ink) !important;
}

.preparation-only .welcome-copy p {
  color: var(--app-muted) !important;
}

.preparation-only .welcome-pill-row span {
  border-color: var(--app-line) !important;
  background: var(--app-mint) !important;
  color: var(--app-teal-dark) !important;
}

.welcome-copy h2,
.overview-title h2,
.pending-head h2,
.quick-section h2 {
  font-family: inherit !important;
  font-weight: 820 !important;
}

.fast-home-card {
  min-height: 122px !important;
  margin: 0 0 12px !important;
  padding: 17px !important;
}

.fast-home-card > div:nth-child(2) > b {
  font-size: 18px !important;
}

.fast-home-card p {
  font-size: 13px !important;
}

.water-home-widget {
  grid-template-columns: 82px minmax(0, 1fr) !important;
  gap: 14px !important;
  margin: 0 0 12px !important;
  padding: 17px !important;
  background: linear-gradient(135deg, #0b8f93, #19b4b1) !important;
}

.home-water-ring {
  width: 80px !important;
}

.water-home-widget h3 {
  margin: 4px 0 !important;
  font-size: 19px !important;
}

.water-home-widget button,
.water-home-widget a {
  min-height: 36px !important;
}

.home-overview {
  padding: 18px !important;
  background: var(--app-surface) !important;
  color: var(--app-ink) !important;
}

.overview-title h2 {
  margin: 4px 0 14px !important;
  color: var(--app-ink) !important;
  font-size: 23px !important;
}

.overview-grid article {
  min-height: 102px !important;
  padding: 14px !important;
  border: 1px solid var(--app-line) !important;
  border-radius: 18px !important;
  background: #f5faf8 !important;
}

.overview-grid small,
.overview-grid span {
  color: var(--app-muted) !important;
}

.overview-grid b {
  margin: 6px 0 4px !important;
  color: var(--app-ink) !important;
  font-size: 18px !important;
}

.overview-grid a {
  color: var(--app-teal-dark) !important;
}

.pending-section {
  padding: 18px !important;
}

.pending-head h2,
.quick-section h2 {
  margin-top: 4px !important;
  font-size: 24px !important;
}

.pending-list > a,
.quick-grid a {
  border-radius: 17px !important;
  box-shadow: none !important;
}

.quick-grid {
  grid-template-columns: repeat(2, 1fr) !important;
}

.quick-grid a {
  min-height: 92px !important;
  background: var(--app-surface) !important;
}

/* Program, tracking and modules */
.plan-shell {
  padding-top: 0 !important;
}

.plan-header {
  width: 100vw !important;
  min-height: 92px !important;
  margin: 0 0 0 calc(50% - 50vw) !important;
  padding: max(13px, env(safe-area-inset-top)) max(18px, calc((100vw - 656px) / 2)) !important;
}

.plan-header > img {
  width: min(270px, 68vw) !important;
  height: 66px !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.profile-link img,
.profile-link > span {
  width: 44px !important;
  height: 44px !important;
}

.plan-welcome {
  padding: 27px 4px 21px !important;
}

.plan-welcome h1,
.tracker-head h2,
.section-heading h2 {
  font-family: inherit !important;
  font-weight: 820 !important;
}

.plan-welcome h1 {
  margin: 0 0 8px !important;
  font-size: clamp(32px, 8vw, 46px) !important;
  font-weight: 750 !important;
}

.plan-welcome p,
.section-heading p {
  font-size: 15px !important;
}

.plan-tabs {
  top: 6px !important;
  margin: 8px 0 15px !important;
  padding: 4px !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 24px rgba(20, 57, 54, 0.08) !important;
}

.plan-tabs button {
  min-height: 42px !important;
  border-radius: 14px !important;
}

.program-experience {
  grid-template-columns: 180px minmax(0, 1fr) !important;
  gap: 18px !important;
  border-radius: 24px !important;
  box-shadow: 0 14px 34px rgba(12, 52, 50, 0.14) !important;
}

.program-experience::after {
  display: none;
}

.program-art {
  min-height: 190px !important;
  padding: 17px !important;
}

.program-art img {
  height: 112px !important;
}

.program-copy {
  padding: 23px 22px 23px 0 !important;
}

.program-copy h2 {
  font-family: inherit !important;
  font-size: 28px !important;
  font-weight: 800 !important;
}

.program-copy p {
  font-size: 14px;
}

.module-grid {
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}

.module-card {
  min-height: 112px !important;
  padding: 16px !important;
  border-radius: 21px !important;
  box-shadow: var(--app-shadow) !important;
}

.module-card:hover {
  transform: none !important;
}

.module-card:active {
  transform: scale(0.99) !important;
}

.module-card > span {
  width: 48px !important;
  height: 48px !important;
}

.module-card h3 {
  margin: 4px 0 !important;
  font-size: 19px !important;
}

.module-card p {
  font-size: 13px !important;
}

.learning-card,
.nutrition-path button,
.dashboard-stat,
.steps-card,
.prep-daily-list button {
  border-radius: 19px !important;
  box-shadow: var(--app-shadow) !important;
}

.module-hero {
  min-height: 154px;
  padding: 24px !important;
  border-radius: 24px !important;
}

.module-hero h2 {
  margin: 6px 0 9px !important;
  font-family: inherit !important;
  font-size: clamp(29px, 7vw, 40px) !important;
  font-weight: 820 !important;
}

.module-hero p {
  font-size: 14px;
}

.flow-screen,
.nutrition-overview,
.weekly-checkin,
.chart-card,
.photos-section {
  border-radius: 22px !important;
  box-shadow: var(--app-shadow) !important;
}

.flow-screen h2,
.flow-screen h3,
.nutrition-overview h2,
.weekly-checkin h2 {
  font-family: inherit !important;
  font-weight: 800 !important;
}

.choice-stack button,
.choice-chips button,
.mode-cards button,
.ratio-grid button,
.method-cards button {
  border-radius: 17px !important;
}

.activity-switch {
  margin-top: 2px !important;
  background: #e7ece9 !important;
}

.week-calendar {
  padding: 14px 9px 10px !important;
  border: 1px solid var(--app-line) !important;
  border-radius: 21px !important;
  background: var(--app-surface) !important;
  color: var(--app-ink) !important;
  box-shadow: var(--app-shadow) !important;
}

.week-calendar header button {
  background: #e6f3f1 !important;
  color: var(--app-teal-dark) !important;
}

.week-calendar > div button {
  min-height: 66px !important;
  color: var(--app-muted) !important;
}

.week-calendar > div button.active {
  background: var(--app-teal) !important;
  color: #fff !important;
}

.daily-dashboard {
  gap: 9px !important;
}

.dashboard-stat {
  min-height: 76px !important;
  padding: 13px !important;
}

.water-card {
  border-radius: 24px !important;
}

.active-fast-card,
.fasting-timer-card {
  border-radius: 24px !important;
}

.preparation-tracker > header {
  padding: 21px !important;
  border-radius: 23px !important;
}

.preparation-tracker > header h2 {
  font-family: inherit !important;
  font-size: 29px !important;
  font-weight: 820 !important;
}

/* Community */
.social-main {
  padding-top: 16px !important;
}

.social-group-head {
  margin-bottom: 14px !important;
}

.challenge-lockup {
  min-height: 72px;
  display: flex;
  align-items: center;
  padding: 7px 12px !important;
  border-radius: 20px !important;
  box-shadow: var(--app-shadow) !important;
}

.challenge-lockup img {
  max-height: 58px !important;
}

.daily-welcome,
.community-composer,
.post-card,
.urgent-card {
  border-radius: 22px !important;
  box-shadow: var(--app-shadow) !important;
}

.daily-welcome {
  padding: 20px !important;
}

.daily-welcome h1,
.feed-head h2 {
  font-family: inherit !important;
  font-weight: 820 !important;
}

.daily-welcome h1 {
  font-size: clamp(30px, 8vw, 40px) !important;
}

.feed-filters,
.device-tabs {
  border-radius: 999px !important;
}

@media (max-width: 620px) {
  body {
    padding-bottom: 96px !important;
  }

  .wrap,
  .plan-shell,
  .social-main {
    width: min(100% - 18px, 680px) !important;
  }

  .app-tab-bar.five-tab-nav {
    bottom: max(6px, env(safe-area-inset-bottom)) !important;
    width: calc(100% - 14px) !important;
  }

  .app-tab-bar.five-tab-nav a {
    min-height: 56px !important;
  }

  .app-tab-bar .nav-icon {
    width: 32px !important;
    height: 32px !important;
  }

  .home-challenge-logo {
    min-height: 70px;
  }

  .home-challenge-logo img {
    height: 56px !important;
  }

  .challenge-welcome {
    margin-top: 0 !important;
  }

  .program-experience {
    grid-template-columns: 1fr !important;
  }

  .program-art {
    min-height: 122px !important;
    align-items: center;
    padding: 12px 18px !important;
  }

  .program-art img {
    width: 210px !important;
    height: 94px !important;
  }

  .program-art span {
    display: none;
  }

  .program-copy {
    padding: 17px 19px 21px !important;
  }

  .program-copy h2 {
    font-size: 24px !important;
  }

  .module-hero {
    grid-template-columns: 1fr !important;
  }

  .module-hero > div:last-child {
    display: none !important;
  }

  .water-card {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    padding: 20px !important;
    text-align: center;
  }

  .water-ring {
    width: 132px !important;
    margin: auto;
  }

  .water-actions {
    justify-content: center;
  }

  .social-group-head {
    align-items: center !important;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .daily-focus,
  .challenge-welcome,
  .module-card,
  .post-card {
    animation: app-rise 0.32s ease both;
  }

  .home-week span.active,
  .app-tab-bar a.active .nav-icon {
    animation: app-pop 0.28s ease both;
  }
}

@keyframes app-rise {
  from { opacity: 0.55; transform: translateY(7px); }
  to { opacity: 1; transform: none; }
}

@keyframes app-pop {
  from { transform: scale(0.9); }
  to { transform: translateY(-2px) scale(1); }
}

/* Tracking console — one connected, live surface instead of three static cards. */
.tracking-overview {
  position: relative;
  isolation: isolate;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  padding: 10px !important;
  border: 1px solid rgba(90, 225, 214, 0.18);
  border-radius: 28px;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% -20%, rgba(31, 203, 193, 0.3), transparent 37%),
    radial-gradient(circle at 95% 120%, rgba(17, 126, 126, 0.25), transparent 40%),
    linear-gradient(145deg, #062c2b 0%, #041f1f 58%, #031918 100%);
  box-shadow: 0 22px 48px rgba(4, 36, 35, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.tracking-overview::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -55%;
  left: -16%;
  width: 42%;
  height: 210%;
  background: linear-gradient(90deg, transparent, rgba(75, 225, 215, 0.07), transparent);
  transform: rotate(17deg);
  animation: console-scan 6s ease-in-out infinite;
  pointer-events: none;
}

.tracking-live-bar {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 34px;
  margin: 0 3px 7px;
  padding: 0 4px 9px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
  color: #bcd8d5;
}

.tracking-live-bar span {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tracking-live-bar i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #4de3d9;
  box-shadow: 0 0 0 5px rgba(77, 227, 217, 0.1), 0 0 16px rgba(77, 227, 217, 0.85);
  animation: live-pulse 1.8s ease-in-out infinite;
}

.tracking-live-bar b {
  padding: 5px 8px;
  border: 1px solid rgba(96, 225, 216, 0.17);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.05);
  color: #70ddd5;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0;
}

.tracking-live-bar b[data-complete="3"] {
  background: #23bcb5;
  color: #032b29;
  box-shadow: 0 0 22px rgba(35, 188, 181, 0.28);
}

.tracking-overview .compact-tracker-card {
  min-height: 216px !important;
  padding: 8px 8px 6px !important;
  border: 0 !important;
  border-right: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.tracking-overview .compact-tracker-card:last-child {
  border-right: 0 !important;
}

.tracking-overview .compact-tracker-heading,
.tracking-overview .water-copy > span,
.tracking-overview .steps-copy > span {
  color: #6edbd3 !important;
  font-size: 10px !important;
  letter-spacing: 0.11em !important;
}

.tracking-overview .fasting-orbit,
.tracking-overview .water-container-visual,
.tracking-overview .steps-icon {
  width: 78px !important;
  height: 78px !important;
  aspect-ratio: 1;
  padding: 5px !important;
  border: 0 !important;
  border-radius: 50% !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.24) !important;
}

.tracking-overview .fasting-orbit {
  background: conic-gradient(#4ce0d6 var(--fast-progress), rgba(255, 255, 255, 0.1) 0) !important;
}

.tracking-overview .water-container-visual {
  background: conic-gradient(#4ce0d6 var(--water-progress), rgba(255, 255, 255, 0.1) 0) !important;
}

.tracking-overview .water-container-visual img {
  inset: 5px !important;
  width: calc(100% - 10px) !important;
  height: calc(100% - 10px) !important;
  padding: 4px;
  border-radius: 50%;
  background: linear-gradient(145deg, #ffffff, #e7f7f4);
}

.tracking-overview .steps-icon {
  background: conic-gradient(#4ce0d6 var(--steps-progress), rgba(255, 255, 255, 0.1) 0) !important;
}

.tracking-overview .steps-icon span {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(145deg, #f8fffe, #dff5f1);
  font-size: 30px !important;
}

.tracking-overview .fasting-orbit > div {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}

.tracking-overview .fasting-orbit b {
  font-size: 17px !important;
}

.tracking-overview .selected-water-container {
  margin-top: 4px !important;
  font-size: 10px !important;
  font-weight: 700;
}

.tracking-overview .water-copy p,
.tracking-overview .steps-card p {
  font-size: 9px !important;
  line-height: 1.25 !important;
}

.tracking-overview .steps-card h2 {
  margin-top: 6px !important;
  font-size: 19px !important;
}

.tracking-overview .fast-primary,
.tracking-overview .fast-stop,
.tracking-overview .water-actions button,
.tracking-overview .compact-add {
  min-height: 31px !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.07) !important;
  color: #efffff !important;
  font-size: 9px !important;
  font-weight: 750 !important;
  box-shadow: none !important;
}

.tracking-overview .fast-stop:not(:disabled),
.tracking-overview .compact-add {
  border-color: transparent !important;
  background: linear-gradient(135deg, #17b8b3, #087d80) !important;
}

.tracking-overview .fast-primary:disabled,
.tracking-overview .fast-stop:disabled {
  opacity: 0.38;
}

.meal-register {
  margin-top: 14px;
}

.meal-register .tracking-section-title {
  padding: 14px 5px 12px !important;
}

.meal-register .tracking-section-title h2 {
  font-size: clamp(26px, 7vw, 34px) !important;
  font-weight: 720 !important;
}

.meal-register .meal-card {
  border-radius: 18px !important;
  box-shadow: 0 6px 20px rgba(8, 47, 47, 0.05) !important;
}

.meal-register .meal-heading {
  min-height: 68px !important;
  padding: 10px 13px !important;
}

.meal-register .meal-icon {
  width: 42px !important;
  height: 42px !important;
  border-radius: 14px !important;
  font-size: 19px !important;
}

@keyframes console-scan {
  0%, 18% { transform: translateX(-140%) rotate(17deg); }
  70%, 100% { transform: translateX(430%) rotate(17deg); }
}

@keyframes live-pulse {
  0%, 100% { opacity: 0.55; transform: scale(0.86); }
  50% { opacity: 1; transform: scale(1); }
}

@media (max-width: 390px) {
  .tracking-overview {
    padding: 8px !important;
    border-radius: 24px;
  }

  .tracking-overview .compact-tracker-card {
    min-height: 202px !important;
    padding-inline: 6px !important;
  }

  .tracking-overview .fasting-orbit,
  .tracking-overview .water-container-visual,
  .tracking-overview .steps-icon {
    width: 68px !important;
    height: 68px !important;
  }

  .tracking-overview .steps-card h2 {
    font-size: 17px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tracking-overview::before,
  .tracking-live-bar i {
    animation: none !important;
  }
}

/* Programa y creador semanal: menos repetición, más claridad y una revisión final. */
.simplified-program{grid-template-columns:minmax(240px,.8fr) minmax(280px,1.2fr)!important;align-items:center!important;padding:18px!important}
.simplified-program .program-art{min-height:154px!important;padding:12px!important;border-radius:20px!important;background:rgba(255,255,255,.055)!important}
.simplified-program .program-art img{width:min(100%,260px)!important;height:112px!important;object-fit:contain!important}
.simplified-program .program-art span{display:inline-flex!important;margin-top:4px;padding:6px 10px;border:1px solid rgba(111,224,215,.22);border-radius:999px;background:rgba(31,184,177,.09);color:#8ce3dc;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.simplified-program .program-copy{padding:8px 14px!important}
.nutrition-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.nutrition-tools article{padding:18px;border:1px solid var(--line);border-radius:20px;background:#f7fbfa;text-align:center}.nutrition-tools .tool-icon{width:66px;height:66px;display:grid;place-items:center;margin:0 auto 12px;border-radius:20px;background:#dff6f3;color:#087f83}.nutrition-tools svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.nutrition-tools b,.nutrition-tools small{display:block}.nutrition-tools b{color:var(--forest)}.nutrition-tools small{margin-top:6px;color:var(--muted);line-height:1.4}
.custom-week-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;padding:5px;border-radius:18px;background:#e6efed}.custom-week-picker button{min-height:46px;border:0;border-radius:14px;background:transparent;color:#56716e;font:inherit;font-weight:800;cursor:pointer}.custom-week-picker button.active{background:#fff;color:#087f83;box-shadow:0 6px 18px rgba(14,61,59,.1)}
.custom-day-tabs{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:12px}.custom-day-tabs button{position:relative;min-width:0;min-height:64px;border:1px solid var(--line);border-radius:16px;background:#fff;color:#607875;cursor:pointer}.custom-day-tabs small,.custom-day-tabs b,.custom-day-tabs span{display:block}.custom-day-tabs small{font-size:10px}.custom-day-tabs b{margin-top:3px;font-size:16px}.custom-day-tabs span{position:absolute;right:5px;top:4px;color:#0ca39f;font-size:10px}.custom-day-tabs button.active{border-color:#10aaa7;background:#0b4a47;color:#fff;box-shadow:0 8px 20px rgba(8,77,74,.16)}.custom-day-tabs button.active span{color:#77e0d8}
.custom-plan-day label{gap:8px}.custom-plan-day label>b{font-size:18px}.custom-plan-finish,.custom-plan-activate{display:flex;align-items:center;gap:14px;margin-top:16px;padding:18px;border:1px solid rgba(17,171,167,.2);border-radius:22px;background:linear-gradient(135deg,#e6f8f5,#f8fbfa)}.custom-plan-finish>span{width:44px;height:44px;display:grid;place-items:center;flex:0 0 44px;border-radius:50%;background:#0aa39f;color:#fff;font-weight:900}.custom-plan-finish div,.custom-plan-activate div{flex:1}.custom-plan-finish b,.custom-plan-activate b{color:var(--forest)}.custom-plan-finish p,.custom-plan-activate p{margin:4px 0 0;color:var(--muted);font-size:13px}.custom-plan-finish button,.custom-plan-activate button,.custom-plan-empty button{min-height:44px;border:0;border-radius:999px;padding:10px 16px;background:#0b8f90;color:#fff;font:inherit;font-weight:850;cursor:pointer}
.custom-plan-preview{display:grid;gap:16px}.custom-preview-week{border:1px solid var(--line);border-radius:24px;background:#fff;overflow:hidden;box-shadow:var(--app-shadow)}.custom-preview-week>header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;background:#0a3f3d;color:#fff}.custom-preview-week header small{color:#79ddd5;font-weight:850;text-transform:uppercase;letter-spacing:.1em}.custom-preview-week header h3{margin:4px 0 0;color:#fff}.custom-preview-week header>span{padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.1);font-size:11px}.custom-preview-week>div{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}.custom-preview-week article{position:relative;padding:17px;background:#fff}.custom-preview-week article>b{display:block;margin-bottom:10px;color:#087f83}.custom-preview-week article p{margin:8px 0;color:#435f5c;font-size:13px;line-height:1.4}.custom-preview-week article strong{display:block;color:#0b3735;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.custom-preview-week article button{border:0;background:transparent;color:#078b8f;font-weight:800;cursor:pointer}.custom-plan-empty{padding:28px;border:1px dashed #9bbab6;border-radius:22px;text-align:center}.custom-plan-empty p{color:var(--muted)}
@media(max-width:680px){.simplified-program{grid-template-columns:1fr!important;padding:12px!important}.simplified-program .program-art{min-height:126px!important}.simplified-program .program-copy{padding:10px!important}.nutrition-tools{grid-template-columns:1fr}.nutrition-tools article{display:grid;grid-template-columns:58px 1fr;gap:2px 12px;text-align:left}.nutrition-tools .tool-icon{grid-row:1/3;width:58px;height:58px;margin:0}.custom-day-tabs{gap:3px}.custom-day-tabs button{min-height:56px;border-radius:13px}.custom-plan-finish,.custom-plan-activate{align-items:flex-start;flex-wrap:wrap}.custom-plan-finish button,.custom-plan-activate button{width:100%}.custom-preview-week>div{grid-template-columns:1fr}}
.custom-plan-activate button:disabled{background:#cbd9d7!important;color:#6f817f!important;cursor:not-allowed}
.guide-heading .tools-guide-button{margin-left:8px;background:#0b8f90!important;color:#fff!important}
@media(max-width:520px){.guide-heading .tools-guide-button{display:block;margin:8px 0 0;width:100%}}

/* Recomendaciones personales de Sueño y Constancia en Inicio. */
.personalized-home{margin:0 0 17px;padding:20px;border-radius:26px;background:linear-gradient(135deg,#123f3e,#092d34);color:#fff;box-shadow:0 13px 30px rgba(7,45,44,.11)}
.personalized-home>header span{display:block;color:#75dcd5;font-size:10px;font-weight:900;letter-spacing:.13em}.personalized-home>header h2{margin:5px 0 15px;color:#fff;font-size:21px}.personalized-home>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.personalized-home article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:19px;background:rgba(255,255,255,.06)}.personalized-home article .sleep-home-icon{width:43px;height:43px;border-radius:14px;font-size:25px}.personalized-home article .sleep-home-icon.emotional{color:#ffc28e}.personalized-home article small{color:#73dcd4;font-size:9px;font-weight:900;letter-spacing:.11em}.personalized-home article h3{margin:4px 0;color:#fff;font-size:16px}.personalized-home article p{margin:0;color:#d7e8e6;font-size:13px;line-height:1.45}.personalized-home article>a{grid-column:2;justify-self:start;padding:8px 11px;border-radius:999px;background:#e5f7f4;color:#087d80;font-size:11px;font-weight:850;text-decoration:none}
@media(max-width:650px){.personalized-home{padding:17px}.personalized-home>div{grid-template-columns:1fr}}
.personalized-home article .sleep-home-icon.emotional svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* Shared owner-supplied icon family and layouts that reserve room for actions. */
.wellness-icon {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
  border-radius: 22%;
  flex-shrink: 0;
}
.home-v2 .quick-section .quick-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  overflow: visible;
  align-items: stretch;
}
.home-v2 .quick-grid a:nth-child(n) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 30px;
  grid-template-rows: auto 1fr;
  align-items: start;
  gap: 10px 8px;
  min-width: 0;
  min-height: 136px !important;
  padding: 14px !important;
}
.home-v2 .quick-grid a:nth-child(n) > span {
  grid-column: 1;
  grid-row: 1;
  width: 64px;
  height: 64px;
  border: 0;
  background: transparent;
}
.home-v2 .quick-grid a > b {
  grid-column: 1 / -1;
  grid-row: 2;
  max-width: none;
  min-width: 0;
  padding: 0;
  font-size: 14px;
  line-height: 1.4;
  white-space: normal;
  overflow-wrap: anywhere;
}
.home-v2 .quick-grid a > strong {
  position: static;
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  justify-self: end;
  width: 30px;
  height: 30px;
}
.pending-list > a,
.home-actions > a {
  grid-template-columns: auto minmax(0, 1fr) auto;
}
.pending-list > a > div,
.home-actions > a > div { min-width: 0; overflow-wrap: anywhere; }
.pending-list > a > strong,
.home-actions > a > strong { position: static; flex-shrink: 0; }
.challenge-days-left { grid-template-columns: auto minmax(0, 1fr) auto; }
.module-footer-nav > *,
.guide-plan-bridge button,
.nutrition-choice-actions > * {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.4;
}
.nutrition-tools .tool-icon {
  width: 76px;
  height: 76px;
  background: transparent;
}
.nutrition-tools article { min-width: 0; }
.steps-dialog-icon:has(.wellness-icon) {
  background: transparent;
  box-shadow: none;
}
.tracking-overview .steps-icon .wellness-icon { border-radius: 50%; }

/* Each closed category has the same icon, title and disclosure positions. */
.guide-list { align-items: stretch; }
.guide-card > summary::after { content: none; }
.guide-card:not([open]) > summary {
  grid-template-columns: minmax(0, 1fr) 30px;
  grid-template-rows: 52px auto;
  gap: 10px;
  align-content: start;
  align-items: center;
  min-height: 148px;
  padding: 15px;
}
.guide-card:not([open]) .guide-category-icon { grid-column: 1; grid-row: 1; }
.guide-card:not([open]) .guide-category-name {
  grid-column: 1 / -1;
  grid-row: 2;
  font-size: 16px;
  line-height: 1.3;
}
.guide-card:not([open]) summary > i { grid-column: 2; grid-row: 1; justify-self: end; }
.guide-card[open] > summary {
  grid-template-columns: 48px minmax(0, 1fr) 30px;
}
.guide-card[open] > summary::after { content: none; }
.guide-category-name { overflow-wrap: anywhere; }
.guide-category-name small { margin-left: 0; }
.guide-card-body { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.guide-card-body section { min-width: 0; }
.food-list > div {
  grid-template-columns: minmax(0, 1fr) minmax(76px, 32%);
  gap: 12px;
  align-items: start;
}
.food-list > div > span { min-width: 0; overflow-wrap: anywhere; }
.food-list > div > strong {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.4;
  text-align: right;
}
.weekly-checkin button[disabled] { opacity: .65; cursor: wait; }
@media (max-width: 720px) {
  .guide-card-body { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 680px) {
  .nutrition-tools article {
    grid-template-columns: 66px minmax(0, 1fr);
    align-items: center;
  }
  .nutrition-tools .tool-icon { width: 66px; height: 66px; }
  .nutrition-tools small { align-self: start; }
}
@media (max-width: 380px) {
  .home-v2 .quick-grid a:nth-child(n) { padding: 11px !important; }
  .guide-card:not([open]) > summary { padding: 12px; }
}
/* Food category artwork uses the same square sizing in every category. */
.guide-card:not([open]) > summary { grid-template-rows: 64px auto; }
.guide-card:not([open]) .guide-category-icon {
  width: 64px;
  height: 64px;
  background: transparent;
}
.guide-card[open] .guide-category-icon {
  width: 48px;
  height: 48px;
  background: transparent;
}

/* One navigation for participants and staff. */
.app-tab-bar.five-tab-nav{position:fixed!important;z-index:90;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:4px!important}
.app-tab-bar.five-tab-nav>a{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none}
.app-tab-bar .nav-icon{display:grid;place-items:center;border-radius:50%}.app-tab-bar .nav-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.app-tab-bar.five-tab-nav .app-role-link{grid-column:1/-1;min-height:36px!important;border-top:1px solid #dbeae8;border-radius:0 0 14px 14px!important;font-size:14px;font-weight:800;color:#078b8f!important}
body:has(.has-role-nav){padding-bottom:145px!important}.has-role-nav~.admin-notice{bottom:145px}
.app-tab-bar.five-tab-nav .nav-label{font-size:12px!important}

/* Aligning Wellness — premium mobile system.
   This layer makes hierarchy visible without replacing working flows. */
:root{--aw-canvas:#f4f6f5;--aw-paper:#fff;--aw-ink:#102e36;--aw-muted:#687b80;--aw-navy:#082a35;--aw-teal:#21b5b5;--aw-teal-deep:#087d84;--aw-teal-soft:#e2f5f3;--aw-line:#dce8e7;--aw-success:#239878;--aw-warm:#be8061;--aw-radius:22px;--aw-shadow:0 10px 26px rgba(16,46,54,.07)}
html,body{background:var(--aw-canvas)!important;color:var(--aw-ink)}body{font-family:"Avenir Next","SF Pro Text","Helvetica Neue",Arial,sans-serif!important;letter-spacing:-.012em}button,input,select,textarea{font-family:inherit}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid rgba(33,181,181,.4)!important;outline-offset:3px}

/* Navigation has a distinct active destination instead of five equal buttons. */
.app-tab-bar.five-tab-nav{bottom:max(10px,env(safe-area-inset-bottom))!important;padding:5px!important;border:1px solid rgba(8,42,53,.1)!important;border-radius:20px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 14px 34px rgba(8,42,53,.16)!important}.app-tab-bar.five-tab-nav a{min-height:57px!important;color:#708086!important;transition:color .18s ease,background .18s ease,transform .18s ease}.app-tab-bar.five-tab-nav .nav-icon{width:31px!important;height:31px!important;border:0!important;border-radius:11px!important;background:transparent!important;color:currentColor!important}.app-tab-bar.five-tab-nav a.active{color:var(--aw-navy)!important;background:#ecf8f7;border-radius:15px!important}.app-tab-bar.five-tab-nav a.active .nav-icon{background:var(--aw-navy)!important;color:#fff!important;box-shadow:none!important;transform:none}.app-tab-bar.five-tab-nav .nav-label{font-size:10px!important;font-weight:760!important;letter-spacing:-.01em}

/* Home: one clear daily action, then a compact dashboard. */
.home-v2{padding-bottom:28px!important}.home-v2 .home-app-bar{min-height:98px!important;margin:0 0 16px!important;padding:10px 12px!important;border:1px solid var(--aw-line)!important;border-radius:var(--aw-radius)!important;background:var(--aw-paper)!important;box-shadow:var(--aw-shadow)!important}.home-v2 .home-brand{background:var(--aw-navy)!important;border-radius:16px!important}.home-v2 .home-welcome{border-left-color:var(--aw-line)!important}.home-v2 .home-welcome h1{color:var(--aw-ink)!important;font-family:"Avenir Next","SF Pro Display",sans-serif!important;font-weight:760!important;letter-spacing:-.055em!important}.home-v2 .home-welcome p{color:var(--aw-muted)!important}.home-v2 .home-notice{background:var(--aw-teal-soft)!important;color:var(--aw-teal-deep)!important}.home-v2 .home-profile{background:var(--aw-navy)!important;color:#fff!important}.home-command{min-height:182px!important;border:0!important;border-radius:var(--aw-radius)!important;background:var(--aw-navy)!important;box-shadow:0 16px 32px rgba(8,42,53,.19)!important}.home-command:before{border-color:rgba(110,235,225,.16)!important;box-shadow:0 0 0 24px rgba(110,235,225,.025),0 0 0 48px rgba(110,235,225,.018)!important}.command-copy small{color:#79e1d9!important}.command-copy h2{font-family:"Avenir Next","SF Pro Display",sans-serif!important;font-weight:700!important}.command-copy p{color:#b9d2d3!important}.command-copy>a{min-height:38px;padding:0 13px;border-radius:999px;background:#fff;color:var(--aw-navy)!important;font-size:11px!important;font-weight:800!important}.command-progress small{color:#a8c8c9!important}.command-ring:after{background:#103742!important}
.today-panel{padding:18px!important;border:1px solid var(--aw-line)!important;border-radius:var(--aw-radius)!important;background:var(--aw-paper)!important;box-shadow:var(--aw-shadow)!important;backdrop-filter:none!important}.today-panel>header{margin:0 1px 15px!important}.today-panel>header small{color:var(--aw-teal-deep)!important}.today-panel>header h2{font-family:"Avenir Next","SF Pro Display",sans-serif!important;color:var(--aw-ink)!important;font-weight:720!important}.today-panel>header>a{color:var(--aw-teal-deep)!important}.home-v2 .daily-metrics{gap:10px!important}.home-v2 .daily-metric{padding:13px!important;border:1px solid var(--aw-line)!important;border-radius:18px!important;background:#f9fbfb!important;box-shadow:none!important;transition:border-color .18s ease,transform .18s ease}.home-v2 .daily-metric:active{transform:scale(.985)}.home-v2 .daily-metric.metric-water{border-top:3px solid #5abac6!important}.home-v2 .daily-metric.metric-food{border-top:3px solid var(--aw-warm)!important}.home-v2 .daily-metric.metric-fast{border-top:3px solid #8f76be!important}.home-v2 .daily-metric.metric-move{border-top:3px solid var(--aw-success)!important}.home-v2 .daily-metric .metric-ring{background:conic-gradient(var(--ring-color,var(--aw-teal)) var(--metric-progress,0deg),#e6efee 0)!important}.home-v2 .daily-metric .metric-ring:after{background:#f9fbfb!important}.home-v2 .daily-metric .metric-ring b{color:var(--aw-ink)!important}.home-v2 .daily-metric h3{color:var(--aw-ink)!important}.home-v2 .daily-metric .metric-value{color:var(--aw-muted)!important;font-size:12px!important;font-weight:650!important}.home-v2 .daily-metric>button,.home-v2 .daily-metric .metric-water-actions button{min-height:35px!important;border:0!important;border-radius:10px!important;background:var(--aw-teal-soft)!important;color:var(--aw-teal-deep)!important;font-size:12px!important;font-weight:800!important}.home-v2 .daily-metric .fast-end{background:var(--aw-navy)!important;color:#fff!important}.daily-reading{margin-top:13px!important;padding:12px 13px!important;border-radius:14px!important;background:#f1f7f6!important}.daily-reading span{color:var(--aw-teal-deep)!important}.daily-reading p{color:#4c676b!important}
.home-v2 .quick-section{margin-top:20px!important}.home-v2 .quick-section h2{color:var(--aw-ink)!important;font-family:"Avenir Next","SF Pro Display",sans-serif!important;font-size:22px!important;font-weight:730!important}.home-v2 .quick-section>div>a{color:var(--aw-teal-deep)!important;font-weight:800!important}.home-v2 .quick-grid{gap:10px!important}.home-v2 .quick-grid a,.home-v2 .quick-grid a:nth-child(n){min-width:164px!important;min-height:110px!important;border:1px solid var(--aw-line)!important;border-radius:18px!important;background:var(--aw-paper)!important;box-shadow:none!important}.home-v2 .quick-grid a:nth-child(1){border-color:#b9e3e0!important}.home-v2 .quick-grid a:nth-child(2){border-color:#e6d7cc!important}.home-v2 .quick-grid a:nth-child(3){border-color:#d8e5c9!important}.home-v2 .quick-grid a:nth-child(4){border-color:#c9e0eb!important}.home-v2 .quick-grid a:nth-child(n)>span{background:#f2f8f7!important}.home-v2 .quick-grid a>b{color:var(--aw-ink)!important;font-size:12px!important;font-weight:720!important}.home-v2 .quick-grid a>strong{background:var(--aw-teal-soft)!important;color:var(--aw-teal-deep)!important}.challenge-days-left{border:1px solid var(--aw-line)!important;border-radius:18px!important;background:var(--aw-paper)!important;box-shadow:none!important}.challenge-days-left p{color:#4c676b!important}.challenge-days-left strong{color:var(--aw-ink)!important}.challenge-days-left>span,.challenge-days-left>b{background:var(--aw-teal-soft)!important;color:var(--aw-teal-deep)!important}.pending-section{border:1px solid var(--aw-line)!important;border-radius:var(--aw-radius)!important;background:var(--aw-paper)!important;box-shadow:none!important}.pending-head h2{color:var(--aw-ink)!important}.pending-list>a{border-color:var(--aw-line)!important;background:#fafcfb!important}

/* Program: content areas carry meaning; selections and actions no longer look alike. */
.plan-header{min-height:88px!important;background:var(--aw-navy)!important}.plan-header .profile-link{border-color:rgba(255,255,255,.2)!important;background:rgba(255,255,255,.1)!important;color:#fff!important}.plan-welcome{padding:25px 4px 16px!important}.plan-welcome h1,.section-heading h2,.tracker-head h2{font-family:"Avenir Next","SF Pro Display",sans-serif!important;color:var(--aw-ink)!important;font-weight:740!important;letter-spacing:-.055em!important}.plan-welcome p,.section-heading p{color:var(--aw-muted)!important}.plan-tabs{border:1px solid var(--aw-line)!important;border-radius:16px!important;background:var(--aw-paper)!important;box-shadow:0 8px 20px rgba(8,42,53,.06)!important}.plan-tabs button{color:var(--aw-muted)!important;font-size:12px!important;font-weight:760!important}.plan-tabs button[aria-selected=true]{background:var(--aw-navy)!important;color:#fff!important;box-shadow:none!important}.program-experience,.module-hero{border:0!important;border-radius:var(--aw-radius)!important;background:var(--aw-navy)!important;box-shadow:0 15px 30px rgba(8,42,53,.15)!important}.program-art{background:rgba(255,255,255,.06)!important}.program-copy h2,.module-hero h2{color:#fff!important;font-family:"Avenir Next","SF Pro Display",sans-serif!important}.program-copy p,.module-hero p{color:#c7dcdd!important}.module-grid{gap:9px!important}.module-card{min-height:96px!important;padding:15px 16px!important;border:1px solid var(--aw-line)!important;border-radius:18px!important;background:var(--aw-paper)!important;box-shadow:none!important}.module-card.hydration{border-left:4px solid #5abac6!important;background:var(--aw-paper)!important}.module-card.fasting{border-left:4px solid #8f76be!important;background:var(--aw-paper)!important}.module-card.profile{border-left:4px solid var(--aw-teal)!important}.module-card>span{width:43px!important;height:43px!important;border-radius:13px!important;background:var(--aw-teal-soft)!important;color:var(--aw-teal-deep)!important}.module-card h3{color:var(--aw-ink)!important;font-size:17px!important;font-weight:740!important}.module-card p{color:var(--aw-muted)!important;font-size:12px!important}.module-card>strong{color:var(--aw-teal-deep)!important;font-size:24px!important}.flow-screen,.nutrition-overview,.weekly-checkin,.chart-card,.photos-section{border:1px solid var(--aw-line)!important;border-radius:var(--aw-radius)!important;background:var(--aw-paper)!important;box-shadow:none!important}.flow-screen h2,.flow-screen h3,.nutrition-overview h2,.weekly-checkin h2{color:var(--aw-ink)!important}.choice-stack button,.choice-chips button,.mode-cards button,.ratio-grid button,.container-grid button{border-color:var(--aw-line)!important;border-radius:15px!important;background:var(--aw-paper)!important;color:var(--aw-ink)!important;box-shadow:none!important}.choice-stack button.selected,.choice-chips button.selected,.mode-cards button.selected,.ratio-grid button.selected,.container-grid button.selected,.choice-stack button[aria-pressed=true],.choice-chips button[aria-pressed=true],.mode-cards button[aria-pressed=true],.ratio-grid button[aria-pressed=true],.container-grid button[aria-pressed=true]{border-color:var(--aw-navy)!important;background:#eaf7f6!important;box-shadow:inset 0 0 0 1px var(--aw-navy)!important;color:var(--aw-navy)!important}.flow-save,.flow-next,.goal-needed button,.module-footer-nav .primary{border:0!important;border-radius:14px!important;background:var(--aw-navy)!important;color:#fff!important;box-shadow:0 8px 18px rgba(8,42,53,.16)!important}.flow-save:active,.flow-next:active,.goal-needed button:active{transform:scale(.985)}.goal-needed{border:1px dashed #a6d6d2!important;border-radius:18px!important;background:#f6fbfa!important}.goal-needed b{font-family:"Avenir Next","SF Pro Display",sans-serif!important;color:var(--aw-ink)!important}

/* Tracking: a connected live console with readable metrics. */
.tracking-overview{padding:11px!important;border:1px solid rgba(112,220,213,.22)!important;border-radius:24px!important;background:var(--aw-navy)!important;box-shadow:0 16px 32px rgba(8,42,53,.18)!important}.tracking-overview::before{display:none!important}.tracking-live-bar{min-height:36px!important;margin:0 3px 8px!important;border-bottom-color:rgba(255,255,255,.12)!important}.tracking-live-bar span{font-size:10px!important}.tracking-live-bar b{background:rgba(255,255,255,.08)!important;color:#8ce8e0!important}.tracking-overview .compact-tracker-card{min-height:206px!important;padding:8px 7px!important;border-right-color:rgba(255,255,255,.12)!important}.tracking-overview .compact-tracker-heading,.tracking-overview .water-copy>span,.tracking-overview .steps-copy>span{font-size:9px!important;color:#83e0d8!important}.tracking-overview .fasting-orbit,.tracking-overview .water-container-visual,.tracking-overview .steps-icon{width:76px!important;height:76px!important}.tracking-overview .fasting-orbit b{font-size:16px!important}.tracking-overview .water-copy p,.tracking-overview .steps-card p{font-size:10px!important;color:#d5e7e7!important}.tracking-overview .steps-card h2{color:#fff!important;font-size:18px!important}.tracking-overview .fast-primary,.tracking-overview .fast-stop,.tracking-overview .water-actions button,.tracking-overview .compact-add{min-height:32px!important;border-radius:10px!important;font-size:10px!important}.tracking-overview .fast-stop:not(:disabled),.tracking-overview .compact-add{background:var(--aw-teal)!important;color:#062c32!important}.meal-register{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.meal-register .tracking-section-title{padding:22px 2px 11px!important}.meal-register .tracking-section-title h2{font-family:"Avenir Next","SF Pro Display",sans-serif!important;color:var(--aw-ink)!important;font-weight:740!important}.meal-progress b{color:var(--aw-ink)!important}.meal-progress small{color:var(--aw-teal-deep)!important}.meal-register .meal-card{margin-bottom:9px!important;border:1px solid var(--aw-line)!important;border-radius:17px!important;background:var(--aw-paper)!important;box-shadow:none!important}.meal-register .meal-card.complete{border-left:4px solid var(--aw-success)!important}.meal-register .meal-heading{min-height:66px!important}.meal-register .meal-icon{background:var(--aw-teal-soft)!important;color:var(--aw-teal-deep)!important}.meal-status{background:#edf3f2!important;color:#7b9291!important}.meal-card.complete .meal-status{background:var(--aw-success)!important}

/* Community and modal surfaces use the same calm, premium language. */
.community-client{background:var(--aw-canvas)!important}.community-client .chat-app-head{border-bottom-color:var(--aw-line)!important;background:rgba(255,255,255,.94)!important}.chat-back,.chat-header-actions>a,.chat-header-actions>button{background:var(--aw-navy)!important;color:#fff!important}.chat-group-identity strong{color:var(--aw-ink)!important}.chat-group-identity small{color:var(--aw-muted)!important}.chat-date-separator span{background:var(--aw-teal-soft)!important;color:var(--aw-teal-deep)!important}.chat-private-note{border:1px solid var(--aw-line)!important;background:var(--aw-paper)!important}.daily-welcome{border:1px solid var(--aw-line)!important;border-radius:18px!important;background:var(--aw-paper)!important;box-shadow:none!important}.community-client .feed-filters{background:#e8f0f0!important}.community-client .feed-filters button.selected{background:var(--aw-navy)!important;color:#fff!important}.community-client .chat-composer .chat-input-shell textarea{background:var(--aw-navy)!important;color:#fff!important}.chat-plus{background:var(--aw-navy)!important}.chat-mic,.chat-composer .publish-button{background:var(--aw-teal)!important;color:#062c32!important}.install-dialog,.profile-dialog,.group-info-dialog,.notification-dialog{border:1px solid var(--aw-line)!important;border-radius:26px!important;background:var(--aw-paper)!important;box-shadow:0 24px 60px rgba(8,42,53,.2)!important}.guide-action,.publish-button{border-radius:14px!important;background:var(--aw-navy)!important;color:#fff!important}.secondary-guide,.notification-later{background:var(--aw-teal-soft)!important;color:var(--aw-teal-deep)!important}
@media(max-width:390px){.home-command{min-height:166px!important}.home-v2 .daily-metric{padding:10px!important}.home-v2 .daily-metric .metric-ring{width:56px!important;height:56px!important;min-width:56px!important;min-height:56px!important}.tracking-overview .compact-tracker-card{min-height:198px!important}.tracking-overview .fasting-orbit,.tracking-overview .water-container-visual,.tracking-overview .steps-icon{width:68px!important;height:68px!important}}@media(prefers-reduced-motion:no-preference){.home-command,.today-panel,.module-card,.meal-register .meal-card{animation:aw-enter .28s ease both}.app-tab-bar.five-tab-nav a:active{transform:scale(.96)}}@media(prefers-reduced-motion:reduce){.home-command,.today-panel,.module-card,.meal-register .meal-card{animation:none!important}}@keyframes aw-enter{from{opacity:.5;transform:translateY(6px)}to{opacity:1;transform:none}}

/* Consentimiento breve, claro y propio de la aplicación. */
.nutrition-consent{width:min(560px,calc(100% - 28px));max-height:min(760px,calc(100svh - 28px));margin:auto;padding:0;border:0;border-radius:28px;background:#fffdfb;color:#183d3a;box-shadow:0 28px 80px rgba(4,38,37,.28)}
.nutrition-consent::backdrop{background:rgba(4,31,30,.55);backdrop-filter:blur(5px)}
.nutrition-consent form{position:relative;display:grid;gap:14px;padding:28px 24px 22px;overflow:auto}
.nutrition-consent form>span{color:#0c8788;font-size:11px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.nutrition-consent h2{margin:0;color:#113e3b;font-size:29px;line-height:1.04;font-weight:720;letter-spacing:-.045em}
.nutrition-consent p{margin:0;color:#56706d;font-size:15px;line-height:1.52}
.nutrition-consent ul{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.nutrition-consent li{position:relative;padding-left:22px;color:#395a57;font-size:14px;line-height:1.45}
.nutrition-consent li::before{content:"✓";position:absolute;left:0;color:#0b9d9c;font-weight:900}
.nutrition-consent label{display:flex;gap:10px;align-items:flex-start;padding:13px 14px;border:1px solid #cfe4e0;border-radius:16px;background:#f4fbfa;color:#244b48;font-size:14px;font-weight:680;line-height:1.35}
.nutrition-consent input{width:19px;height:19px;margin:0;accent-color:#0d9595;flex:0 0 auto}
.nutrition-consent .flow-save{width:100%;margin:0!important;border-radius:15px!important}
.nutrition-consent .flow-save:disabled{background:#c9d8d5!important;color:#71827f!important;cursor:not-allowed}
.nutrition-consent [data-nutrition-consent-status]{min-height:1.25em;font-size:13px;color:#a54d40}
.nutrition-consent form>small{color:#718481;font-size:12px;line-height:1.4}
.nutrition-consent-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border:0;border-radius:50%;background:#eff7f5;color:#163e3b;font:inherit;font-size:24px;line-height:1;cursor:pointer}
@media(max-width:520px){.nutrition-consent{width:calc(100% - 20px);border-radius:24px}.nutrition-consent form{padding:25px 18px 19px}.nutrition-consent h2{max-width:260px;font-size:26px}}

/* Aligning Wellness v2 typography */
.plan-header .profile-link{width:auto!important;min-width:44px!important;min-height:44px!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important}.plan-header .profile-link small{display:none!important}.plan-header .profile-link img,.plan-header .profile-link>span{display:grid!important;width:44px!important;height:44px!important;border-radius:50%!important}
.plan-kicker{display:block;margin:0 0 7px;color:var(--aw-teal-deep);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.plan-welcome{padding:28px 4px 18px!important}.plan-welcome h1{margin:0 0 7px!important;font-size:clamp(31px,8vw,42px)!important;font-weight:520!important;line-height:1.05!important;letter-spacing:-.052em!important}.plan-welcome p{max-width:360px;margin:0!important;font-size:15px!important;line-height:1.48!important}.home-v2 .home-welcome h1,.today-panel>header h2,.home-v2 .quick-section h2,.meal-register .tracking-section-title h2,.section-heading h2,.tracker-head h2{font-family:"Avenir Next","SF Pro Display",-apple-system,sans-serif!important;font-weight:560!important;letter-spacing:-.042em!important}.today-panel>header h2{font-size:22px!important;line-height:1.1!important}.home-v2 .quick-section h2{font-size:21px!important}.meal-register .tracking-section-title h2{font-size:clamp(27px,7vw,34px)!important}.program-copy h2,.module-hero h2{font-weight:560!important;letter-spacing:-.045em!important}.module-card h3{font-weight:630!important}.pending-head h2{font-weight:580!important}.plan-tabs button{font-weight:650!important}.app-tab-bar.five-tab-nav .nav-label{font-weight:650!important}.plan-panel{padding-top:2px}.program-experience{position:relative;overflow:hidden}.program-experience:before{content:"";position:absolute;right:-52px;top:-62px;width:180px;height:180px;border:1px solid rgba(117,231,223,.2);border-radius:50%;box-shadow:0 0 0 20px rgba(117,231,223,.035)}.program-experience>*{position:relative}.module-grid{margin-top:16px!important}.module-card{display:grid!important;grid-template-columns:43px minmax(0,1fr) auto!important;align-items:center!important;gap:13px!important}.module-card p{display:none!important}.module-card small{margin:0!important;font-size:10px!important;font-weight:700!important;letter-spacing:.08em!important}.module-card h3{margin:3px 0 0!important}.home-v2 .daily-metric h3{font-weight:620!important}.home-v2 .daily-metric .metric-value{font-weight:540!important}.home-v2 .daily-metric .metric-ring b{font-weight:620!important}.today-panel{box-shadow:0 8px 20px rgba(16,46,54,.045)!important}.tracking-overview .compact-tracker-heading,.tracking-overview .water-copy>span,.tracking-overview .steps-copy>span{font-weight:700!important}.tracking-overview .steps-card h2{font-weight:560!important}.tracking-overview .fasting-orbit b{font-weight:560!important}@media(max-width:420px){.plan-welcome{padding-top:24px!important}.plan-welcome h1{font-size:32px!important}.home-v2 .home-welcome h1{font-size:20px!important}.today-panel>header h2{font-size:21px!important}}

/* Mobile safe-area, primary navigation and settings refinements. */
body:has(.app-tab-bar.five-tab-nav){padding-bottom:calc(96px + env(safe-area-inset-bottom))!important}
.plan-header{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:118px!important;margin:0 0 10px calc(50% - 50vw)!important;padding:calc(env(safe-area-inset-top) + 22px) max(18px,calc((100vw - 656px)/2)) 18px!important}
.plan-header>img{width:min(300px,60vw)!important;height:68px!important;max-height:68px!important;object-fit:contain!important;object-position:left center!important}.plan-header-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.plan-notification-button{display:grid;place-items:center;width:43px;height:43px;padding:0;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(255,255,255,.08);color:#eafffc}.plan-notification-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.plan-header .profile-link{width:48px!important;min-width:48px!important;height:48px!important;min-height:48px!important}.plan-header .profile-link img,.plan-header .profile-link>span{width:48px!important;height:48px!important;border:2px solid rgba(255,255,255,.78)!important}
.activity-switch{position:relative!important;z-index:2!important;margin:16px 0 22px!important;padding:5px!important;border:1px solid var(--aw-line)!important;border-radius:18px!important;background:#edf4f3!important;box-shadow:0 8px 20px rgba(8,42,53,.05)!important}.activity-switch button{min-height:48px!important;border-radius:14px!important;font-weight:650!important}.activity-switch button.active{background:var(--aw-paper)!important;color:var(--aw-navy)!important;box-shadow:0 4px 12px rgba(8,42,53,.08)!important}
.fast-notice-link{display:none!important}
.app-tab-bar.five-tab-nav{left:0!important;right:0!important;bottom:0!important;width:100%!important;max-width:none!important;min-height:78px!important;padding:6px max(12px,env(safe-area-inset-left)) calc(7px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-right))!important;border:0!important;border-top:1px solid rgba(8,42,53,.12)!important;border-radius:0!important;background:#fff!important;box-shadow:0 -10px 28px rgba(8,42,53,.11)!important;transform:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.app-tab-bar.five-tab-nav>a{min-height:58px!important;border-radius:14px!important}.app-tab-bar.five-tab-nav .nav-icon{width:30px!important;height:30px!important}.app-tab-bar.five-tab-nav .nav-label{font-size:10px!important}.app-tab-bar.five-tab-nav .app-role-link{position:absolute!important;right:14px!important;bottom:calc(100% + 10px)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-height:34px!important;padding:0 13px!important;border:1px solid rgba(8,42,53,.12)!important;border-radius:999px!important;background:#082a35!important;color:#fff!important;box-shadow:0 8px 20px rgba(8,42,53,.18)!important;font-size:12px!important;font-weight:750!important;line-height:1!important;text-decoration:none!important}.app-tab-bar.five-tab-nav .app-role-link.active{background:#21b5b5!important;color:#062c32!important}
.community-client{padding-bottom:calc(165px + env(safe-area-inset-bottom))!important}.community-client .social-main{padding-bottom:calc(152px + env(safe-area-inset-bottom))!important}.community-client .chat-composer{bottom:calc(77px + env(safe-area-inset-bottom))!important}.community-client .chat-app-head{padding-top:calc(env(safe-area-inset-top) + 12px)!important}
.profile-settings.profile-settings-list{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}.profile-settings.profile-settings-list article{position:relative;display:grid!important;grid-template-columns:46px minmax(0,1fr) 22px;align-items:center;gap:13px;min-height:84px!important;padding:14px 15px!important;border:1px solid var(--aw-line)!important;border-radius:18px!important;background:var(--aw-paper)!important;box-shadow:none!important}.profile-settings.profile-settings-list article>span:first-child{display:grid!important;place-items:center;width:44px;height:44px;margin:0!important;border-radius:14px!important;background:var(--aw-teal-soft)!important;color:transparent!important;font-size:0!important}.profile-settings.profile-settings-list article:nth-child(1)>span:first-child{background:#eef0fb!important}.profile-settings.profile-settings-list article:nth-child(2)>span:first-child{background:#e5f5f7 url('/assets/wellness-icons/water.jpeg') center/36px no-repeat!important}.profile-settings.profile-settings-list article:nth-child(3)>span:first-child{background:#f1edf9 url('/assets/wellness-icons/fasting.jpeg') center/36px no-repeat!important}.profile-settings.profile-settings-list article:nth-child(4)>span:first-child{background:#eaf7f0!important}.profile-settings.profile-settings-list article:nth-child(1)>span:first-child:after{content:'◎';color:#6d65a8;font-size:22px}.profile-settings.profile-settings-list article:nth-child(4)>span:first-child:after{content:'◌';color:#27856d;font-size:25px}.profile-settings.profile-settings-list article>div{min-width:0}.profile-settings.profile-settings-list article small{margin:0 0 3px!important;color:var(--aw-teal-deep)!important;font-size:10px!important;font-weight:720!important;letter-spacing:.07em!important;text-transform:uppercase}.profile-settings.profile-settings-list article h3{margin:0!important;color:var(--aw-ink)!important;font-size:16px!important;font-weight:630!important;line-height:1.18}.profile-settings.profile-settings-list article p{overflow:hidden;margin:3px 0 0!important;color:var(--aw-muted)!important;font-size:12px!important;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.profile-settings.profile-settings-list article>button,.profile-settings.profile-settings-list article>a{display:grid!important;place-items:center;width:28px;min-height:44px;padding:0!important;border:0!important;background:transparent!important;color:var(--aw-teal-deep)!important;font-size:0!important;text-decoration:none!important}.profile-settings.profile-settings-list article>button:after,.profile-settings.profile-settings-list article>a:after{content:'›';font-size:27px;font-weight:300;line-height:1}.profile-settings.profile-settings-list article:active{transform:scale(.99)}.profile-logout{margin-bottom:12px!important}
@media(max-width:390px){.plan-header{min-height:108px!important;padding-top:calc(env(safe-area-inset-top) + 16px)!important}.plan-header>img{width:min(250px,57vw)!important;height:59px!important}.plan-notification-button{width:39px;height:39px}.plan-header .profile-link,.plan-header .profile-link img,.plan-header .profile-link>span{width:43px!important;min-width:43px!important;height:43px!important;min-height:43px!important}.profile-settings.profile-settings-list article{grid-template-columns:42px minmax(0,1fr) 18px;gap:11px;padding:13px!important}.profile-settings.profile-settings-list article>span:first-child{width:41px;height:41px}}
.profile-settings.profile-settings-list .profile-notification-row>span:first-child{background:#fff0e8!important;color:#b26949!important}.profile-settings.profile-settings-list .profile-notification-row>span:first-child svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Perfil: todas las filas comparten el mismo layout compacto, incluso las que se añaden al cargar. */
.profile-settings{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}.profile-settings article{position:relative;display:grid!important;grid-template-columns:46px minmax(0,1fr) 22px;align-items:center;gap:13px;min-height:84px!important;padding:14px 15px!important;border:1px solid var(--aw-line)!important;border-radius:18px!important;background:var(--aw-paper)!important;box-shadow:none!important}.profile-settings article>span:first-child{display:grid!important;place-items:center;width:44px!important;height:44px!important;margin:0!important;border-radius:14px!important;background:var(--aw-teal-soft)!important;color:transparent!important;font-size:0!important}.profile-settings article>div{min-width:0}.profile-settings article small{margin:0 0 3px!important;color:var(--aw-teal-deep)!important;font-size:10px!important;font-weight:720!important;letter-spacing:.07em!important;text-transform:uppercase}.profile-settings article h3{margin:0!important;color:var(--aw-ink)!important;font-size:16px!important;font-weight:630!important;line-height:1.18}.profile-settings article p{overflow:hidden;margin:3px 0 0!important;color:var(--aw-muted)!important;font-size:12px!important;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.profile-settings article>button,.profile-settings article>a{display:grid!important;place-items:center;width:28px;min-height:44px;padding:0!important;border:0!important;background:transparent!important;color:var(--aw-teal-deep)!important;font-size:0!important;text-decoration:none!important}.profile-settings article>button:after,.profile-settings article>a:after{content:'›';font-size:27px;font-weight:300;line-height:1}.profile-settings article:active{transform:scale(.99)}.profile-settings .profile-community-identity{grid-column:1/-1}.profile-settings .profile-notification-row>span:first-child{background:#fff0e8!important;color:#b26949!important}.profile-settings .profile-notification-row>span:first-child svg{display:block!important;width:22px!important;height:22px!important;max-width:22px!important;max-height:22px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}.profile-settings article:nth-child(2)>span:first-child{background:#eef0fb!important}.profile-settings article:nth-child(2)>span:first-child:after{content:'◎';color:#6d65a8;font-size:22px}.profile-settings article:nth-child(3)>span:first-child{background:#e5f5f7 url('/assets/wellness-icons/water.jpeg') center/36px no-repeat!important}.profile-settings article:nth-child(4)>span:first-child{background:#f1edf9 url('/assets/wellness-icons/fasting.jpeg') center/36px no-repeat!important}.profile-settings article:nth-child(5)>span:first-child{background:#eaf7f0!important}.profile-settings article:nth-child(5)>span:first-child:after{content:'◌';color:#27856d;font-size:25px}
