/* Global mobile-first UI shell and shared component primitives. */
:root { color-scheme: light; --bg:#f6efe3; --panel:rgba(255,252,248,.94); --panel-strong:#fffaf4; --border:rgba(43,49,46,.08); --ink:#202521; --muted:#69746d; --accent:#0f8c78; --accent-strong:#0a5f52; --danger:#b04d43; --shadow:0 18px 54px rgba(37,45,40,.12); --radius:24px; --welluna-shell-mobile-max:720px; --welluna-shell-wide-max:960px; --welluna-home-wide-max:980px; --welluna-nav-wide-max:760px; --welluna-wide-gutter:48px; --welluna-page-gutter:12px; --welluna-panel-radius:24px; --welluna-date-radius:24px; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; overflow-x:hidden; overscroll-behavior-x:none; }
body { margin:0; max-width:100%; min-height:100vh; overflow-x:clip; overscroll-behavior-x:none; font-family:Aptos,"Segoe UI",Verdana,sans-serif; color:var(--ink); background:radial-gradient(circle at top left, rgba(242,166,90,.45), transparent 30%), radial-gradient(circle at top right, rgba(15,140,120,.24), transparent 28%), linear-gradient(180deg, #fbf6ee 0%, #efe3d4 100%); padding:20px 16px calc(32px + env(safe-area-inset-bottom)); }
@supports not (overflow:clip) { body { overflow-x:hidden; } }
a { color:inherit; text-decoration:none; } form { margin:0; } code { font-family:"Courier New",monospace; }
.auth-shell,.page-shell,.flash-stack { width:min(100%,var(--welluna-shell-mobile-max)); margin:0 auto; } .app-shell { width:min(100%,var(--welluna-shell-mobile-max)); margin:0 auto; display:grid; gap:16px; } .auth-top,.mobile-header,.page-header { padding:8px 4px 20px; } .mobile-header--simple { padding-bottom:0; } .eyebrow { margin:0 0 10px; text-transform:uppercase; letter-spacing:.16em; font-size:.72rem; color:var(--accent-strong); } .mobile-header--simple .eyebrow { margin-bottom:0; } h1,h2,h3,p { margin:0; } h1 { font-size:clamp(2.2rem,8vw,3.6rem); line-height:.95; } h2 { font-size:1.2rem; } .lede,.subtle,.help { color:var(--muted); line-height:1.5; } .subtle { margin-top:6px; } .help { font-size:.92rem; }
.auth-card,.panel,.meal-card { width:100%; max-width:100%; min-width:0; background:var(--panel); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); } .auth-card,.panel { padding:18px; overflow:hidden; } .stack { display:grid; gap:14px; min-width:0; } .compact-grid,.goal-grid { display:grid; gap:12px; grid-template-columns:repeat(2,minmax(0,1fr)); min-width:0; } .field { display:grid; gap:8px; font-size:.95rem; color:var(--muted); min-width:0; } .field input,.field select { width:100%; max-width:100%; border:1px solid rgba(43,49,46,.12); border-radius:16px; background:#fffdf9; padding:14px 15px; font:inherit; color:var(--ink); }
.primary-button,.secondary-button,.chip-button,.tab-button,.menu-trigger,.text-button { border:0; border-radius:999px; font:inherit; cursor:pointer; } .primary-button,.secondary-button,.chip-button,.menu-trigger { min-height:50px; padding:12px 18px; } .primary-button { background:linear-gradient(135deg, var(--accent) 0%, #14735f 100%); color:#fff; box-shadow:0 12px 28px rgba(15,140,120,.24); } .secondary-button,.chip-button,.menu-trigger { background:#fff; color:var(--ink); border:1px solid rgba(43,49,46,.1); } .menu-trigger--icon { min-width:52px; display:flex; align-items:center; justify-content:center; padding:0; line-height:1; box-shadow:0 10px 22px rgba(37,45,40,.08); } .menu-trigger--icon span { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:rgba(15,140,120,.12); color:var(--accent-strong); font-family:Arial Black,Impact,Arial,sans-serif; font-size:1.7rem; font-weight:900; line-height:1; transform:translateY(-1px); text-shadow:0 0 .4px currentColor, 0 0 .4px currentColor; } .menu-trigger--back span { font-size:1.45rem; text-shadow:0 0 .7px currentColor, 0 0 .7px currentColor; } .danger-button,.text-button { color:var(--danger); background:transparent; padding:0; }
.inline-check { display:flex; align-items:center; gap:10px; color:var(--muted); font-size:.95rem; } .tab-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0 0 14px; } .tab-button { padding:12px 14px; background:rgba(255,255,255,.62); color:var(--muted); } .tab-button.is-active { background:#fff; color:var(--ink); box-shadow:inset 0 0 0 1px rgba(43,49,46,.08); } .tab-panel { display:none; } .tab-panel.is-active { display:block; }
.flash-stack { display:grid !important; gap:10px !important; position:fixed !important; top:14px !important; left:50% !important; transform:translateX(-50%) !important; width:min(calc(100vw - 32px),720px) !important; margin:0 !important; padding:0 !important; pointer-events:none !important; z-index:1000 !important; } .flash-stack--floating { position:fixed !important; top:14px !important; left:50% !important; transform:translateX(-50%) !important; width:min(calc(100vw - 32px),720px) !important; margin:0 !important; padding:0 !important; pointer-events:none !important; z-index:1000 !important; } .flash { border-radius:22px; padding:18px 18px; min-height:72px; font-size:1rem; font-weight:800; display:flex; align-items:center; border:2px solid rgba(255,255,255,.9); box-shadow:0 18px 38px rgba(118,85,109,.22), 0 0 0 3px rgba(255,255,255,.5); backdrop-filter:blur(12px); pointer-events:auto; } .flash.success { background:linear-gradient(135deg,rgba(203,170,191,.96),rgba(182,145,182,.96)); color:#fffdfd; } .flash.error { background:linear-gradient(135deg,rgba(203,112,112,.96),rgba(177,89,101,.96)); color:#fffdfd; } .maintenance-admin-banner,.maintenance-login-notice { border:1px solid rgba(255,255,255,.76); background:linear-gradient(135deg,rgba(205,186,214,.92),rgba(187,163,201,.88)); color:#fffdfd; box-shadow:0 14px 30px rgba(118,85,109,.18); } .maintenance-admin-banner { position:fixed; top:8px; left:50%; transform:translateX(-50%); width:auto; max-width:calc(100vw - 32px); margin:0; padding:8px 14px; border-radius:999px; display:flex; align-items:center; justify-content:center; z-index:900; backdrop-filter:blur(10px); background:linear-gradient(135deg,rgba(205,186,214,.78),rgba(187,163,201,.72)); pointer-events:none; } .maintenance-admin-banner strong { font-size:.82rem; letter-spacing:.02em; line-height:1; } .maintenance-login-notice { display:grid; gap:4px; padding:14px 16px; border-radius:24px; } .maintenance-login-notice strong { font-size:1rem; } .maintenance-login-notice p { color:rgba(255,252,252,.94); line-height:1.35; }
.mobile-header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; } .tracker-panel { padding:18px 16px; overflow:hidden; } .tracker-header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:12px; } .tracker-dots { display:flex; gap:8px; align-self:center; } .tracker-dot { width:10px; height:10px; border-radius:999px; border:0; padding:0; background:rgba(43,49,46,.16); cursor:pointer; } .tracker-dot.is-active { width:26px; background:var(--accent-strong); } .tracker-viewport { width:100%; overflow:hidden; } .tracker-carousel { display:flex; gap:0; min-height:280px; touch-action:pan-y; transition:transform 220ms ease; will-change:transform; } .tracker-slide { flex:0 0 100%; width:100%; min-width:100%; max-width:100%; display:grid; align-content:start; min-height:280px; overflow:hidden; } .goal-ring-grid { width:100%; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0; } .ring-card { background:rgba(255,255,255,.74); border:1px solid var(--border); border-radius:22px; padding:14px 10px; text-align:center; } .ring { --ring-color:var(--accent); --ring-progress:0deg; width:76px; height:76px; border-radius:50%; margin:0 auto 10px; position:relative; background:radial-gradient(closest-side, #fff 74%, transparent 75% 100%), conic-gradient(var(--ring-color) var(--ring-progress), rgba(43,49,46,.08) 0); } .ring-value { position:relative; width:100%; height:100%; display:flex; align-items:center; justify-content:center; } .ring-value strong { font-size:.96rem; line-height:1; } .ring-value small { position:absolute; bottom:13px; left:50%; transform:translateX(-50%); font-size:.7rem; line-height:1; } .ring-card > strong { display:block; font-size:.82rem; color:var(--muted); } .tracker-bar-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; align-content:start; } .tracker-bar-grid--nutrition-label { grid-template-rows:repeat(5,minmax(0,1fr)); grid-auto-flow:column; } .tracker-bar-card { display:grid; gap:5px; padding:8px 9px; border-radius:18px; background:rgba(255,255,255,.72); border:1px solid rgba(43,49,46,.08); min-width:0; } .tracker-bar-copy { display:flex; align-items:flex-start; justify-content:flex-start; min-width:0; } .tracker-bar-copy strong { font-size:.84rem; line-height:1.1; min-width:0; } .tracker-bar-meter { height:9px; border-radius:999px; background:rgba(43,49,46,.08); overflow:hidden; } .tracker-bar-fill { width:var(--bar-progress); height:100%; border-radius:999px; background:var(--bar-color); } .tracker-bar-values { color:var(--muted); font-size:.72rem; line-height:1.1; text-align:left; white-space:nowrap; }
.section-ring-grid { width:100%; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:0 16px 16px; } .section-ring-card { background:rgba(255,255,255,.72); border:1px solid rgba(43,49,46,.08); border-radius:18px; padding:10px 6px; text-align:center; } .section-ring { --ring-color:var(--accent); --ring-progress:0deg; width:52px; height:52px; border-radius:50%; margin:0 auto 6px; position:relative; background:radial-gradient(closest-side, #fff 72%, transparent 73% 100%), conic-gradient(var(--ring-color) var(--ring-progress), rgba(43,49,46,.08) 0); } .section-ring-value { position:relative; width:100%; height:100%; display:flex; align-items:center; justify-content:center; } .section-ring-value strong { font-size:.72rem; line-height:1; } .section-ring-value small { position:absolute; bottom:8px; left:50%; transform:translateX(-50%); font-size:.58rem; line-height:1; } .section-ring-card > strong { display:block; font-size:.66rem; color:var(--muted); }
.section-stack,.menu-list { width:100%; min-width:0; display:grid; gap:14px; margin:0; } .date-panel { padding:10px 12px; } .date-nav-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:10px; align-items:center; } .date-inline-form { min-width:0; margin:0; } .date-current-chip { display:flex; align-items:center; justify-content:center; gap:8px; min-height:50px; padding:0 16px; border-radius:999px; background:rgba(255,255,255,.72); border:1px solid rgba(43,49,46,.08); color:var(--ink); font-size:.98rem; font-weight:700; } .date-picker-trigger { position:relative; cursor:pointer; overflow:hidden; } .date-picker-trigger input { position:absolute; inset:0; opacity:0; cursor:pointer; } .date-nav-button { display:flex; align-items:center; justify-content:center; min-width:50px; min-height:50px; padding:0; text-align:center; font-size:1.1rem; color:transparent; } .date-nav-chevron { display:flex; align-items:center; justify-content:center; width:100%; color:var(--date-nav-arrow-color,#8e7784) !important; font-size:3.2rem; line-height:1; font-weight:200; transform:translateY(-1px); } .quick-drinks-panel { overflow:hidden; } .hydration-progress { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; margin:2px 0 14px; } .hydration-scale-label { color:var(--muted); font-size:.78rem; font-weight:700; white-space:nowrap; } .hydration-meter-shell { min-width:0; } .hydration-meter { position:relative; height:16px; border-radius:999px; background:rgba(62,167,216,.14); overflow:hidden; box-shadow:inset 0 0 0 1px rgba(62,167,216,.12); } .hydration-fill { width:var(--hydration-progress); height:100%; border-radius:999px; background:linear-gradient(90deg,#73c2ea 0%,#4aaee0 100%); position:relative; display:flex; align-items:center; justify-content:center; overflow:visible; } .hydration-current { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:flex; align-items:center; justify-content:center; font-size:.82rem; font-weight:800; color:#18445b; pointer-events:none; white-space:nowrap; } .quick-drink-strip { display:flex; gap:12px; overflow-x:auto; padding:2px 0 10px; margin:0; scroll-snap-type:x mandatory; scrollbar-width:none; } .quick-drink-strip::-webkit-scrollbar,.quick-drink-picker::-webkit-scrollbar { display:none; } .quick-drink-spacer { flex:0 0 calc(50% - 39px); } .quick-drink-chip { flex:0 0 78px; scroll-snap-align:center; display:grid; place-items:center; min-height:78px; padding:10px; border-radius:24px; border:1px solid rgba(43,49,46,.08); background:rgba(255,255,255,.42); opacity:.42; filter:saturate(.65); cursor:pointer; transition:transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease, opacity .18s ease, filter .18s ease; } .quick-drink-chip.is-active { background:#fff; border-color:rgba(15,140,120,.24); transform:translateY(-2px); box-shadow:0 10px 22px rgba(37,45,40,.08); opacity:1; filter:none; } .quick-drink-icon { width:50px; height:50px; display:flex; align-items:center; justify-content:center; font-size:2.65rem; line-height:1; } .quick-drink-icon img { display:block; width:53px; height:53px; object-fit:contain; } .quick-drink-selected-name { min-height:28px; margin-top:2px; text-align:center; font-size:1rem; font-weight:700; color:var(--ink); } .quick-drink-editor { display:grid; gap:12px; margin-top:12px; } .quick-drink-editor-shell { display:grid; gap:10px; } .quick-drink-picker { display:flex; gap:8px; overflow-x:auto; padding:4px 0 8px; scroll-snap-type:x proximity; scrollbar-width:none; width:100%; } .quick-picker-spacer { flex:0 0 calc(50% - 27px); } .quick-picker-spacer--quantity { flex-basis:calc(50% - 11px); } .quick-picker-spacer--quantity-end { flex-basis:calc(50% - 43px); } .quick-picker-spacer--unit { flex-basis:calc(50% - 36px); } .quick-picker-option { flex:0 0 auto; min-width:54px; min-height:48px; border:1px solid rgba(43,49,46,.08); border-radius:18px; background:rgba(255,255,255,.58); color:rgba(43,49,46,.54); font:inherit; font-size:.95rem; font-weight:700; padding:0 14px; cursor:pointer; transition:transform .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease, opacity .16s ease, color .16s ease; scroll-snap-align:center; } .quick-drink-picker--units .quick-picker-option { min-width:72px; } .quick-picker-option.is-active { background:#fff; border-color:rgba(15,140,120,.28); color:var(--accent-strong); transform:translateY(-1px); box-shadow:0 8px 18px rgba(37,45,40,.08); opacity:1; } .quick-drink-add-button { width:100%; min-height:70px; border:0; border-radius:24px; background:linear-gradient(180deg,#87c9ea 0%,#6fbde3 100%); color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:0 14px 28px rgba(62,167,216,.24); transition:transform .18s ease, box-shadow .18s ease; } .quick-drink-add-button:hover,.quick-drink-add-button:focus-visible { transform:translateY(-1px); box-shadow:0 16px 30px rgba(62,167,216,.28); } .quick-drink-add-button span { font-size:2.4rem; line-height:1; font-weight:700; } .recent-strip { display:flex; gap:8px; overflow:auto; padding-bottom:6px; margin-bottom:10px; } .recent-label { align-self:center; color:var(--muted); font-size:.88rem; padding-right:4px; } .recent-pill-form { flex:0 0 auto; } .recent-pill { border:1px solid rgba(43,49,46,.1); background:#fff; border-radius:999px; padding:10px 14px; font:inherit; cursor:pointer; white-space:nowrap; } .secondary-chip { background:#fff7eb; } .meal-card { overflow:hidden; scroll-margin-top:92px; } .meal-card summary,.entry-card summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:12px; cursor:pointer; } .meal-card summary { padding:18px; } .meal-card summary::-webkit-details-marker,.entry-card summary::-webkit-details-marker { display:none; } .meal-card summary p,.entry-card summary p { color:var(--muted); margin-top:4px; font-size:.92rem; } .summary-total { background:rgba(15,140,120,.12); color:var(--accent-strong); border-radius:999px; padding:8px 12px; font-size:.88rem; } .scan-action-grid { display:grid; gap:10px; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:14px; min-width:0; } .scan-link-button { display:flex; align-items:center; justify-content:center; text-align:center; min-width:0; }
.add-meal-field { margin-bottom:14px; }
.entry-list { padding:0 16px 16px; display:grid; gap:10px; } .entry-card { width:100%; min-width:0; border:1px solid rgba(43,49,46,.08); border-radius:18px; background:var(--panel-strong); padding:14px; } .entry-card-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; } .entry-card-heading p { color:var(--muted); margin-top:4px; font-size:.92rem; } .entry-card-heading > span { flex:0 0 auto; font-weight:800; } .nutrition-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:10px; } .nutrition-grid div { background:rgba(255,255,255,.76); border-radius:16px; padding:10px 12px; } .nutrition-grid span { display:block; color:var(--muted); font-size:.8rem; margin-bottom:4px; } .nutrition-entry-facts { margin-top:12px; } .nutrition-entry-facts > summary { justify-content:space-between; min-height:42px; padding:9px 11px; border:1px solid rgba(43,49,46,.09); border-radius:11px; background:rgba(255,255,255,.56); color:var(--accent-strong); font-size:.88rem; font-weight:800; } .nutrition-facts-chevron { flex:0 0 auto; font-size:1.45rem; line-height:1; transition:transform .18s ease; } .nutrition-entry-facts[open] .nutrition-facts-chevron { transform:rotate(90deg); } .entry-card-actions { position:relative; min-height:28px; margin-top:11px; padding-top:10px; border-top:1px solid rgba(43,49,46,.08); } .nutrition-entry-edit { width:100%; padding-right:112px; } .nutrition-entry-edit[open] { padding-right:0; } .nutrition-entry-edit > summary { width:max-content; justify-content:flex-start; color:var(--accent-strong); font-size:.88rem; font-weight:800; } .nutrition-entry-edit-form { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); gap:8px; align-items:end; margin-top:10px; } .nutrition-entry-edit-form .field { gap:4px; } .nutrition-entry-edit-form .field span { font-size:.72rem; } .nutrition-entry-edit-form .field:nth-of-type(3) { grid-column:1 / -1; } .nutrition-entry-edit-form input,.nutrition-entry-edit-form select { min-height:42px; padding:8px; border-radius:11px; } .nutrition-entry-edit-form button { grid-column:1 / -1; min-height:42px; } .entry-card-remove-row { position:absolute; top:10px; right:0; display:flex; justify-content:flex-end; }
.panel-header { margin-bottom:14px; } .existing-item-list { display:grid; gap:12px; } .existing-search-grid { align-items:end; } .existing-search-grid--with-scan { display:grid; grid-template-columns:minmax(0,1fr) 54px; gap:10px; } .scan-icon-button { width:54px; min-width:54px; min-height:52px; padding:0; display:grid; place-items:center; border-radius:18px; } .barcode-icon { width:28px; height:22px; border-radius:4px; background:repeating-linear-gradient(90deg,var(--accent-strong) 0 2px,transparent 2px 4px,var(--accent-strong) 4px 5px,transparent 5px 8px,var(--accent-strong) 8px 11px,transparent 11px 14px); box-shadow:inset 0 0 0 1px rgba(10,95,82,.12); } .search-empty-state { margin-bottom:12px; } .existing-item-card { display:grid; gap:12px; padding:14px; border:1px solid rgba(43,49,46,.08); border-radius:20px; background:rgba(255,255,255,.72); } .existing-item-card[hidden] { display:none !important; } .existing-item-card--condensed { gap:8px; padding:12px; } .existing-item-card--condensed .existing-item-top p { font-size:.84rem; } .existing-item-actions { display:grid; gap:6px; grid-template-columns:minmax(58px,.6fr) minmax(84px,.9fr) 68px; align-items:end; } .existing-item-actions .field { gap:4px; } .existing-item-actions .field span { font-size:.72rem; line-height:1; } .existing-item-actions .field input,.existing-item-actions .field select { padding:8px 10px; border-radius:12px; font-size:.92rem; } .existing-item-actions .secondary-button,.existing-item-actions .primary-button { min-width:0; width:100%; padding:8px 10px; min-height:40px; } .external-confirm-actions { grid-template-columns:minmax(58px,.6fr) minmax(82px,.8fr) minmax(116px,1.1fr); } .external-confirm-actions .secondary-button { white-space:normal; } .external-edit-panel { display:grid; gap:12px; margin-top:4px; padding:12px; border:1px solid rgba(62,167,216,.18); border-radius:16px; background:rgba(255,255,255,.58); } .external-edit-panel[hidden],.external-food-card.is-editing .external-confirm-actions { display:none !important; } .external-edit-actions { margin-top:0; } .existing-item-top { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; } .pill { display:inline-flex; align-items:center; justify-content:center; min-height:30px; padding:6px 10px; border-radius:999px; background:rgba(15,140,120,.12); color:var(--accent-strong); font-size:.8rem; } .scanner-card { display:grid; gap:12px; margin-bottom:16px; } .add-scanner-card { padding:14px; margin:-2px 0 16px; border:1px solid rgba(62,167,216,.2); border-radius:22px; background:linear-gradient(180deg,rgba(225,243,252,.9),rgba(255,255,255,.76)); box-shadow:inset 0 0 0 1px rgba(255,255,255,.42); } .add-scanner-card[hidden] { display:none !important; } .scanner-file-input { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; pointer-events:none; }
#scanner-reader { width:100%; min-height:240px; background:rgba(32,37,33,.08); border-radius:20px; overflow:hidden; position:relative; } #scanner-reader video { width:100%; height:100%; object-fit:cover; display:block; } #scanner-reader canvas { position:absolute; inset:0; width:100%; height:100%; } #scanner-status.is-error { color:var(--danger); } #scanner-status.is-success { color:var(--accent-strong); } .barcode-results { display:grid; gap:14px; scroll-margin-top:18px; } .barcode-results .panel-header { margin-bottom:2px; } .empty-state { padding:18px; border-radius:18px; background:rgba(255,255,255,.66); color:var(--muted); } .bottom-dock { position:sticky; bottom:calc(12px + env(safe-area-inset-bottom)); display:flex; justify-content:space-between; gap:12px; margin-top:0; padding:10px; border-radius:999px; background:linear-gradient(135deg, rgba(188,221,241,.94) 0%, rgba(151,201,231,.94) 100%); border:1px solid rgba(114,162,194,.28); box-shadow:0 18px 40px rgba(95,144,178,.24); backdrop-filter:blur(14px); } .dock-button { flex:1; display:flex; align-items:center; justify-content:center; text-align:center; padding:14px 16px; border-radius:999px; background:rgba(255,255,255,.92); border:0; font:inherit; cursor:pointer; } .dock-link { color:inherit; text-decoration:none; }
.page-header { display:grid; gap:8px; } .menu-link { display:block; padding:16px 18px; border-radius:20px; background:rgba(255,255,255,.74); border:1px solid var(--border); } .logout-form { margin:0; } .logout-button { width:100%; text-align:left; color:var(--danger); font:inherit; cursor:pointer; } .saved-item-meta { text-align:right; } .saved-item-edit { margin-top:14px; } .saved-item-history-choice { display:grid; grid-template-columns:22px minmax(0,1fr); align-items:start; gap:10px; padding:12px; border:1px solid rgba(139,103,151,.16); border-radius:10px; background:rgba(238,226,242,.34); cursor:pointer; } .saved-item-history-choice input { width:19px; height:19px; margin:2px 0 0; accent-color:#8b6797; } .saved-item-history-choice span { display:grid; gap:3px; min-width:0; } .saved-item-history-choice strong { color:#5c4b63; font-size:.9rem; line-height:1.25; } .saved-item-history-choice small { color:var(--muted); font-size:.78rem; line-height:1.3; } .saved-item-remove-form { display:flex; justify-content:flex-end; margin-top:12px; padding-top:11px; border-top:1px solid rgba(43,49,46,.08); } .personal-database-item > summary { padding:2px 0 10px; }
.menu-shell { display:grid; gap:14px; } .settings-header { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px; align-items:start; } .settings-header h1 { font-size:clamp(2rem,7vw,3.2rem); } .menu-shell .menu-list { margin-bottom:2px; } .menu-shell > .panel,.menu-shell > form.panel { margin:0; } .menu-shell > form.panel,.panel.settings-section { padding:0 18px; } .settings-section { border-top:1px solid rgba(43,49,46,.1); } .settings-section:first-child,.panel .settings-section,.panel.settings-section { border-top:0; } .settings-section > summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:12px; cursor:pointer; min-height:72px; padding:16px 0; } .settings-section > summary:focus-visible { outline:2px solid rgba(139,103,151,.38); outline-offset:5px; border-radius:8px; } .settings-section > summary::-webkit-details-marker { display:none; } .settings-section > summary::after { content:"\2193"; display:grid; place-items:center; flex:0 0 32px; width:32px; height:32px; border-radius:12px; background:rgba(15,140,120,.11); color:var(--accent-strong); font-weight:800; line-height:1; transform:translateY(-1px); } .settings-section[open] > summary::after { content:"\2191"; } .settings-section > summary strong { line-height:1.1; } .settings-section > summary span { color:var(--muted); font-size:.84rem; line-height:1.2; text-align:right; } .panel.settings-section > summary { padding:16px 0; } .settings-section-body { padding:0 0 18px; }
.settings-legal-footer { grid-column:1 / -1; display:grid; justify-items:center; gap:4px; width:100%; padding:8px 12px 2px; color:#82747d; text-align:center; font-size:.72rem; line-height:1.3; }
.settings-legal-footer p { margin:0; }
.settings-legal-footer a { color:#756280; font-weight:800; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
body.profile-settings-body .menu-shell > form.panel,
body.profile-settings-body .menu-shell > details.panel {
    position:relative;
    border-color:rgba(255,255,255,.78);
    box-shadow:var(--shadow),inset 0 0 0 1px rgba(139,103,151,.14);
}
body.profile-settings-body .menu-shell > form.panel::after,
body.profile-settings-body .menu-shell > details.panel::after {
    content:"";
    position:absolute;
    inset:2px;
    z-index:4;
    pointer-events:none;
    border:1px solid rgba(139,103,151,.18);
    border-radius:10px;
}
body.profile-settings-body .menu-shell > .menu-list .menu-link,
body.profile-settings-body .menu-shell > .logout-form .menu-link {
    border-color:rgba(255,255,255,.78);
    box-shadow:0 12px 28px rgba(91,73,88,.1),inset 0 0 0 1px rgba(139,103,151,.14);
}
body.has-v2-nav:not(.v2-body) .menu-shell > form.panel .primary-button { background:linear-gradient(135deg,#cfa091 0%,#b886a7 100%) !important; color:#fff !important; box-shadow:0 12px 26px rgba(186,126,157,.22) !important; border:0 !important; }
.auth-card,.panel,.meal-card { border-radius:12px; } .field input,.field select { border-radius:8px; } .primary-button,.secondary-button,.chip-button,.tab-button,.menu-trigger,.text-button,.dock-button,.date-current-chip,.date-nav-button,.pill,.summary-total,.recent-pill { border-radius:14px; } .flash,.ring-card,.section-ring-card,.tracker-bar-card,.quick-drink-chip,.quick-picker-option,.quick-drink-add-button,.entry-card,.nutrition-grid div,.existing-item-card,.add-scanner-card,#scanner-reader,.empty-state,.menu-link,.admin-user-card,.admin-section-card { border-radius:10px; } .bottom-dock { border-radius:16px; } .menu-trigger--icon span { border-radius:12px; } .scan-icon-button,.food-search-icon-button { height:52px; min-height:52px; border-radius:8px; align-self:stretch; } .existing-search-grid--with-scan .search-field input { height:52px; } .food-search-icon { position:relative; display:block; width:17px; height:17px; border:2px solid currentColor; border-radius:50%; box-sizing:border-box; } .food-search-icon::after { content:""; position:absolute; width:7px; height:2px; right:-5px; bottom:-3px; border-radius:2px; background:currentColor; transform:rotate(45deg); transform-origin:left center; } .barcode-icon { border-radius:2px; } .meal-summary-actions { display:inline-flex; align-items:center; justify-content:flex-end; gap:8px; flex:0 0 auto; } .meal-add-button,.meal-toggle-icon { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:10px; background:var(--accent); color:#fff; font-size:1.35rem; font-weight:800; line-height:1; box-shadow:0 8px 18px rgba(15,140,120,.2); text-decoration:none; } .meal-toggle-icon::before { content:"\2193"; transform:translateY(-1px); } .meal-card[open] .meal-toggle-icon::before { content:"\2191"; } .add-page-shell { display:grid; gap:16px; } .add-date-panel { box-shadow:0 10px 26px rgba(37,45,40,.08); } .menu-trigger--home span { font-size:1.6rem; transform:translateY(-3px); } .search-empty-state { margin-top:8px; padding:10px 12px; font-size:.92rem; font-weight:800; border:1px solid transparent; } .search-empty-state.is-recent { background:rgba(15,140,120,.14); border-color:rgba(15,140,120,.22); color:var(--accent-strong); } .search-empty-state.is-result { background:rgba(62,167,216,.16); border-color:rgba(62,167,216,.24); color:#1f617f; } .search-empty-state.is-empty { background:rgba(176,77,67,.12); border-color:rgba(176,77,67,.22); color:var(--danger); } .search-empty-state.is-muted { background:rgba(255,255,255,.72); color:var(--muted); } .admin-shell { gap:16px; } .admin-shell .settings-header { padding-bottom:8px; } .admin-overview-panel { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:14px; } .admin-overview-panel div { display:grid; align-content:center; gap:3px; min-height:72px; min-width:0; text-align:center; padding:10px 8px; border-radius:10px; background:rgba(15,140,120,.1); } .admin-overview-panel strong { font-size:1.35rem; line-height:1; color:var(--accent-strong); } .admin-overview-panel span { color:var(--muted); font-size:.78rem; font-weight:800; line-height:1.15; } .admin-section-grid { display:grid; gap:12px; width:100%; } .admin-section-card { display:grid; grid-template-columns:46px minmax(0,1fr) 22px; align-items:center; gap:14px; min-height:98px; padding:16px; color:inherit; text-decoration:none; } .admin-section-copy { min-width:0; } .admin-section-card h2 { font-size:1.14rem; line-height:1.1; } .admin-section-card p { margin-top:5px; color:var(--muted); font-size:.92rem; line-height:1.32; } .admin-section-icon { display:grid; place-items:center; width:46px; height:46px; border-radius:12px; background:var(--accent); color:#fff; font-family:Arial Black,Impact,Arial,sans-serif; font-size:1.25rem; font-weight:900; line-height:1; box-shadow:0 8px 18px rgba(15,140,120,.18); } .admin-section-arrow { color:var(--accent-strong); font-family:Arial Black,Impact,Arial,sans-serif; font-size:1.9rem; line-height:1; text-align:right; transform:translateY(-1px); } .admin-user-list { display:grid; gap:10px; } .admin-user-card { border-top:0; border:1px solid rgba(43,49,46,.08); background:rgba(255,255,255,.5); padding:0 14px; } .admin-user-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; } .admin-user-stats span { padding:10px; border-radius:8px; background:rgba(15,140,120,.1); color:var(--accent-strong); font-size:.82rem; font-weight:700; text-align:center; }
.admin-shell > .panel { margin:0; } .admin-section-card:hover,.admin-section-card:focus-visible { transform:translateY(-1px); box-shadow:0 18px 42px rgba(37,45,40,.14); outline:none; }
.admin-subpage-shell { gap:14px; } .admin-subpage-shell .settings-header { padding-bottom:6px; } .admin-panel-heading { display:grid; gap:4px; } .admin-panel-heading p { color:var(--muted); font-size:.92rem; line-height:1.35; } .admin-create-user-panel,.admin-users-panel { padding:16px; } .admin-users-panel { gap:14px; } .admin-user-card { overflow:hidden; } .admin-user-card > summary { min-height:66px; } .admin-user-card > summary strong { max-width:42%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .admin-user-card > summary span { max-width:58%; overflow:hidden; text-overflow:ellipsis; } .admin-user-card .settings-section-body { padding-bottom:16px; }
body.auth-v2-body { min-height:100svh; padding:0; background:linear-gradient(180deg,#b7b7d5 0%,#f5ece7 42%,#f4eef3 100%); color:#6d5b68; overflow-x:hidden; position:relative; }
body.auth-v2-body::before { content:""; position:fixed; inset:0; pointer-events:none; z-index:0; background:linear-gradient(180deg,rgba(170,168,206,.22) 0%,rgba(246,240,244,.18) 22%,rgba(251,248,244,.56) 58%,rgba(238,228,240,.38) 100%), radial-gradient(ellipse at 18% 92%,rgba(206,188,217,.34) 0 13%,transparent 36%), radial-gradient(ellipse at 80% 84%,rgba(224,196,188,.28) 0 14%,transparent 38%); }
body.auth-v2-body::after { content:""; position:absolute; left:50%; top:0; width:min(100%,var(--welluna-shell-mobile-max)); height:282px; transform:translateX(-50%); pointer-events:none; z-index:0; background-image:linear-gradient(180deg,rgba(173,170,207,.04),rgba(246,240,244,.12)),url("../images/welluna-cloud-header.png"); background-size:cover; background-position:center 28%; background-repeat:no-repeat; }
body.auth-v2-body .auth-shell { box-sizing:border-box; position:relative; z-index:1; width:min(100%,430px); min-height:100svh; margin:0 auto; padding:26px 18px 24px; display:grid; align-content:start; gap:14px; transform:none; }
body.auth-v2-body .auth-shell--reset { padding-top:34px; }
body.auth-v2-body .auth-hero { min-height:186px; display:grid; place-items:start center; position:relative; }
body.auth-v2-body .auth-hero--reset { min-height:142px; }
body.auth-v2-body .auth-logo-image { width:min(86vw,330px); height:auto; margin-top:8px; filter:drop-shadow(0 6px 18px rgba(86,76,109,.18)); }
body.auth-v2-body .auth-logo-image--small { width:min(72vw,280px); margin-top:6px; }
body.auth-v2-body .auth-top { text-align:center; padding:0 8px 4px; }
body.auth-v2-body .auth-top h1 { color:#725f72; font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif; font-size:clamp(1.65rem,6vw,2.2rem); font-weight:400; line-height:1.05; letter-spacing:0; text-shadow:0 0 10px rgba(255,255,255,.5); }
body.auth-v2-body .auth-tab-strip { position:relative; z-index:1; margin:-48px 0 0; padding:6px; border:1px solid rgba(255,255,255,.72); border-radius:999px; background:rgba(255,250,246,.58); box-shadow:0 12px 28px rgba(91,73,88,.12), inset 0 1px 0 rgba(255,255,255,.7); backdrop-filter:blur(10px); }
body.auth-v2-body .auth-tab-strip .tab-button { min-height:46px; font-weight:700; background:transparent; color:#8b7d86; }
body.auth-v2-body .auth-tab-strip .tab-button.is-active { background:rgba(255,255,255,.9); color:#6e5c69; box-shadow:0 6px 14px rgba(91,73,88,.08), inset 0 0 0 1px rgba(255,255,255,.72); }
body.auth-v2-body .auth-reset-prompt { position:relative; z-index:1; display:flex; align-items:center; justify-content:center; min-height:58px; margin:-32px 0 0; padding:6px 18px; border:1px solid rgba(255,255,255,.72); border-radius:999px; background:rgba(255,250,246,.58); box-shadow:0 12px 28px rgba(91,73,88,.12), inset 0 1px 0 rgba(255,255,255,.7); backdrop-filter:blur(10px); text-align:center; }
body.auth-v2-body .auth-reset-prompt h1 { color:#6e5c69; font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif; font-size:1.08rem; font-weight:700; line-height:1; letter-spacing:0; text-shadow:none; }
body.auth-v2-body .maintenance-login-notice { position:relative; z-index:3; margin:0 0 8px; }
body.auth-v2-body .auth-card--welluna { padding:22px 18px; border-radius:30px; border:1px solid rgba(255,255,255,.72); background:linear-gradient(180deg,rgba(255,253,248,.88),rgba(247,236,242,.64)), radial-gradient(ellipse at 18% 82%,rgba(232,207,215,.4),transparent 46%), radial-gradient(ellipse at 84% 84%,rgba(188,181,213,.34),transparent 48%); box-shadow:0 16px 34px rgba(91,73,88,.14), inset 0 1px 0 rgba(255,255,255,.78); backdrop-filter:blur(9px); }
body.auth-v2-body .auth-card--welluna .field { color:#7d6c76; font-weight:600; }
body.auth-v2-body .auth-card--welluna .field input { border-color:rgba(182,168,182,.18); background:rgba(255,255,255,.88); box-shadow:inset 0 1px 0 rgba(255,255,255,.92); }
body.auth-v2-body .auth-card--welluna .inline-check { color:#7c6b73; }
body.auth-v2-body .auth-form--two-factor { gap:16px; }
body.auth-v2-body .auth-top--two-factor { padding:0; text-align:left; }
body.auth-v2-body .auth-top--two-factor h1 { margin:0; font-size:clamp(1.45rem,5vw,1.85rem); }
body.auth-v2-body .auth-top--two-factor p { margin:8px 0 0; color:#7d6c76; line-height:1.42; }
body.auth-v2-body .auth-code-field input { text-align:center; letter-spacing:.32em; font-size:1.24rem; font-weight:800; }
body.auth-v2-body .auth-code-field input::placeholder { color:rgba(125,108,118,.28); opacity:1; font-weight:700; }
body.auth-v2-body .auth-code-field input::-webkit-input-placeholder { color:rgba(125,108,118,.28); opacity:1; font-weight:700; }
body.auth-v2-body .auth-two-factor-actions { display:grid; gap:10px; }
body.auth-v2-body .auth-two-factor-actions form { margin:0; }
body.auth-v2-body .auth-card--welluna .primary-button { background:linear-gradient(135deg,#cfa091 0%,#b886a7 100%); box-shadow:0 12px 26px rgba(186,126,157,.22); }
body.auth-v2-body .auth-card--welluna .auth-action-link { display:flex; align-items:center; justify-content:center; text-align:center; color:#7d6c76; }
body.auth-v2-body .auth-card--welluna .help { color:#816f7a; }
body.auth-v2-body .auth-card--welluna code { color:#6e5c69; background:rgba(255,255,255,.72); padding:2px 6px; border-radius:8px; }
body.auth-v2-body .flash-stack--floating { width:min(calc(100% - 32px),430px); top:14px; left:50%; right:auto; margin:0 !important; z-index:100; transform:translateX(-50%); }
body.auth-v2-body .flash { min-height:72px; padding:18px 18px; border-radius:22px; backdrop-filter:blur(12px); }
body.auth-v2-body .flash.success { background:linear-gradient(135deg,rgba(203,170,191,.96),rgba(182,145,182,.96)); color:#fffdfd; box-shadow:0 18px 38px rgba(118,85,109,.22), 0 0 0 3px rgba(255,255,255,.5); }
body.auth-v2-body .flash.error { background:linear-gradient(135deg,rgba(203,112,112,.96),rgba(177,89,101,.96)); color:#fffdfd; box-shadow:0 18px 38px rgba(118,67,77,.2), 0 0 0 3px rgba(255,255,255,.5); }
@media (max-width:560px) { .admin-user-card > summary { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; } .admin-user-card > summary strong,.admin-user-card > summary span { max-width:none; text-align:left; } .admin-user-stats { grid-template-columns:1fr; } }
.admin-subpage-stats { box-shadow:0 12px 28px rgba(37,45,40,.08); } .admin-create-user-panel { background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(236,248,244,.78)); border-color:rgba(15,140,120,.12); } .admin-users-panel { background:rgba(255,252,248,.88); } .admin-user-card { background:#fffdf9; box-shadow:0 8px 18px rgba(37,45,40,.06); } .admin-user-card > summary { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:10px; } .admin-user-card > summary::after { grid-column:3; grid-row:1; } .admin-user-identity { display:grid; gap:3px; min-width:0; } .admin-user-identity strong { max-width:none !important; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .admin-user-identity small { color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .admin-role-pill { grid-column:2; grid-row:1; align-self:center; min-height:28px; font-weight:800; }
body.v2-body { min-height:100vh; padding:0; background:linear-gradient(180deg,#b9bad7 0%,#f6eee8 42%,#f3edf3 100%); color:#5d4f58; overflow-x:hidden; } body.v2-body::before { content:""; position:fixed; inset:0; pointer-events:none; background:radial-gradient(ellipse at 18% 8%, rgba(255,240,214,.74) 0 12%, transparent 34%), radial-gradient(ellipse at 82% 12%, rgba(212,207,235,.78) 0 18%, transparent 42%), radial-gradient(ellipse at 42% 34%, rgba(255,255,255,.82) 0 18%, transparent 45%), radial-gradient(ellipse at 70% 72%, rgba(202,214,190,.4) 0 16%, transparent 40%); filter:blur(1px); } .v2-shell { position:relative; z-index:1; width:min(100%,var(--welluna-shell-mobile-max)); min-height:100vh; margin:0 auto; padding:38px 20px 94px; display:grid; align-content:start; gap:16px; } .v2-hero { min-height:150px; display:grid; align-content:start; justify-items:center; position:relative; padding-top:16px; } .v2-profile-button { position:absolute; top:6px; right:4px; width:48px; height:48px; border-radius:18px; display:grid; place-items:center; color:#fff; background:rgba(97,79,94,.26); border:1px solid rgba(255,255,255,.36); box-shadow:0 12px 28px rgba(83,69,83,.14); backdrop-filter:blur(10px); } .v2-profile-button span { display:grid; place-items:center; width:32px; height:32px; border-radius:12px; background:rgba(255,255,255,.32); font-weight:900; } .v2-logo { display:flex; align-items:center; gap:10px; margin-top:24px; color:#fff; text-shadow:0 2px 12px rgba(85,71,95,.22); } .v2-logo span { font-size:clamp(3rem,14vw,5rem); line-height:1; font-style:italic; letter-spacing:.02em; } .v2-logo small,.v2-section-label span { font-size:0; display:inline-block; width:28px; height:28px; border-radius:50%; background:#fff6dc; box-shadow:10px 0 0 -2px rgba(185,186,215,.96); transform:rotate(-12deg); } .v2-logo::before,.v2-logo::after { content:"✦"; color:rgba(255,255,255,.88); font-size:1.05rem; transform:translateY(-10px); } .v2-affirmation-card,.v2-cycle-card,.v2-feature-card { border:1px solid rgba(255,255,255,.64); box-shadow:0 14px 34px rgba(91,73,88,.14), inset 0 1px 0 rgba(255,255,255,.62); backdrop-filter:blur(10px); } .v2-affirmation-card { margin-top:-38px; min-height:184px; padding:28px 24px; border-radius:34px; display:grid; align-content:center; gap:20px; text-align:center; background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(247,232,241,.56)), radial-gradient(ellipse at bottom right,rgba(186,175,207,.38),transparent 55%); } .v2-section-label { display:flex; align-items:center; justify-content:center; gap:10px; color:#9f7b66; font-size:.98rem; letter-spacing:.03em; } .v2-section-label::before,.v2-section-label::after { content:""; height:1px; flex:1; max-width:120px; background:rgba(159,123,102,.22); } .v2-affirmation-card p { color:#81546b; font-size:clamp(1.35rem,5.4vw,2rem); line-height:1.28; font-style:italic; } .v2-cycle-card { margin:4px 28px 6px; min-height:104px; padding:18px 20px; border-radius:30px; text-align:center; background:linear-gradient(180deg,rgba(255,255,255,.65),rgba(239,224,232,.58)); } .v2-cycle-card .v2-section-label { color:#735c75; font-weight:700; } .v2-cycle-card p { margin-top:12px; color:#8a5261; font-style:italic; line-height:1.35; } .v2-card-list { display:grid; gap:12px; } .v2-feature-card { min-height:98px; display:grid; grid-template-columns:74px minmax(0,1fr) 28px; align-items:center; gap:12px; padding:14px 18px; border-radius:30px; text-decoration:none; color:#5d4f58; background:rgba(255,255,255,.54); } .v2-feature-card--daily-checkin { background:linear-gradient(135deg,rgba(252,229,226,.82),rgba(246,236,242,.62)); } .v2-feature-card--nutrition { background:linear-gradient(135deg,rgba(229,239,215,.88),rgba(246,241,225,.62)); } .v2-feature-card--movement { background:linear-gradient(135deg,rgba(229,221,239,.86),rgba(247,239,242,.62)); } .v2-feature-card--cycle-tracking { background:linear-gradient(135deg,rgba(250,227,215,.86),rgba(247,239,232,.62)); } .v2-feature-card.is-placeholder { opacity:.88; } .v2-feature-copy { display:grid; gap:4px; min-width:0; } .v2-feature-copy strong { font-size:1.23rem; letter-spacing:.04em; } .v2-feature-copy span,.v2-feature-copy small { color:#756872; line-height:1.2; } .v2-feature-copy em { justify-self:start; margin-top:4px; padding:4px 8px; border-radius:9px; background:rgba(255,255,255,.44); color:#9b7d72; font-style:normal; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; } .v2-feature-arrow { justify-self:end; color:#8e7784; font-size:2.4rem; line-height:1; } .v2-feature-icon { width:56px; height:56px; display:grid; place-items:center; position:relative; } .v2-feature-icon--heart::before { content:"♥"; color:#d48c8c; font-size:3.4rem; line-height:1; } .v2-feature-icon--apple::before { content:""; width:42px; height:38px; border-radius:46% 46% 52% 52%; background:#8ea06d; box-shadow:inset -8px -6px 0 rgba(75,94,55,.1); } .v2-feature-icon--apple::after { content:""; position:absolute; top:5px; right:13px; width:15px; height:9px; border-radius:100% 0 100% 0; background:#8ea06d; transform:rotate(-24deg); } .v2-feature-icon--movement::before { content:""; width:44px; height:22px; border-radius:50% 50% 45% 45%; border-bottom:10px solid #9a7b9f; border-left:10px solid transparent; border-right:10px solid transparent; } .v2-feature-icon--movement::after { content:""; position:absolute; top:3px; width:16px; height:16px; border-radius:50%; background:#9a7b9f; box-shadow:0 22px 0 -2px #9a7b9f; } .v2-feature-icon--drop::before { content:""; width:38px; height:48px; border-radius:50% 50% 54% 54%; background:#d59a8b; clip-path:polygon(50% 0,88% 50%,72% 100%,28% 100%,12% 50%); } .v2-bottom-nav { position:fixed; left:50%; bottom:0; transform:translateX(-50%); z-index:30; width:min(100%,var(--welluna-shell-mobile-max)); display:grid; grid-template-columns:repeat(4,1fr); gap:0; padding:10px 12px calc(10px + env(safe-area-inset-bottom)); background:rgba(255,250,246,.88); border-top:1px solid rgba(117,104,114,.16); box-shadow:0 -12px 28px rgba(91,73,88,.1); backdrop-filter:blur(16px); } .v2-bottom-nav a { display:grid; justify-items:center; gap:4px; color:#756872; font-size:.82rem; text-decoration:none; } .v2-bottom-nav a span { font-size:1.45rem; line-height:1; } .v2-bottom-nav a.is-active { color:#c9956d; font-weight:800; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) { background:#f4eef1; color:#6d5b68; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body)::before { background:linear-gradient(180deg,rgba(158,158,200,.88) 0%,rgba(194,188,218,.72) 12%,rgba(246,238,232,.9) 31%,rgba(248,244,241,.94) 100%), radial-gradient(ellipse at 14% 9%,rgba(255,255,255,.72) 0 13%,transparent 33%), radial-gradient(ellipse at 42% 14%,rgba(255,245,233,.58) 0 15%,transparent 38%), radial-gradient(ellipse at 74% 12%,rgba(255,255,255,.62) 0 17%,transparent 40%), radial-gradient(ellipse at 24% 52%,rgba(221,205,223,.34) 0 12%,transparent 35%), radial-gradient(ellipse at 76% 77%,rgba(205,216,194,.32) 0 15%,transparent 38%); filter:none; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-shell { max-width:430px; padding:48px 18px 104px; gap:14px; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-hero { min-height:210px; padding-top:22px; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-logo { margin-top:12px; gap:12px; color:#fffaf8; text-shadow:0 3px 18px rgba(84,73,105,.24); } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-logo span { font-family:Aptos,"Segoe UI",Verdana,sans-serif; font-size:clamp(3.8rem,17vw,5.25rem); font-weight:400; letter-spacing:.01em; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-logo small { width:38px; height:38px; background:#fff0cd; box-shadow:14px 0 0 -3px rgba(181,177,215,.96); } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-logo::before,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-logo::after { color:#fffaf8; font-size:1.1rem; transform:translateY(-14px); text-shadow:0 2px 10px rgba(84,73,105,.18); } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-profile-button { top:0; right:2px; background:rgba(255,255,255,.22); border-color:rgba(255,255,255,.45); color:#fff; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card { margin-top:-36px; min-height:214px; padding:30px 28px; border-radius:38px; gap:22px; background:linear-gradient(180deg,rgba(255,252,247,.86),rgba(248,236,242,.62)), radial-gradient(ellipse at 18% 76%,rgba(238,218,225,.42),transparent 44%), radial-gradient(ellipse at 86% 80%,rgba(196,190,219,.42),transparent 48%); } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label { color:#a78370; font-size:1rem; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label span { width:27px; height:27px; background:#a68174; box-shadow:10px 0 0 -2px rgba(255,252,247,.9); } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card p { color:#8b526a; font-size:clamp(1.35rem,6vw,1.72rem); line-height:1.34; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card { margin:8px 28px 10px; min-height:108px; padding:18px 22px; border-radius:34px; background:linear-gradient(180deg,rgba(255,250,246,.76),rgba(243,229,233,.64)), radial-gradient(ellipse at 20% 82%,rgba(220,200,203,.35),transparent 46%); } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card p { margin-top:12px; color:#8d5261; font-size:1.02rem; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list { gap:13px; padding:0 26px; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card { min-height:92px; grid-template-columns:62px minmax(0,1fr) 24px; gap:12px; padding:13px 16px; border-radius:34px; box-shadow:0 10px 22px rgba(91,73,88,.14), inset 0 1px 0 rgba(255,255,255,.72); } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-copy strong { font-size:1.18rem; letter-spacing:.08em; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-copy span,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-copy small { color:#6f606b; font-size:.93rem; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon { width:52px; height:52px; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--heart::before { font-size:3.35rem; color:#d19091; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-bottom-nav { background:rgba(255,250,246,.9); box-shadow:0 -10px 24px rgba(91,73,88,.09); } .v2-bottom-nav { grid-template-columns:repeat(4,minmax(0,1fr)); } .v2-bottom-nav a { min-width:0; } .v2-bottom-nav a small { font-size:.78rem; }
body.nutrition-v2-body { background:radial-gradient(ellipse at 20% 0%, rgba(218,231,201,.72), transparent 36%), radial-gradient(ellipse at 88% 10%, rgba(232,218,235,.58), transparent 32%), linear-gradient(180deg,#fbf5ee 0%,#eef2e7 52%,#f7efe9 100%); color:#4e584b; } body.nutrition-v2-body .mobile-header { padding-top:6px; padding-bottom:12px; } body.nutrition-v2-body .eyebrow { color:#839369; } body.nutrition-v2-body h1 { color:#4f5b47; } body.nutrition-v2-body .panel,body.nutrition-v2-body .meal-card,body.nutrition-v2-body .tracker-panel { background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(242,247,234,.68)); border-color:rgba(142,160,109,.18); box-shadow:0 16px 38px rgba(91,105,76,.12), inset 0 1px 0 rgba(255,255,255,.68); } body.nutrition-v2-body .date-panel { background:rgba(255,255,255,.62); } body.nutrition-v2-body .date-current-chip,body.nutrition-v2-body .date-nav-button { background:rgba(255,255,255,.82); border-color:rgba(142,160,109,.18); color:#687756; } body.nutrition-v2-body .primary-button,body.nutrition-v2-body .meal-add-button,body.nutrition-v2-body .meal-toggle-icon { background:linear-gradient(135deg,#8ea06d,#708756); box-shadow:0 12px 28px rgba(112,135,86,.24); } body.nutrition-v2-body .summary-total,body.nutrition-v2-body .pill { background:rgba(142,160,109,.16); color:#5e7244; } body.nutrition-v2-body .ring-card,body.nutrition-v2-body .section-ring-card,body.nutrition-v2-body .tracker-bar-card,body.nutrition-v2-body .entry-card,body.nutrition-v2-body .nutrition-grid div { background:rgba(255,255,255,.66); border-color:rgba(142,160,109,.12); } body.nutrition-v2-body .quick-drink-add-button { background:linear-gradient(180deg,#9fb582,#7f9865); box-shadow:0 14px 28px rgba(112,135,86,.22); } body.nutrition-v2-body .bottom-dock { background:linear-gradient(135deg,rgba(229,239,215,.96),rgba(210,225,194,.94)); border-color:rgba(142,160,109,.2); box-shadow:0 16px 36px rgba(112,135,86,.18); bottom:calc(74px + env(safe-area-inset-bottom)); } body.nutrition-v2-body .dock-button { color:#5e7244; }
body.has-v2-nav:not(.v2-body) { padding-bottom:calc(112px + env(safe-area-inset-bottom)); } .field textarea { width:100%; max-width:100%; border:1px solid rgba(43,49,46,.12); border-radius:12px; background:#fffdf9; padding:14px 15px; font:inherit; color:var(--ink); resize:vertical; } .v2-today-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; } .v2-today-strip a { min-height:74px; display:grid; align-content:center; gap:4px; padding:10px 12px; border-radius:22px; text-align:center; background:rgba(255,255,255,.56); border:1px solid rgba(255,255,255,.66); box-shadow:0 10px 24px rgba(91,73,88,.08); } .v2-today-strip span { color:#8d7781; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; } .v2-today-strip strong { color:#6b5662; font-size:1rem; line-height:1.05; } .v2-page-shell { position:relative; z-index:1; width:min(100%,var(--welluna-shell-mobile-max)); min-height:100vh; margin:0 auto; padding:26px 18px 104px; display:grid; align-content:start; gap:16px; } .v2-page-header { display:grid; grid-template-columns:52px minmax(0,1fr); align-items:start; gap:12px; color:#674f5d; } .v2-page-header h1 { color:#fff; text-shadow:0 2px 14px rgba(96,75,90,.2); } .v2-page-header p { color:#806a75; line-height:1.35; } .v2-page-kicker { margin:0 0 6px; text-transform:uppercase; letter-spacing:.16em; font-size:.72rem; font-weight:800; color:#9d7b70 !important; } .v2-page-home-button { width:52px; height:52px; border-radius:16px; display:grid; place-items:center; background:rgba(255,255,255,.58); border:1px solid rgba(255,255,255,.64); box-shadow:0 12px 28px rgba(83,69,83,.12); color:#8b6f78; } .v2-page-home-button span { font-family:Arial Black,Impact,Arial,sans-serif; font-size:1.75rem; line-height:1; transform:translateY(-1px); } .v2-date-panel { background:rgba(255,255,255,.62); border-color:rgba(255,255,255,.72); box-shadow:0 14px 34px rgba(91,73,88,.1); } .v2-section-card { display:grid; gap:14px; padding:18px; border-radius:var(--welluna-panel-radius); background:rgba(255,255,255,.68); border:1px solid rgba(255,255,255,.68); box-shadow:0 14px 34px rgba(91,73,88,.12), inset 0 1px 0 rgba(255,255,255,.64); backdrop-filter:blur(10px); } .v2-section-card-heading { display:flex; align-items:center; gap:12px; } .v2-section-card-heading h2 { color:#604e5a; } .v2-section-card-heading p { color:#7c6b73; font-size:.92rem; line-height:1.35; } .v2-mood-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; } .v2-choice-pill input { position:absolute; opacity:0; pointer-events:none; } .v2-choice-pill span { min-height:46px; display:grid; place-items:center; border-radius:14px; background:rgba(255,255,255,.62); border:1px solid rgba(91,73,88,.1); color:#7b6872; font-weight:800; font-size:.9rem; cursor:pointer; } .v2-choice-pill input:checked + span { background:#fff; color:#a66a72; border-color:rgba(196,124,126,.28); box-shadow:0 8px 20px rgba(91,73,88,.09); } .v2-range-field input { accent-color:#d48c8c; } .v2-mini-list { display:grid; gap:10px; } .v2-mini-list article { display:grid; gap:4px; padding:12px 14px; border-radius:16px; background:rgba(255,255,255,.56); border:1px solid rgba(91,73,88,.08); } .v2-mini-list span { color:#7c6b73; font-size:.9rem; line-height:1.25; } .v2-insight-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } .v2-insight-card { min-height:118px; display:grid; align-content:space-between; gap:14px; padding:15px; border-radius:22px; background:rgba(255,255,255,.66); border:1px solid rgba(255,255,255,.68); box-shadow:0 12px 28px rgba(91,73,88,.1); } .v2-insight-card span { display:block; color:#816f7a; font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; font-weight:900; } .v2-insight-card strong { display:block; margin-top:7px; color:#5f4f5e; font-size:1.35rem; line-height:1; } .v2-insight-card small { color:#8b7a84; font-weight:700; } .v2-insight-meter { height:9px; border-radius:999px; overflow:hidden; background:rgba(91,73,88,.08); } .v2-insight-meter span { display:block; height:100%; border-radius:999px; background:#a991bd; } .v2-insight-card--nutrition .v2-insight-meter span { background:#8ea06d; } .v2-insight-card--hydration .v2-insight-meter span { background:#73b7d4; } .v2-insight-card--protein .v2-insight-meter span { background:#d49a83; } .v2-insight-card--logged .v2-insight-meter span { background:#b390bc; } .v2-insight-hero h2 { color:#5f4f5e; font-size:1.55rem; } .v2-insight-hero p { margin-top:8px; color:#766774; line-height:1.42; } .checkin-v2-body { background:linear-gradient(180deg,#cfbfd6 0%,#f8e8e6 42%,#f5edf1 100%) !important; } .cycle-v2-body { background:linear-gradient(180deg,#d8c1b9 0%,#f9e9de 46%,#f2edf3 100%) !important; } .insights-v2-body { background:linear-gradient(180deg,#c4c0dc 0%,#f2e9f3 50%,#f7efe8 100%) !important; } .checkin-v2-body .v2-section-card { background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(252,229,226,.58)); } .cycle-v2-body .v2-section-card { background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(250,227,215,.6)); } .insights-v2-body .v2-section-card { background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(229,221,239,.62)); } .v2-cycle-summary { text-align:center; color:#8a5261; } .admin-affirmation-list { display:grid; gap:12px; } .admin-affirmation-card { display:grid; gap:12px; padding:14px; border-radius:14px; background:#fffdf9; border:1px solid rgba(43,49,46,.08); box-shadow:0 8px 18px rgba(37,45,40,.06); } .admin-inline-check { align-self:end; min-height:50px; padding:0 14px; border-radius:12px; background:rgba(255,255,255,.68); border:1px solid rgba(43,49,46,.08); }
body.has-v2-nav:not(.v2-body) { --date-nav-arrow-color:#b886a7; }
body.nutrition-v2-body { --date-nav-arrow-color:#8a9d67; }
body.hydration-v2-body { --date-nav-arrow-color:#73b7d4; }
body.checkin-v2-body { --date-nav-arrow-color:#d19091; }
body.cycle-v2-body { --date-nav-arrow-color:#897284; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) { --date-nav-arrow-color:#d7aa56; }
body.insights-v2-body.movement-v2-body { --date-nav-arrow-color:#6f8faf; }
body.insights-v2-body.rituals-v2-body { --date-nav-arrow-color:#d7a36f; }
@media (max-width:430px) { .v2-shell { padding-left:16px; padding-right:16px; } .v2-feature-card { grid-template-columns:64px minmax(0,1fr) 24px; padding:13px 14px; border-radius:26px; } .v2-cycle-card { margin-left:20px; margin-right:20px; } .v2-feature-copy strong { font-size:1.12rem; } .v2-feature-copy span,.v2-feature-copy small { font-size:.92rem; } }
@media (max-width:430px) { body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-shell { padding-left:18px; padding-right:18px; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list { padding-left:18px; padding-right:18px; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card { grid-template-columns:60px minmax(0,1fr) 24px; border-radius:32px; } }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) { background:#f6f0f4; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body)::before { background:linear-gradient(180deg,#aaa8ce 0%,#bdb8d7 11%,#e1d5dc 26%,#f6f0ee 38%,#fbf8f4 76%,#eee4f0 100%); filter:none; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body)::after { content:""; position:fixed; inset:0; pointer-events:none; z-index:0; background:radial-gradient(ellipse at 18% 92%,rgba(206,188,217,.46) 0 13%,transparent 36%), radial-gradient(ellipse at 80% 84%,rgba(224,196,188,.42) 0 14%,transparent 38%); } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-shell { max-width:430px; padding:38px 0 96px; gap:0; overflow:hidden; } .v2-cloudscape { position:absolute; inset:0; z-index:-1; pointer-events:none; overflow:hidden; } .v2-cloud { position:absolute; display:block; border-radius:999px; opacity:.78; filter:blur(.2px); background:radial-gradient(ellipse at 20% 56%,rgba(255,255,255,.82) 0 20%,transparent 42%),radial-gradient(ellipse at 48% 38%,rgba(255,247,238,.74) 0 23%,transparent 50%),radial-gradient(ellipse at 78% 58%,rgba(221,211,230,.7) 0 22%,transparent 48%); } .v2-cloud::before,.v2-cloud::after { content:""; position:absolute; border-radius:inherit; background:inherit; inset:auto; } .v2-cloud--one { top:44px; left:-72px; width:310px; height:94px; transform:rotate(3deg); } .v2-cloud--one::before { width:150px; height:70px; left:76px; top:-22px; } .v2-cloud--one::after { width:190px; height:72px; right:-84px; top:8px; } .v2-cloud--two { top:96px; right:-120px; width:360px; height:110px; opacity:.7; transform:rotate(-5deg); } .v2-cloud--two::before { width:178px; height:78px; left:58px; top:-18px; } .v2-cloud--two::after { width:210px; height:80px; left:-110px; top:28px; } .v2-cloud--three { top:302px; left:-98px; width:300px; height:92px; opacity:.45; } .v2-cloud--three::before { width:160px; height:72px; left:112px; top:-24px; } .v2-cloud--three::after { width:230px; height:80px; right:-132px; top:18px; } .v2-cloud--four { top:618px; right:-132px; width:370px; height:100px; opacity:.48; transform:rotate(-2deg); } .v2-cloud--four::before { width:180px; height:74px; left:72px; top:-22px; } .v2-cloud--four::after { width:230px; height:86px; left:-126px; top:30px; } .v2-cloud--five { bottom:54px; left:-86px; width:360px; height:100px; opacity:.35; } .v2-cloud--five::before { width:190px; height:76px; left:108px; top:-24px; } .v2-cloud--five::after { width:260px; height:88px; right:-168px; top:28px; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-hero { min-height:210px; padding:20px 22px 0; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-logo { position:relative; display:inline-flex; margin-top:24px; gap:8px; align-items:center; justify-content:center; min-width:310px; color:#fffaf8; text-shadow:0 3px 15px rgba(87,78,114,.22); } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-logo span { font-family:"Brush Script MT","Segoe Script","Lucida Handwriting",cursive; font-size:clamp(4.05rem,18vw,5.35rem); line-height:.82; font-weight:400; letter-spacing:.012em; transform:translateY(3px); } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-logo small { position:relative; width:43px; height:43px; margin-left:-1px; background:#fff0c8; box-shadow:15px 0 0 -3px #aaa8ce; transform:translateY(-6px) rotate(-11deg); } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-logo::before,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-logo::after { content:""; position:absolute; width:7px; height:7px; background:#fffaf8; clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%); opacity:.96; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-logo::before { left:10px; top:34px; box-shadow:28px -15px 0 -1px #fffaf8, 41px 9px 0 -2px #fffaf8; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-logo::after { right:1px; top:36px; box-shadow:25px -16px 0 -2px #fffaf8, -16px -30px 0 -2px #fffaf8; } .v2-logo-star { position:absolute; width:5px; height:5px; border-radius:50%; background:#fffaf8; opacity:.9; } .v2-logo-star--left { left:42px; top:26px; box-shadow:-18px 21px 0 -1px #fffaf8, 18px 35px 0 -2px #fffaf8; } .v2-logo-star--right { right:52px; top:14px; box-shadow:22px 25px 0 -1px #fffaf8, -11px 18px 0 -2px #fffaf8; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-profile-button { top:18px; right:22px; width:46px; height:46px; border-radius:18px; background:rgba(255,255,255,.18); } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card { width:100%; margin:-56px 0 24px; min-height:214px; padding:30px 30px 28px; border-radius:36px; border-color:rgba(255,255,255,.82); background:linear-gradient(180deg,rgba(255,253,248,.89),rgba(251,242,244,.68)),radial-gradient(ellipse at 28% 84%,rgba(232,207,215,.58),transparent 46%),radial-gradient(ellipse at 82% 86%,rgba(188,181,213,.46),transparent 48%); box-shadow:0 14px 28px rgba(112,93,111,.13),inset 0 1px 0 rgba(255,255,255,.78); backdrop-filter:blur(8px); } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card .v2-section-label { margin:0 auto; width:86%; color:#a78370; font-size:1rem; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card p { max-width:330px; margin:0 auto; color:#8b526a; font-size:clamp(1.35rem,6vw,1.72rem); line-height:1.34; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card { width:calc(100% - 54px); margin:0 auto 24px; min-height:112px; padding:19px 22px 17px; border-radius:36px; background:linear-gradient(180deg,rgba(255,252,247,.78),rgba(246,232,235,.68)),radial-gradient(ellipse at 16% 86%,rgba(216,198,199,.45),transparent 44%),radial-gradient(ellipse at 88% 82%,rgba(204,196,218,.34),transparent 46%); box-shadow:0 12px 25px rgba(112,93,111,.14),inset 0 1px 0 rgba(255,255,255,.68); } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label::before,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label::after { max-width:92px; background:rgba(167,131,112,.26); } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label span { width:26px; height:26px; background:#9a657f; box-shadow:10px 0 0 -2px rgba(255,253,248,.92); } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label { color:#785f75; font-size:.98rem; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card p { color:#8c5261; font-size:1.03rem; margin-top:12px; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list { gap:13px; padding:0 27px; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card { min-height:91px; grid-template-columns:62px minmax(0,1fr) 23px; padding:12px 16px; border-radius:34px; border-color:rgba(255,255,255,.76); box-shadow:0 9px 18px rgba(112,93,111,.15), inset 0 1px 0 rgba(255,255,255,.72); backdrop-filter:blur(7px); } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--daily-checkin { background:linear-gradient(90deg,rgba(247,211,209,.8),rgba(248,230,235,.66)),radial-gradient(ellipse at 84% 72%,rgba(216,196,218,.42),transparent 42%); } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--nutrition { background:linear-gradient(90deg,rgba(220,232,203,.86),rgba(242,240,222,.68)),radial-gradient(ellipse at 84% 72%,rgba(189,206,174,.38),transparent 42%); } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--movement { background:linear-gradient(90deg,rgba(225,214,237,.83),rgba(244,234,240,.68)),radial-gradient(ellipse at 84% 72%,rgba(211,195,221,.42),transparent 42%); } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--cycle-tracking { background:linear-gradient(90deg,rgba(247,218,205,.82),rgba(247,235,228,.7)),radial-gradient(ellipse at 84% 72%,rgba(218,183,176,.4),transparent 42%); } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-copy { gap:5px; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-copy strong { color:#705d6c; font-size:1.16rem; letter-spacing:.08em; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-copy span,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-copy small { color:#6d5f68; font-size:.93rem; line-height:1.08; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-arrow { color:#8b7580; font-size:2.15rem; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-bottom-nav { background:rgba(255,250,246,.93); border-top-color:rgba(155,130,132,.16); }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-hero::before { content:""; position:absolute; left:0; right:0; top:0; height:218px; background-image:var(--v2-header-art); background-size:100% 100%; background-repeat:no-repeat; background-position:center top; opacity:.98; z-index:-1; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-logo { opacity:0; pointer-events:none; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-hero { min-height:225px; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-shell { padding-top:0 !important; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-hero { min-height:108px !important; padding-top:0 !important; overflow:hidden; background:linear-gradient(180deg,#aaa8ce 0%,#bdb8d7 65%,#dccfd8 100%); } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-hero::before { left:0; right:0; top:0; height:108px; background-size:100% auto; background-position:center top; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-profile-button { top:28px !important; right:22px !important; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card { margin-top:-8px !important; border-top-left-radius:34px !important; border-top-right-radius:34px !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-hero::before { z-index:0 !important; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-profile-button { z-index:2; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card { min-height:166px !important; padding:24px 30px 22px !important; gap:17px !important; align-content:start !important; border-radius:34px !important; background:linear-gradient(180deg,rgba(255,253,248,.9),rgba(250,242,244,.7)),radial-gradient(ellipse at 24% 92%,rgba(229,205,215,.5),transparent 48%),radial-gradient(ellipse at 82% 94%,rgba(190,184,215,.42),transparent 50%) !important; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card .v2-section-label { width:72% !important; max-width:310px; margin:0 auto !important; gap:9px !important; color:#a88370 !important; font-size:.92rem !important; font-weight:500 !important; letter-spacing:.025em !important; line-height:1 !important; white-space:nowrap; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card .v2-section-label::before,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card .v2-section-label::after { max-width:118px !important; height:1px; background:rgba(168,131,112,.23) !important; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card .v2-section-label span { width:22px !important; height:22px !important; flex:0 0 22px; background:#a88370 !important; box-shadow:8px 0 0 -2px rgba(255,253,248,.96) !important; transform:rotate(-14deg) !important; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card p { max-width:310px !important; margin:6px auto 0 !important; color:#8b526a !important; font-size:clamp(1.08rem,4.4vw,1.34rem) !important; line-height:1.34 !important; font-weight:500 !important; letter-spacing:.01em; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card { min-height:100px !important; padding:15px 28px 16px !important; gap:8px !important; align-content:center !important; border-radius:32px !important; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card .v2-section-label { width:82% !important; max-width:330px; gap:8px !important; font-size:.82rem !important; letter-spacing:.02em !important; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card .v2-section-label::before,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card .v2-section-label::after { max-width:96px !important; background:rgba(168,131,112,.2) !important; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card .v2-section-label span { position:relative; width:30px !important; height:18px !important; flex:0 0 30px; background:transparent !important; box-shadow:none !important; transform:none !important; overflow:visible; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card .v2-section-label span::before { content:""; position:absolute; left:1px; top:1px; width:17px; height:17px; border-radius:50%; background:radial-gradient(circle at 68% 42%, rgba(255,253,248,.98) 0 7px, transparent 7.2px), #a88370; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card .v2-section-label span::after { content:""; position:absolute; right:3px; top:1px; width:4px; height:4px; background:#a88370; clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%); box-shadow:-4px 10px 0 -1px #a88370; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card p { max-width:300px !important; margin:3px auto 0 !important; font-size:clamp(.96rem,3.8vw,1.12rem) !important; line-height:1.28 !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card { width:100% !important; min-height:100px !important; margin-left:0 !important; margin-right:0 !important; padding:15px 28px 16px !important; gap:8px !important; align-content:center !important; border-radius:32px !important; background:linear-gradient(180deg,rgba(255,253,248,.9),rgba(250,242,244,.7)),radial-gradient(ellipse at 24% 92%,rgba(229,205,215,.5),transparent 48%),radial-gradient(ellipse at 82% 94%,rgba(190,184,215,.42),transparent 50%) !important; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card { margin-top:12px !important; margin-bottom:18px !important; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card .v2-section-label,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label { width:82% !important; max-width:330px; margin:0 auto !important; gap:8px !important; color:#a88370 !important; font-size:.82rem !important; font-weight:500 !important; letter-spacing:.02em !important; line-height:1 !important; white-space:nowrap; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card .v2-section-label::before,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card .v2-section-label::after,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label::before,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label::after { max-width:96px !important; height:1px; background:rgba(168,131,112,.2) !important; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card .v2-section-label span,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label span { position:relative; width:30px !important; height:18px !important; flex:0 0 30px; background:transparent !important; box-shadow:none !important; transform:none !important; overflow:visible; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card .v2-section-label span::before,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label span::before { content:""; position:absolute; left:1px; top:1px; width:17px; height:17px; border-radius:50%; background:radial-gradient(circle at 68% 42%, rgba(255,253,248,.98) 0 7px, transparent 7.2px), #a88370; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card .v2-section-label span::after,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label span::after { content:""; position:absolute; right:3px; top:1px; width:4px; height:4px; background:#a88370; clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%); box-shadow:-4px 10px 0 -1px #a88370; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card p,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card p { max-width:300px !important; margin:3px auto 0 !important; color:#8b526a !important; font-size:clamp(.96rem,3.8vw,1.12rem) !important; line-height:1.28 !important; font-weight:500 !important; letter-spacing:.01em; text-align:center !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card { margin-top:13px !important; margin-bottom:13px !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card { margin-bottom:0 !important; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card { margin-top:13px !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cloudscape { z-index:0 !important; background-image:var(--v2-header-art); background-size:100% auto; background-repeat:no-repeat; background-position:center top; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-hero,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list { position:relative; z-index:1; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-hero::before { display:none !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-hero { background:transparent !important; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cloud { display:none !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon { width:52px !important; height:52px !important; color:var(--home-icon-color); } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon::before { content:"" !important; display:block; width:52px; height:52px; background:var(--home-icon-color); -webkit-mask:var(--home-icon-mask) center/contain no-repeat; mask:var(--home-icon-mask) center/contain no-repeat; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon::after { display:none !important; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--heart { --home-icon-color:#d18c8f; --home-icon-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M32 55C20 44 9 35 9 23.7 9 16.6 14.4 11 21.2 11c4.2 0 8.2 2.1 10.8 5.7C34.6 13.1 38.6 11 42.8 11 49.6 11 55 16.6 55 23.7 55 35 44 44 32 55Z'/%3E%3C/svg%3E"); } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--apple { --home-icon-color:#7f9965; --home-icon-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M35.4 14.2c1.5-6 5.8-9.3 12.7-9.9.1 6.1-4.5 10.7-11.7 11.8l-1-.1Z'/%3E%3Cpath fill='black' d='M30.6 18.2c2.2 0 4.2 1.1 5.7 1.1 1.7 0 4-1.2 6.7-1.2 8.2 0 13.2 6.7 13.2 15.2 0 10.5-7.1 24.5-14.1 24.5-2.7 0-4.3-1.4-6.9-1.4-2.7 0-4.6 1.4-7.2 1.4-7.3 0-15.7-13.4-15.7-25 0-8.5 5.3-14.6 13.2-14.6 2.1 0 3.6.8 5.1 0Z'/%3E%3C/svg%3E"); } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--movement { --home-icon-color:#95769d; --home-icon-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle fill='black' cx='32' cy='12' r='7'/%3E%3Cpath fill='black' d='M27 22h10c1.9 0 3.2 1.5 3.2 3.3v12.1c2.8 1.9 6.5 3 11.2 3.5 2.8.3 4.7 2.6 4.5 5.1-.2 2.4-2.3 4.1-5 3.8-7.8-.8-14.1-3.3-18.9-7.7-4.8 4.4-11.1 6.9-18.9 7.7-2.7.3-4.8-1.4-5-3.8-.2-2.5 1.7-4.8 4.5-5.1 4.7-.5 8.4-1.6 11.2-3.5V25.3c0-1.8 1.3-3.3 3.2-3.3Z'/%3E%3Cpath fill='black' d='M18.2 54.2c5.7-1.1 10.3-3.4 13.8-6.9 3.5 3.5 8.1 5.8 13.8 6.9-3.9 3.5-8.5 5.3-13.8 5.3s-9.9-1.8-13.8-5.3Z'/%3E%3C/svg%3E"); } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--drop { --home-icon-color:#d29a8c; --home-icon-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M32 4c9.8 13.1 19 24.6 19 36.1C51 52 42.6 60 32 60s-19-8-19-19.9C13 28.6 22.2 17.1 32 4Z'/%3E%3Cpath fill='black' d='M24.5 45c-3.2-4.2-2.7-9.1.6-14.6 1.7 4.5 3.9 7.8 7 10.1-3.4.2-5.8 1.7-7.6 4.5Z' opacity='.55'/%3E%3C/svg%3E"); }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon { position:relative; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--heart::after,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--apple::after,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--movement::after,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--drop::after { content:"" !important; display:block !important; position:absolute; pointer-events:none; background:rgba(255,249,244,.48); } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--heart::after { width:21px; height:19px; left:15px; top:19px; opacity:.68; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M32 55C20 44 9 35 9 23.7 9 16.6 14.4 11 21.2 11c4.2 0 8.2 2.1 10.8 5.7C34.6 13.1 38.6 11 42.8 11 49.6 11 55 16.6 55 23.7 55 35 44 44 32 55Z'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M32 55C20 44 9 35 9 23.7 9 16.6 14.4 11 21.2 11c4.2 0 8.2 2.1 10.8 5.7C34.6 13.1 38.6 11 42.8 11 49.6 11 55 16.6 55 23.7 55 35 44 44 32 55Z'/%3E%3C/svg%3E") center/contain no-repeat; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--apple::after { width:13px; height:24px; left:18px; top:25px; opacity:.45; border-radius:999px; transform:rotate(22deg); } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--movement::after { width:28px; height:5px; left:12px; top:48px; opacity:.28; border-radius:999px; background:rgba(255,249,244,.42); } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--drop::after { width:11px; height:25px; left:22px; top:23px; opacity:.43; border-radius:999px; transform:rotate(24deg); }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--heart::after { width:18px !important; height:16px !important; left:17px !important; top:21px !important; opacity:.44 !important; background:rgba(255,247,242,.52) !important; transform:rotate(-2deg) !important; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--apple::after { width:12px !important; height:17px !important; left:17px !important; top:28px !important; opacity:.34 !important; background:rgba(255,247,238,.5) !important; border-radius:50% 45% 55% 40% !important; transform:rotate(-18deg) !important; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 36'%3E%3Cpath fill='black' d='M17.6 3.6C9.5 6.9 4.8 14.4 5.8 24c.4 4.1 2.4 7.4 5.5 9.2-1.2-6.1.2-13 3.2-19.2 1.8-3.7 3.4-6.9 3.1-10.4Z'/%3E%3C/svg%3E") center/contain no-repeat !important; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 36'%3E%3Cpath fill='black' d='M17.6 3.6C9.5 6.9 4.8 14.4 5.8 24c.4 4.1 2.4 7.4 5.5 9.2-1.2-6.1.2-13 3.2-19.2 1.8-3.7 3.4-6.9 3.1-10.4Z'/%3E%3C/svg%3E") center/contain no-repeat !important; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--drop::after { width:14px !important; height:21px !important; left:19px !important; top:31px !important; opacity:.36 !important; background:rgba(255,244,238,.48) !important; border-radius:0 !important; transform:rotate(-8deg) !important; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 48'%3E%3Cpath fill='black' d='M16 3C23 12.6 28.5 20.4 28.5 29.2 28.5 38.1 23 45 16 45S3.5 38.1 3.5 29.2C3.5 20.4 9 12.6 16 3Z'/%3E%3C/svg%3E") center/contain no-repeat !important; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 48'%3E%3Cpath fill='black' d='M16 3C23 12.6 28.5 20.4 28.5 29.2 28.5 38.1 23 45 16 45S3.5 38.1 3.5 29.2C3.5 20.4 9 12.6 16 3Z'/%3E%3C/svg%3E") center/contain no-repeat !important; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--movement::after { display:none !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--apple::after { left:12px !important; top:22px !important; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--drop::after { left:14px !important; top:25px !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--drop::after { top:20px !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--moon-wheel { width:52px !important; height:52px !important; position:relative; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--moon-wheel::before { content:"" !important; display:block !important; position:absolute; inset:0; width:52px !important; height:52px !important; background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cdefs%3E%3CclipPath id='m1'%3E%3Ccircle cx='32' cy='8' r='5.2'/%3E%3C/clipPath%3E%3CclipPath id='m2'%3E%3Ccircle cx='49' cy='15' r='4.6'/%3E%3C/clipPath%3E%3CclipPath id='m3'%3E%3Ccircle cx='56' cy='32' r='4.6'/%3E%3C/clipPath%3E%3CclipPath id='m4'%3E%3Ccircle cx='49' cy='49' r='4.6'/%3E%3C/clipPath%3E%3CclipPath id='m5'%3E%3Ccircle cx='32' cy='56' r='5.2'/%3E%3C/clipPath%3E%3CclipPath id='m6'%3E%3Ccircle cx='15' cy='49' r='4.6'/%3E%3C/clipPath%3E%3CclipPath id='m7'%3E%3Ccircle cx='8' cy='32' r='4.6'/%3E%3C/clipPath%3E%3CclipPath id='m8'%3E%3Ccircle cx='15' cy='15' r='4.6'/%3E%3C/clipPath%3E%3C/defs%3E%3Ccircle cx='32' cy='8' r='5.2' fill='%23d29a8c'/%3E%3Ccircle cx='49' cy='15' r='4.6' fill='%23d29a8c'/%3E%3Ccircle cx='45.8' cy='15' r='4.7' fill='%23f7ebe4' clip-path='url(%23m2)' opacity='.92'/%3E%3Ccircle cx='56' cy='32' r='4.6' fill='%23d29a8c'/%3E%3Crect x='51.3' y='26.8' width='4.7' height='10.4' fill='%23f7ebe4' clip-path='url(%23m3)' opacity='.92'/%3E%3Ccircle cx='49' cy='49' r='4.6' fill='%23d29a8c'/%3E%3Ccircle cx='51.6' cy='49' r='4.8' fill='%23f7ebe4' clip-path='url(%23m4)' opacity='.92'/%3E%3Ccircle cx='32' cy='56' r='5.1' fill='%23d29a8c' opacity='.2' stroke='%23d29a8c' stroke-width='1.2'/%3E%3Ccircle cx='15' cy='49' r='4.6' fill='%23d29a8c'/%3E%3Ccircle cx='12.4' cy='49' r='4.8' fill='%23f7ebe4' clip-path='url(%23m6)' opacity='.92'/%3E%3Ccircle cx='8' cy='32' r='4.6' fill='%23d29a8c'/%3E%3Crect x='8' y='26.8' width='4.8' height='10.4' fill='%23f7ebe4' clip-path='url(%23m7)' opacity='.92'/%3E%3Ccircle cx='15' cy='15' r='4.6' fill='%23d29a8c'/%3E%3Ccircle cx='18.2' cy='15' r='4.8' fill='%23f7ebe4' clip-path='url(%23m8)' opacity='.92'/%3E%3Ccircle cx='32' cy='32' r='2.2' fill='%23d29a8c' opacity='.45'/%3E%3C/svg%3E") center/contain no-repeat !important; -webkit-mask:none !important; mask:none !important; box-shadow:none !important; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--moon-wheel::after { display:none !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--moon-wheel::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cdefs%3E%3CclipPath id='m2'%3E%3Ccircle cx='49' cy='15' r='4.6'/%3E%3C/clipPath%3E%3CclipPath id='m3'%3E%3Ccircle cx='56' cy='32' r='4.6'/%3E%3C/clipPath%3E%3CclipPath id='m4'%3E%3Ccircle cx='49' cy='49' r='4.6'/%3E%3C/clipPath%3E%3CclipPath id='m6'%3E%3Ccircle cx='15' cy='49' r='4.6'/%3E%3C/clipPath%3E%3CclipPath id='m7'%3E%3Ccircle cx='8' cy='32' r='4.6'/%3E%3C/clipPath%3E%3CclipPath id='m8'%3E%3Ccircle cx='15' cy='15' r='4.6'/%3E%3C/clipPath%3E%3C/defs%3E%3Ccircle cx='32' cy='8' r='5.2' fill='%23d29a8c'/%3E%3Ccircle cx='49' cy='15' r='4.6' fill='%23d29a8c'/%3E%3Ccircle cx='45.8' cy='15' r='4.7' fill='%23f7ebe4' clip-path='url(%23m2)' opacity='.92'/%3E%3Ccircle cx='56' cy='32' r='4.6' fill='%23d29a8c'/%3E%3Crect x='51.3' y='26.8' width='4.7' height='10.4' fill='%23f7ebe4' clip-path='url(%23m3)' opacity='.92'/%3E%3Ccircle cx='49' cy='49' r='4.6' fill='%23d29a8c'/%3E%3Ccircle cx='51.6' cy='49' r='4.8' fill='%23f7ebe4' clip-path='url(%23m4)' opacity='.92'/%3E%3Ccircle cx='32' cy='56' r='5.1' fill='%23d29a8c' opacity='.2' stroke='%23d29a8c' stroke-width='1.2'/%3E%3Ccircle cx='15' cy='49' r='4.6' fill='%23d29a8c'/%3E%3Ccircle cx='12.4' cy='49' r='4.8' fill='%23f7ebe4' clip-path='url(%23m6)' opacity='.92'/%3E%3Ccircle cx='8' cy='32' r='4.6' fill='%23d29a8c'/%3E%3Crect x='8' y='26.8' width='4.8' height='10.4' fill='%23f7ebe4' clip-path='url(%23m7)' opacity='.92'/%3E%3Ccircle cx='15' cy='15' r='4.6' fill='%23d29a8c'/%3E%3Ccircle cx='18.2' cy='15' r='4.8' fill='%23f7ebe4' clip-path='url(%23m8)' opacity='.92'/%3E%3C/svg%3E") !important; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--movement .v2-feature-icon { transform:translateX(-3px); }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--moon-wheel::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cdefs%3E%3CclipPath id='rightMoon'%3E%3Ccircle cx='52' cy='32' r='8'/%3E%3C/clipPath%3E%3CclipPath id='leftMoon'%3E%3Ccircle cx='12' cy='32' r='8'/%3E%3C/clipPath%3E%3C/defs%3E%3Ccircle cx='32' cy='10' r='8.5' fill='%23d29a8c'/%3E%3Ccircle cx='52' cy='32' r='8' fill='%23d29a8c'/%3E%3Crect x='44' y='23' width='4' height='18' fill='%23f7ebe4' clip-path='url(%23rightMoon)' opacity='.94'/%3E%3Ccircle cx='48' cy='32' r='8' fill='%23f7ebe4' clip-path='url(%23rightMoon)' opacity='.94'/%3E%3Ccircle cx='32' cy='54' r='8.5' fill='%23d29a8c' opacity='.17' stroke='%23d29a8c' stroke-width='1.5'/%3E%3Ccircle cx='12' cy='32' r='8' fill='%23d29a8c'/%3E%3Crect x='12' y='23' width='4' height='18' fill='%23f7ebe4' clip-path='url(%23leftMoon)' opacity='.94'/%3E%3Ccircle cx='16' cy='32' r='8' fill='%23f7ebe4' clip-path='url(%23leftMoon)' opacity='.94'/%3E%3C/svg%3E") !important; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--movement .v2-feature-icon { transform:translateX(-8px) !important; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--movement .v2-feature-icon::before { transform:translateX(-2px); }
.v2-bottom-nav .nav-icon { width:30px; height:30px; display:block; position:relative; font-size:0 !important; line-height:1; color:transparent; margin:0 auto; --nav-icon-color:#bfa08c; } .v2-bottom-nav .nav-icon::before { content:""; position:absolute; inset:0; background:var(--nav-icon-color); box-shadow:inset -3px -4px 0 rgba(96,78,88,.08); } .v2-bottom-nav .nav-icon::after { content:""; position:absolute; pointer-events:none; } .v2-bottom-nav .nav-icon--home { --nav-icon-color:#cda071; } .v2-bottom-nav .nav-icon--home::before { inset:0 !important; } .v2-bottom-nav .nav-icon--add { --nav-icon-color:#88a66d; } .v2-bottom-nav .nav-icon--add::before { inset:0 !important; } .v2-bottom-nav .nav-icon--add::after { display:none !important; } .v2-bottom-nav .nav-icon--scan { --nav-icon-color:#7aa4bc; } .v2-bottom-nav .nav-icon--scan::before { inset:0 !important; box-shadow:none; } .v2-bottom-nav .nav-icon--scan::after { display:none !important; } .v2-bottom-nav .nav-icon--hydration { --nav-icon-color:#73b7d4; } .v2-bottom-nav .nav-icon--hydration::before { inset:0 !important; } .v2-bottom-nav .nav-icon--hydration::after { display:none !important; } .v2-bottom-nav .nav-icon--daily { --nav-icon-color:#d18c8f; } .v2-bottom-nav .nav-icon--daily::before { inset:0 !important; box-shadow:none; } .v2-bottom-nav .nav-icon--daily::after { display:none !important; } .v2-bottom-nav .nav-icon--nutrition { --nav-icon-color:#7f9965; } .v2-bottom-nav .nav-icon--nutrition::before { inset:0 !important; } .v2-bottom-nav .nav-icon--nutrition::after { display:none !important; } .v2-bottom-nav .nav-icon--insights { --nav-icon-color:#a991bd; } .v2-bottom-nav .nav-icon--insights::before { inset:0 !important; } .v2-bottom-nav .nav-icon--cycles { --nav-icon-color:#d29a8c; } .v2-bottom-nav .nav-icon--cycles::before { inset:0 !important; box-shadow:none; } .v2-bottom-nav .nav-icon--cycles::after { display:none !important; }
.v2-bottom-nav .nav-icon--nutrition::before { inset:1px !important; border-radius:0 !important; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M35.4 14.2c1.5-6 5.8-9.3 12.7-9.9.1 6.1-4.5 10.7-11.7 11.8l-1-.1Z'/%3E%3Cpath fill='black' d='M30.6 18.2c2.2 0 4.2 1.1 5.7 1.1 1.7 0 4-1.2 6.7-1.2 8.2 0 13.2 6.7 13.2 15.2 0 10.5-7.1 24.5-14.1 24.5-2.7 0-4.3-1.4-6.9-1.4-2.7 0-4.6 1.4-7.2 1.4-7.3 0-15.7-13.4-15.7-25 0-8.5 5.3-14.6 13.2-14.6 2.1 0 3.6.8 5.1 0Z'/%3E%3C/svg%3E") center/contain no-repeat !important; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M35.4 14.2c1.5-6 5.8-9.3 12.7-9.9.1 6.1-4.5 10.7-11.7 11.8l-1-.1Z'/%3E%3Cpath fill='black' d='M30.6 18.2c2.2 0 4.2 1.1 5.7 1.1 1.7 0 4-1.2 6.7-1.2 8.2 0 13.2 6.7 13.2 15.2 0 10.5-7.1 24.5-14.1 24.5-2.7 0-4.3-1.4-6.9-1.4-2.7 0-4.6 1.4-7.2 1.4-7.3 0-15.7-13.4-15.7-25 0-8.5 5.3-14.6 13.2-14.6 2.1 0 3.6.8 5.1 0Z'/%3E%3C/svg%3E") center/contain no-repeat !important; box-shadow:none !important; } .v2-bottom-nav .nav-icon--nutrition::after { left:8px !important; top:13px !important; width:7px !important; height:10px !important; opacity:.36 !important; background:rgba(255,247,238,.5) !important; border-radius:0 !important; transform:rotate(-18deg) !important; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 36'%3E%3Cpath fill='black' d='M17.6 3.6C9.5 6.9 4.8 14.4 5.8 24c.4 4.1 2.4 7.4 5.5 9.2-1.2-6.1.2-13 3.2-19.2 1.8-3.7 3.4-6.9 3.1-10.4Z'/%3E%3C/svg%3E") center/contain no-repeat !important; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 36'%3E%3Cpath fill='black' d='M17.6 3.6C9.5 6.9 4.8 14.4 5.8 24c.4 4.1 2.4 7.4 5.5 9.2-1.2-6.1.2-13 3.2-19.2 1.8-3.7 3.4-6.9 3.1-10.4Z'/%3E%3C/svg%3E") center/contain no-repeat !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list { padding-left:14px !important; padding-right:14px !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list { gap:10px !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card { min-height:86px !important; grid-template-columns:58px minmax(0,1fr) 22px !important; gap:10px !important; padding:11px 14px !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-copy { gap:2px !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-copy strong { font-size:1.02rem !important; line-height:1.05 !important; letter-spacing:.055em !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-copy span,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-copy small { font-size:.82rem !important; line-height:1.08 !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-arrow { font-size:2rem !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--movement .v2-feature-icon { justify-self:center !important; transform:none !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--movement .v2-feature-icon::before { width:52px !important; height:52px !important; transform:none !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--movement { --home-icon-color:#7b98ba; --home-icon-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle fill='black' cx='32' cy='11' r='6.8'/%3E%3Cpath fill='black' d='M30 20.2h4c2.6 0 4.7 2.1 4.7 4.7v12.8c3.4 2.1 7.9 3.5 13.5 4.1 3.1.3 5.2 2.8 4.8 5.6-.4 2.8-2.9 4.6-6.1 4.1-7.4-.9-13.8-3.6-18.9-8.1-5.1 4.5-11.5 7.2-18.9 8.1-3.2.5-5.7-1.3-6.1-4.1-.4-2.8 1.7-5.3 4.8-5.6 5.6-.6 10.1-2 13.5-4.1V24.9c0-2.6 2.1-4.7 4.7-4.7Z'/%3E%3Cpath fill='black' d='M17.2 55.1c5.8-1.1 10.7-3.5 14.8-7.2 4.1 3.7 9 6.1 14.8 7.2-3.8 3.7-8.8 5.6-14.8 5.6s-11-1.9-14.8-5.6Z'/%3E%3C/svg%3E"); }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--movement { --home-icon-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cellipse fill='black' cx='32' cy='10.5' rx='7.4' ry='9.2'/%3E%3Cpath fill='black' d='M23.4 22.5c0-3 2.6-5.4 5.7-5.4h5.8c3.1 0 5.7 2.4 5.7 5.4v15.7c2.6 1.6 5.9 2.7 10 3.1 4.1.5 7 .6 7.8 2.1.8 1.4-.4 2.5-3.2 2.8-6.2.7-11.5-.5-16.4-3.5l-6.8 4.5-6.8-4.5c-4.9 3-10.2 4.2-16.4 3.5-2.8-.3-4-1.4-3.2-2.8.8-1.5 3.7-1.6 7.8-2.1 4.1-.4 7.4-1.5 10-3.1V22.5Z'/%3E%3Cpath fill='black' d='M4.4 52.2c1.4-6.2 11.8-8.8 23.4-5.8 8.5 2.2 15.2 7 15.6 11.2.2 2-1.5 3.3-4.7 3.3H13.2c-5.7 0-9.8-3.5-8.8-8.7Z'/%3E%3Cpath fill='black' d='M33.2 52.7c4.6-5.5 14.5-8.3 21.7-6 5.3 1.7 6.5 7.4 2.7 11.1-1.9 1.9-4.7 3.1-8 3.1H36.9c-.2-3.3-1.4-6-3.7-8.2Z'/%3E%3C/svg%3E"); }
.v2-bottom-nav .nav-icon--hydration::before { inset:1px 5px 2px !important; clip-path:none !important; border-radius:0 !important; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M32 3C43.6 18.1 54 31.4 54 43.4 54 54.6 44.4 62 32 62S10 54.6 10 43.4C10 31.4 20.4 18.1 32 3Z'/%3E%3C/svg%3E") center/contain no-repeat !important; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M32 3C43.6 18.1 54 31.4 54 43.4 54 54.6 44.4 62 32 62S10 54.6 10 43.4C10 31.4 20.4 18.1 32 3Z'/%3E%3C/svg%3E") center/contain no-repeat !important; box-shadow:inset -3px -4px 0 rgba(96,78,88,.08) !important; }
.v2-bottom-nav .nav-icon--hydration::after { left:10px !important; top:8px !important; width:6px !important; height:12px !important; border-radius:999px !important; background:rgba(255,250,246,.54) !important; transform:rotate(24deg) !important; }
.v2-bottom-nav .nav-icon--profile { --nav-icon-color:#b9968f; }
.v2-bottom-nav .nav-icon--profile::before { inset:3px !important; background:radial-gradient(circle at 50% 27%,var(--nav-icon-color) 0 5px,transparent 5.4px),radial-gradient(ellipse at 50% 78%,var(--nav-icon-color) 0 12px,transparent 12.5px) !important; box-shadow:none !important; }
.v2-bottom-nav .nav-icon--profile::after { left:9px !important; top:6px !important; width:4px !important; height:4px !important; border-radius:50% !important; background:rgba(255,248,243,.46) !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--heart { --home-icon-mask:url("../icons/heart.svg") !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--apple { --home-icon-mask:url("../icons/nutrition-apple.png") !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--movement { --home-icon-mask:url("../icons/yoga-person-blue.svg") !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--drop { --home-icon-mask:url("../icons/water-drop.svg") !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-icon--moon-wheel::before { background-image:url("../icons/4moons.png") !important; filter:none !important; }
.v2-bottom-nav .nav-icon::before { background-color:transparent !important; background-image:var(--nav-icon-file,none) !important; background-position:center calc(50% + var(--nav-icon-y,0px)) !important; background-repeat:no-repeat !important; background-size:var(--nav-icon-size,auto 100%) !important; -webkit-mask:none !important; mask:none !important; clip-path:none !important; border-radius:0 !important; box-shadow:none !important; }
.v2-bottom-nav .nav-icon::after { display:none !important; }
.v2-bottom-nav .nav-icon--home::before { --nav-icon-file:url("../icons/home.svg"); inset:0 !important; }
.v2-bottom-nav .nav-icon--back::before { --nav-icon-file:url("../icons/back-arrow_256x256.png"); --nav-icon-size:auto 100%; inset:0 !important; }
.v2-bottom-nav .nav-icon--add::before { --nav-icon-file:url("../icons/plus.svg"); inset:0 !important; }
.v2-bottom-nav .nav-icon--scan::before { --nav-icon-file:url("../icons/barcode.svg"); inset:0 !important; }
.v2-bottom-nav .nav-icon--daily::before { --nav-icon-file:url("../icons/heart.svg"); --nav-icon-size:auto 106%; --nav-icon-y:0px; inset:0 !important; }
.v2-bottom-nav .nav-icon--nutrition::before { --nav-icon-file:url("../icons/nutrition-apple-nav.png"); --nav-icon-size:auto 100%; --nav-icon-y:0px; inset:0 !important; }
.v2-bottom-nav .nav-icon--movement::before { --nav-icon-file:url("../icons/yoga-person-blue.svg"); --nav-icon-size:auto 116%; --nav-icon-y:1px; inset:0 !important; }
.v2-bottom-nav .nav-icon--insights::before { --nav-icon-file:url("../icons/sparkle-four.svg"); --nav-icon-size:auto 112%; --nav-icon-y:0px; inset:0 !important; }
.v2-bottom-nav .nav-icon--hydration::before { --nav-icon-file:url("../icons/water-drop.svg"); --nav-icon-size:auto 94%; --nav-icon-y:1px; inset:0 !important; }
.v2-bottom-nav .nav-icon--cycles::before { --nav-icon-file:url("../icons/4moons.png"); --nav-icon-y:1px; inset:0 !important; }
.v2-bottom-nav .nav-icon--profile::before { --nav-icon-file:var(--profile-aura,url("../icons/Auras/Aura-1.png")); --nav-icon-y:0px; inset:0 !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label--affirmation { color:#d7a949 !important; text-shadow:0 1px 0 rgba(255,248,205,.8),0 0 10px rgba(246,205,96,.28); background:linear-gradient(100deg,#9d671f 0%,#f5ce6b 24%,#fff5bd 48%,#c8872d 72%,#f8dd86 100%); -webkit-background-clip:text; background-clip:text; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label--affirmation::before,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label--affirmation::after { background:linear-gradient(90deg,transparent,rgba(215,169,73,.46),transparent) !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label--affirmation span,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label--cycle span { position:relative !important; width:30px !important; height:22px !important; flex:0 0 30px !important; background-color:transparent !important; background-position:center !important; background-repeat:no-repeat !important; background-size:contain !important; box-shadow:none !important; border-radius:0 !important; transform:none !important; overflow:visible !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label--affirmation span { background-image:url("../icons/crown-gold.svg") !important; filter:drop-shadow(0 1px 3px rgba(177,122,33,.22)); }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label--cycle span { background-image:url("../icons/cycle-moon.svg") !important; width:34px !important; flex-basis:34px !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label--affirmation span::before,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label--affirmation span::after,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label--cycle span::before,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label--cycle span::after { display:none !important; content:none !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label .v2-section-icon { display:inline-block !important; flex:0 0 auto !important; width:30px !important; height:22px !important; object-fit:contain !important; background:transparent !important; border:0 !important; box-shadow:none !important; border-radius:0 !important; transform:none !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label--affirmation .v2-section-icon { width:28px !important; height:22px !important; filter:drop-shadow(0 1px 4px rgba(177,122,33,.28)); }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label--cycle .v2-section-icon { width:34px !important; height:22px !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list .v2-feature-icon { width:58px !important; height:58px !important; justify-self:center !important; align-self:center !important; display:block !important; position:relative !important; transform:none !important; color:transparent !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list .v2-feature-icon-image { display:block !important; width:100% !important; height:100% !important; object-fit:contain !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list .v2-feature-icon-image--heart { width:44px !important; height:44px !important; margin:7px auto 0 !important; filter:drop-shadow(0 4px 9px rgba(191,104,120,.12)); }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list .v2-feature-icon::before { content:"" !important; position:absolute !important; left:50% !important; top:50% !important; width:var(--home-icon-size,52px) !important; height:var(--home-icon-size,52px) !important; display:block !important; background-color:transparent !important; background-image:var(--home-icon-file) !important; background-position:center !important; background-repeat:no-repeat !important; background-size:contain !important; -webkit-mask:none !important; mask:none !important; clip-path:none !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; transform:translate(calc(-50% + var(--home-icon-x,0px)),calc(-50% + var(--home-icon-y,0px))) !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list .v2-feature-icon::after { display:none !important; content:none !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list .v2-feature-icon--heart::before,
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list .v2-feature-icon--heart::after { display:none !important; content:none !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list .v2-feature-icon--heart { --home-icon-file:url("../icons/heart.svg"); --home-icon-size:52px; --home-icon-x:0px; --home-icon-y:0px; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list .v2-feature-icon--apple { --home-icon-file:url("../icons/nutrition-apple.png"); --home-icon-size:52px; --home-icon-x:-2px; --home-icon-y:0px; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list .v2-feature-icon--movement { --home-icon-file:url("../icons/yoga-person-blue.svg"); --home-icon-size:52px; --home-icon-x:-1px; --home-icon-y:0px; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list .v2-feature-icon--moon-wheel { --home-icon-file:url("../icons/4moons.png"); --home-icon-size:50px; --home-icon-x:0px; --home-icon-y:0px; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-shell { --v2-header-height:142px; padding-top:0 !important; overflow:hidden; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cloudscape { position:absolute !important; top:0 !important; left:0 !important; right:0 !important; height:150px !important; z-index:0 !important; pointer-events:none !important; background-image:var(--v2-cloud-art) !important; background-size:cover !important; background-position:center 28% !important; background-repeat:no-repeat !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cloud { display:none !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-hero { min-height:var(--v2-header-height) !important; padding-top:0 !important; display:flex !important; align-items:flex-start !important; justify-content:center !important; background:transparent !important; position:relative !important; z-index:1 !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-hero::before { display:none !important; background-image:none !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-logo { width:100% !important; height:118px !important; margin:7px auto 0 !important; opacity:1 !important; display:flex !important; align-items:flex-start !important; justify-content:center !important; gap:0 !important; background:transparent !important; pointer-events:auto !important; text-shadow:none !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-logo::before,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-logo::after { display:none !important; content:none !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-logo-image { display:block !important; width:min(144%,585px) !important; max-width:none !important; height:118px !important; object-fit:cover !important; object-position:center 33% !important; filter:drop-shadow(0 8px 18px rgba(74,64,92,.18)); }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card { margin-top:-48px !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card { height:115px !important; min-height:115px !important; padding:14px 28px 15px !important; gap:10px !important; align-content:center !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card p { max-width:300px !important; margin:6px auto 0 !important; font-size:clamp(.86rem,3.35vw,1.02rem) !important; line-height:1.22 !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label--affirmation,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label--cycle { gap:4px !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label--cycle .v2-section-icon { width:24px !important; height:22px !important; object-fit:contain !important; filter:drop-shadow(0 1px 3px rgba(117,78,112,.18)); }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list .v2-feature-icon--apple { --home-icon-file:url("../icons/nutrition-apple.png"); --home-icon-size:52px; --home-icon-x:-1px; --home-icon-y:0px; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card p { font-size:clamp(.88rem,3.45vw,1.02rem) !important; line-height:1.26 !important; font-weight:500 !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card p { font-size:clamp(.86rem,3.35vw,1.02rem) !important; line-height:1.22 !important; font-weight:500 !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-copy strong { font-size:.94rem !important; line-height:1.04 !important; letter-spacing:.045em !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-copy span,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-copy small { font-size:.76rem !important; line-height:1.06 !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card { width:calc(100% - 14px) !important; margin-left:7px !important; margin-right:7px !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list .v2-feature-icon--heart { --home-icon-file:url("../icons/heart.svg"); --home-icon-size:44px; --home-icon-x:0px; --home-icon-y:0px; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label--affirmation,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label--cycle { gap:2px !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label::before,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label::after { content:"" !important; height:1px !important; flex:1 1 auto !important; max-width:96px !important; display:block !important; background:rgba(168,131,112,.2) !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label--affirmation,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label--cycle { gap:0 !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label--affirmation .v2-section-icon,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label--cycle .v2-section-icon { margin-right:-2px !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label { width:88% !important; max-width:340px !important; font-weight:500 !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label::before,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label::after { min-width:42px !important; max-width:104px !important; background:rgba(168,131,112,.42) !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card p { font-weight:400 !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card .v2-section-label { width:100% !important; max-width:none !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card .v2-section-label::before,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card .v2-section-label::after { flex:1 1 auto !important; max-width:none !important; min-width:0 !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label { width:78% !important; max-width:290px !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label::before,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label::after { min-width:24px !important; max-width:66px !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label { width:min(78%,calc(100% - clamp(92px,24vw,126px))) !important; margin-left:auto !important; margin-right:auto !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label::before,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label::after { flex:0 1 clamp(26px,9vw,50px) !important; min-width:18px !important; max-width:50px !important; }
@media (max-width:430px) { body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label { width:calc(100% - 104px) !important; max-width:260px !important; } body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label::before,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label::after { flex-basis:clamp(20px,8vw,38px) !important; max-width:38px !important; } }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label--affirmation .v2-section-icon { width:24px !important; height:19px !important; margin-left:-6px !important; margin-right:-5px !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label--cycle .v2-section-icon { width:22px !important; height:20px !important; margin-left:-6px !important; margin-right:-6px !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card p { max-width:280px !important; margin:8px auto 0 !important; padding-top:8px !important; border-top:1px solid rgba(112,93,108,.2) !important; font-size:clamp(.74rem,2.9vw,.88rem) !important; line-height:1.16 !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-copy strong { font-size:.86rem !important; line-height:1.02 !important; letter-spacing:.04em !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-copy span,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-copy small { font-size:.7rem !important; line-height:1.04 !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-bottom-nav .nav-icon--profile::before { --nav-icon-file:var(--profile-aura,url("../icons/Auras/Aura-1.png")) !important; inset:-1px !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-profile-button { color:#efe7ff !important; border-color:rgba(231,218,255,.54) !important; background:rgba(183,154,217,.26) !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-profile-button span { background:rgba(183,154,217,.42) !important; color:#fff !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card::before { left:0 !important; right:0 !important; bottom:-2px !important; height:62px !important; z-index:0 !important; opacity:.92 !important; background-image:linear-gradient(to top,rgba(232,210,236,.42) 0%,rgba(241,229,244,.24) 58%,rgba(255,255,255,.05) 100%),url("../images/bubble-clouds.png") !important; background-size:cover,cover !important; background-position:center bottom,center bottom !important; background-repeat:no-repeat,no-repeat !important; background-blend-mode:multiply,normal !important; filter:contrast(1.12) brightness(1.03) !important; -webkit-mask-image:linear-gradient(to top,rgba(0,0,0,.98) 0%,rgba(0,0,0,.86) 42%,rgba(0,0,0,.28) 72%,transparent 100%) !important; mask-image:linear-gradient(to top,rgba(0,0,0,.98) 0%,rgba(0,0,0,.86) 42%,rgba(0,0,0,.28) 72%,transparent 100%) !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card .v2-section-label,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card p { position:relative !important; z-index:2 !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list .v2-feature-card { position:relative !important; overflow:hidden !important; isolation:isolate; min-height:73px !important; padding:8px 16px !important; grid-template-columns:62px minmax(0,1fr) 40px !important; border-radius:999px !important; }
/* Home feature clouds are self-hosted and tinted per card so each cloud band keeps its matching mood color. */
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list .v2-feature-card::before { content:"" !important; position:absolute !important; left:0 !important; right:0 !important; bottom:-4px !important; height:72px !important; z-index:0 !important; opacity:.9 !important; pointer-events:none !important; mix-blend-mode:normal !important; background-image:linear-gradient(var(--feature-cloud-tint),var(--feature-cloud-tint)),url("../images/bubble-clouds.png") !important; background-size:cover,cover !important; background-position:center bottom,center bottom !important; background-repeat:no-repeat,no-repeat !important; background-blend-mode:multiply,normal !important; filter:contrast(1.1) brightness(1.04) !important; -webkit-mask-image:linear-gradient(to top,rgba(0,0,0,1) 0%,rgba(0,0,0,.94) 38%,rgba(0,0,0,.48) 72%,transparent 100%) !important; mask-image:linear-gradient(to top,rgba(0,0,0,1) 0%,rgba(0,0,0,.94) 38%,rgba(0,0,0,.48) 72%,transparent 100%) !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list .v2-feature-card--daily-checkin::before { background-image:linear-gradient(var(--feature-cloud-tint),var(--feature-cloud-tint)),url("../images/bubble-cloud-checkin.png") !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list .v2-feature-card--nutrition::before { background-image:linear-gradient(var(--feature-cloud-tint),var(--feature-cloud-tint)),url("../images/bubble-cloud-nourish.png") !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list .v2-feature-card--movement::before { background-image:linear-gradient(var(--feature-cloud-tint),var(--feature-cloud-tint)),url("../images/bubble-cloud-movement.png") !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list .v2-feature-card--daily-rituals::before { background-image:linear-gradient(var(--feature-cloud-tint),var(--feature-cloud-tint)),url("../images/bubble-cloud-rituals.png") !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list .v2-feature-card--cycle-tracking::before { background-image:linear-gradient(var(--feature-cloud-tint),var(--feature-cloud-tint)),url("../images/bubble-cloud-rhythm.png") !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list .v2-feature-card > * { position:relative !important; z-index:1 !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--cycle-tracking .v2-feature-icon--moon-wheel::before { background-image:url("../icons/4moons.png") !important; filter:none !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list .v2-feature-icon--candle { --home-icon-file:url("../icons/candle.svg"); --home-icon-size:50px; --home-icon-x:0px; --home-icon-y:0px; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--daily-rituals .v2-feature-icon--candle::before { background-image:url("../icons/candle.svg") !important; background-color:transparent !important; -webkit-mask:none !important; mask:none !important; }
.v2-bottom-nav .nav-icon--insights::before { --nav-icon-file:url("../icons/sparkle-four.svg") !important; background-image:url("../icons/sparkle-four.svg") !important; background-color:transparent !important; -webkit-mask:none !important; mask:none !important; clip-path:none !important; inset:1px !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-profile-button { overflow:hidden !important; color:transparent !important; background:rgba(255,255,255,.18) !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-profile-button span { font-size:0 !important; color:transparent !important; background:transparent var(--profile-aura,url("../icons/Auras/Aura-1.png")) center/145% 145% no-repeat !important; border-radius:14px !important; filter:drop-shadow(0 2px 4px rgba(103,82,96,.18)); }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label--cycle .v2-section-icon { filter:hue-rotate(34deg) saturate(.72) brightness(.72) drop-shadow(0 1px 2px rgba(70,54,82,.14)) !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label::before,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label::after { background:rgba(98,80,111,.28) !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list .v2-feature-card { isolation:isolate !important; }
/* Reference palette from bubble-color-goals.png. Keep the cloud layer visible, but wash it with each target color. */
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card { background:linear-gradient(180deg,rgba(252,251,252,.97) 0%,rgba(250,249,251,.93) 42%,rgba(247,243,249,.86) 61%,rgba(232,210,236,.78) 100%),radial-gradient(ellipse at 50% 47%,rgba(255,255,255,.58),transparent 48%),radial-gradient(ellipse at 26% 90%,rgba(232,210,236,.56),transparent 50%),radial-gradient(ellipse at 84% 88%,rgba(221,204,235,.5),transparent 52%) !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card { background:linear-gradient(180deg,rgba(255,250,240,.93),rgba(246,227,199,.78)),radial-gradient(ellipse at 24% 82%,rgba(242,214,173,.34),transparent 48%),radial-gradient(ellipse at 86% 82%,rgba(232,203,167,.3),transparent 50%) !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--daily-checkin { --feature-cloud-tint:rgba(248,224,230,.76); background:linear-gradient(90deg,rgba(248,224,230,.82),rgba(253,240,243,.7)),radial-gradient(ellipse at 84% 74%,rgba(238,202,212,.22),transparent 44%) !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--nutrition { --feature-cloud-tint:rgba(233,233,224,.88); background:linear-gradient(90deg,rgba(233,233,224,.92),rgba(244,244,235,.72)),radial-gradient(ellipse at 84% 74%,rgba(208,214,194,.24),transparent 44%) !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list .v2-feature-card--nutrition { grid-template-columns:56px minmax(0,1fr) 28px !important; gap:10px !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--nutrition .v2-feature-icon { width:48px !important; height:48px !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--nutrition .v2-feature-arrow { font-size:3.2rem !important; line-height:1 !important; font-weight:200 !important; align-self:center !important; justify-self:end !important; display:grid !important; place-items:center !important; min-height:100% !important; transform:none !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--movement { --feature-cloud-tint:rgba(207,224,237,.78); background:linear-gradient(90deg,rgba(209,225,238,.84),rgba(238,245,250,.72)),radial-gradient(ellipse at 84% 74%,rgba(179,206,226,.26),transparent 44%) !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--daily-rituals { --feature-cloud-tint:rgba(251,234,223,.88); background:linear-gradient(90deg,rgba(251,234,223,.92),rgba(253,241,232,.74)),radial-gradient(ellipse at 84% 74%,rgba(232,202,178,.24),transparent 44%) !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--cycle-tracking { --feature-cloud-tint:rgba(230,220,238,.78); background:linear-gradient(90deg,rgba(226,216,236,.84),rgba(244,237,248,.72)),radial-gradient(ellipse at 84% 74%,rgba(205,190,221,.26),transparent 44%) !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--movement .v2-feature-copy strong,
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--movement .v2-feature-copy small,
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--movement .v2-feature-arrow { color:#6f8faf !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list .v2-feature-card::after { display:none !important; content:none !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-copy { gap:0 !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-copy span:empty { display:none !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-copy span:not(:empty),
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-copy small { margin-top:.34rem !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-arrow { font-size:4rem !important; line-height:.68 !important; font-weight:300 !important; display:flex !important; align-items:center !important; justify-content:flex-end !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card p { color:#554753 !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card p { color:#705d6c !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label--cycle .v2-section-icon { content:url("../icons/cycle-moon.svg") !important; filter:drop-shadow(0 1px 2px rgba(85,71,83,.16)) !important; }
.v2-bottom-nav .nav-icon--profile::before,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-bottom-nav .nav-icon--profile::before { inset:0 !important; background:transparent var(--profile-aura,url("../icons/Auras/Aura-1.png")) center calc(50% + 1px)/92% 92% no-repeat !important; box-shadow:none !important; border-radius:8px !important; -webkit-mask:none !important; mask:none !important; clip-path:none !important; }
.v2-bottom-nav .nav-icon--profile::after,body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-bottom-nav .nav-icon--profile::after { display:none !important; content:none !important; }
body.v2-body .v2-bottom-nav a,
body.nutrition-v2-body .v2-bottom-nav a,
body.checkin-v2-body .v2-bottom-nav a,
body.cycle-v2-body .v2-bottom-nav a,
body.insights-v2-body .v2-bottom-nav a { position:relative !important; }
body.v2-body .v2-bottom-nav a + a::before,
body.nutrition-v2-body .v2-bottom-nav a + a::before,
body.checkin-v2-body .v2-bottom-nav a + a::before,
body.cycle-v2-body .v2-bottom-nav a + a::before,
body.insights-v2-body .v2-bottom-nav a + a::before { content:"" !important; position:absolute !important; left:0 !important; top:50% !important; width:1px !important; height:50% !important; transform:translateY(-50%) !important; background:rgba(117,104,114,.22) !important; pointer-events:none !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-profile-button span { background:transparent var(--profile-aura,url("../icons/Auras/Aura-1.png")) center/112% 112% no-repeat !important; }
/* Home V2 safety layer: keep translucent cards clipped correctly on iOS Safari. */
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card,
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card {
    overflow:hidden !important;
    isolation:isolate !important;
    position:relative !important;
    transform:translateZ(0);
    -webkit-mask-image:-webkit-radial-gradient(white,black);
    box-shadow:0 10px 22px rgba(112,93,111,.14), inset 0 1px 0 rgba(255,255,255,.82), inset 0 -1px 0 rgba(145,122,134,.08) !important;
}
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card::before,
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card::before {
    content:"" !important;
    position:absolute !important;
    z-index:0 !important;
    pointer-events:none !important;
    display:block !important;
}
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label,
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card p {
    position:relative !important;
    z-index:2 !important;
}
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card::after,
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card::after {
    display:none !important;
    content:none !important;
    filter:none !important;
}
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card::before {
    left:0 !important;
    right:0 !important;
    bottom:-2px !important;
    height:60px !important;
    opacity:.82 !important;
    background-image:linear-gradient(to top,rgba(238,208,168,.52) 0%,rgba(246,230,201,.28) 58%,rgba(255,255,255,.06) 100%),url("../images/bubble-clouds.png") !important;
    background-size:cover,cover !important;
    background-position:center bottom,center bottom !important;
    background-repeat:no-repeat,no-repeat !important;
    background-blend-mode:multiply,normal !important;
    filter:contrast(1.08) brightness(1.02) !important;
    -webkit-mask-image:linear-gradient(to top,rgba(0,0,0,.96) 0%,rgba(0,0,0,.74) 42%,rgba(0,0,0,.22) 76%,transparent 100%) !important;
    mask-image:linear-gradient(to top,rgba(0,0,0,.96) 0%,rgba(0,0,0,.74) 42%,rgba(0,0,0,.22) 76%,transparent 100%) !important;
}
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-hero { align-items:center !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-logo { height:179px !important; margin:-10px auto 0 !important; align-items:center !important; justify-content:center !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-logo-image { width:min(229%,943px) !important; height:185px !important; object-fit:contain !important; object-position:center center !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card .v2-section-label { font-weight:400 !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card p { max-width:270px !important; margin-top:10px !important; font-family:Georgia,"Times New Roman",serif !important; font-style:italic !important; font-weight:400 !important; color:#6f606b !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card { margin-top:14px !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list { gap:9px !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list .v2-feature-card { border-width:2px !important; border-style:solid !important; border-color:rgba(255,255,255,.9) !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-copy span:not(:empty),
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-copy small { margin-top:.5rem !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--daily-checkin .v2-feature-copy strong { color:#d98e98 !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--daily-checkin .v2-feature-arrow { color:#d98e98 !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--nutrition .v2-feature-copy strong { color:#8a9d67 !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--nutrition .v2-feature-arrow { color:#8a9d67 !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--movement .v2-feature-copy strong { color:#6f8faf !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--movement .v2-feature-arrow { color:#6f8faf !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--daily-rituals .v2-feature-copy strong { color:#d7a36f !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--daily-rituals .v2-feature-arrow { color:#d7a36f !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--cycle-tracking .v2-feature-copy strong { color:#9a87b1 !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-card--cycle-tracking .v2-feature-arrow { color:#9a87b1 !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-feature-arrow { font-size:3.2rem !important; line-height:1 !important; font-weight:200 !important; align-self:center !important; justify-self:end !important; display:grid !important; place-items:center !important; min-height:100% !important; transform:none !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card { background:linear-gradient(180deg,rgba(255,249,244,.96) 0%,rgba(248,234,227,.9) 52%,rgba(239,216,210,.84) 100%),radial-gradient(ellipse at 18% 82%,rgba(241,204,191,.34),transparent 48%),radial-gradient(ellipse at 84% 80%,rgba(231,203,211,.28),transparent 52%) !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card::before { opacity:.86 !important; background-image:linear-gradient(to top,rgba(225,188,179,.42) 0%,rgba(245,224,214,.24) 56%,rgba(255,255,255,.06) 100%),url("../images/bubble-clouds.png") !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label,
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card p { color:#6f606b !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label { font-weight:400 !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card p { border-top:none !important; padding-top:0 !important; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-section-label--cycle .v2-section-icon { content:url("../icons/cycle-moon.svg") !important; filter:none !important; }
.profile-aura-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; align-items:stretch; }
.profile-aura-choice { min-width:0; display:block; }
.profile-aura-choice input { position:absolute; opacity:0; pointer-events:none; }
.profile-aura-card { width:100%; min-height:92px; box-sizing:border-box; display:grid; place-items:center; align-content:center; justify-items:center; text-align:center; gap:7px; padding:10px 6px; border-radius:16px; background:rgba(255,255,255,.62); border:1px solid rgba(91,73,88,.1); color:#6f606b; cursor:pointer; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.profile-aura-swatch { justify-self:center; width:46px; height:46px; border-radius:50%; background-image:var(--aura-preview),radial-gradient(circle at 55% 48%,rgba(255,244,205,.9),rgba(230,172,205,.72) 46%,rgba(196,164,214,.64) 100%); background-size:cover; background-position:center; box-shadow:0 8px 18px rgba(91,73,88,.14), inset 0 0 0 1px rgba(255,255,255,.58); }
.profile-aura-card strong { display:block; width:100%; text-align:center; font-size:.72rem; line-height:1.05; }
.profile-aura-choice input:checked + .profile-aura-card { border-color:rgba(181,126,171,.42); box-shadow:0 12px 26px rgba(91,73,88,.14), inset 0 0 0 2px rgba(255,255,255,.78); transform:translateY(-1px); }
.profile-aura-choice.is-pending .profile-aura-card { opacity:.7; }
@media (min-width:560px) { .profile-aura-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (min-width:860px) { .profile-aura-grid { grid-template-columns:repeat(5,minmax(0,1fr)); } }
body.has-v2-nav:not(.v2-body),body.checkin-v2-body,body.cycle-v2-body,body.insights-v2-body { background:#f6f0f4 !important; color:#6d5b68; overflow-x:hidden; position:relative; }
body.has-v2-nav:not(.v2-body)::before,body.checkin-v2-body::before,body.cycle-v2-body::before,body.insights-v2-body::before { content:""; position:absolute; left:50%; top:0; width:min(100%,var(--welluna-shell-mobile-max)); height:178px; transform:translateX(-50%); pointer-events:none; z-index:0; background-image:linear-gradient(180deg,rgba(173,170,207,.16),rgba(246,240,244,.28)),url("../images/header-cloud-sparkle-lavender.png"); background-size:cover; background-position:center top; background-repeat:no-repeat; }
body.has-v2-nav:not(.v2-body)::after,body.checkin-v2-body::after,body.cycle-v2-body::after,body.insights-v2-body::after { content:""; position:fixed; inset:0; pointer-events:none; z-index:0; background:linear-gradient(180deg,rgba(170,168,206,.2) 0%,rgba(246,240,244,.32) 24%,rgba(251,248,244,.58) 58%,rgba(238,228,240,.42) 100%),radial-gradient(ellipse at 18% 92%,rgba(206,188,217,.32) 0 13%,transparent 36%),radial-gradient(ellipse at 80% 84%,rgba(224,196,188,.3) 0 14%,transparent 38%); }
body.has-v2-nav:not(.v2-body) .app-shell,body.has-v2-nav:not(.v2-body) .page-shell,body.checkin-v2-body .v2-page-shell,body.cycle-v2-body .v2-page-shell,body.insights-v2-body .v2-page-shell,body.has-v2-nav:not(.v2-body) .flash-stack { position:relative; z-index:1; }
body.has-v2-nav:not(.v2-body) .app-shell,body.has-v2-nav:not(.v2-body) .page-shell { padding-top:4px; }
body.has-v2-nav:not(.v2-body) .mobile-header.settings-header,body.has-v2-nav:not(.v2-body) .page-header,body.checkin-v2-body .v2-page-header,body.cycle-v2-body .v2-page-header,body.insights-v2-body .v2-page-header { position:relative; min-height:116px; margin:-20px -16px 8px; padding:28px 20px 18px; overflow:hidden; border-radius:0 0 30px 30px; background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,250,246,.18)); color:#fffaf8; text-shadow:0 2px 14px rgba(75,64,98,.24); }
body.has-v2-nav:not(.v2-body) .mobile-header.settings-header::before,body.has-v2-nav:not(.v2-body) .page-header::before,body.checkin-v2-body .v2-page-header::before,body.cycle-v2-body .v2-page-header::before,body.insights-v2-body .v2-page-header::before { content:""; position:absolute; inset:0; z-index:-1; background-image:linear-gradient(180deg,rgba(169,166,207,.04),rgba(246,240,244,.12)),url("../images/header-cloud-sparkle-lavender.png"); background-size:cover; background-position:center top; background-repeat:no-repeat; }
body.has-v2-nav:not(.v2-body) .mobile-header.settings-header::after,body.has-v2-nav:not(.v2-body) .page-header::after,body.checkin-v2-body .v2-page-header::after,body.cycle-v2-body .v2-page-header::after,body.insights-v2-body .v2-page-header::after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:42px; pointer-events:none; background:linear-gradient(180deg,transparent,rgba(246,240,244,.92)); }
body.has-v2-nav:not(.v2-body) .mobile-header.settings-header > *,body.has-v2-nav:not(.v2-body) .page-header > *,body.checkin-v2-body .v2-page-header > *,body.cycle-v2-body .v2-page-header > *,body.insights-v2-body .v2-page-header > * { position:relative; z-index:1; }
body.has-v2-nav:not(.v2-body) .mobile-header.settings-header .eyebrow,body.has-v2-nav:not(.v2-body) .page-header .eyebrow,body.checkin-v2-body .v2-page-kicker,body.cycle-v2-body .v2-page-kicker,body.insights-v2-body .v2-page-kicker { color:rgba(255,250,248,.9) !important; letter-spacing:.14em; }
body.has-v2-nav:not(.v2-body) .mobile-header.settings-header h1,body.has-v2-nav:not(.v2-body) .page-header h1,body.checkin-v2-body .v2-page-header h1,body.cycle-v2-body .v2-page-header h1,body.insights-v2-body .v2-page-header h1 { color:#fffaf8 !important; }
body.has-v2-nav:not(.v2-body) .mobile-header.settings-header .menu-trigger,body.has-v2-nav:not(.v2-body) .v2-page-home-button,body.checkin-v2-body .v2-page-home-button,body.cycle-v2-body .v2-page-home-button,body.insights-v2-body .v2-page-home-button { background:rgba(255,255,255,.22) !important; border-color:rgba(255,255,255,.42) !important; color:#fff !important; box-shadow:0 10px 24px rgba(83,69,96,.12) !important; backdrop-filter:blur(8px); }
body.has-v2-nav:not(.v2-body) .panel,body.has-v2-nav:not(.v2-body) .meal-card,body.has-v2-nav:not(.v2-body) .settings-section,body.checkin-v2-body .v2-section-card,body.cycle-v2-body .v2-section-card,body.insights-v2-body .v2-section-card { backdrop-filter:blur(8px); }
body.checkin-v2-body .v2-section-card-icon { width:48px; height:48px; object-fit:contain; flex:0 0 48px; }
body.checkin-v2-body .v2-section-card-icon--heart { filter:drop-shadow(0 4px 9px rgba(191,104,120,.12)); }
body.insights-v2-body .v2-section-card-icon { width:54px; height:54px; object-fit:contain; flex:0 0 54px; }
body.insights-v2-body .v2-section-card-icon--heart { filter:drop-shadow(0 4px 9px rgba(191,104,120,.12)); }
body.insights-v2-body .v2-section-label--insights-cycle { gap:1px; }
body.insights-v2-body .v2-section-label--insights-cycle .v2-section-icon { width:24px; height:22px; object-fit:contain; margin-right:-5px; }
body.nutrition-v2-body { color:var(--ink); }
body.nutrition-v2-body .eyebrow { color:var(--accent-strong) !important; }
body.nutrition-v2-body h1 { color:var(--ink) !important; }
body.nutrition-v2-body .panel,body.nutrition-v2-body .meal-card,body.nutrition-v2-body .tracker-panel { background:var(--panel) !important; border-color:var(--border) !important; box-shadow:var(--shadow) !important; }
body.nutrition-v2-body .date-panel { background:var(--panel) !important; }
body.nutrition-v2-body .date-current-chip,body.nutrition-v2-body .date-nav-button,body.nutrition-v2-body .secondary-button,body.nutrition-v2-body .chip-button,body.nutrition-v2-body .tab-button { background:#fff !important; border-color:rgba(43,49,46,.1) !important; color:var(--ink) !important; }
body.nutrition-v2-body .primary-button,body.nutrition-v2-body .meal-add-button,body.nutrition-v2-body .meal-toggle-icon { background:linear-gradient(135deg,var(--accent) 0%,#14735f 100%) !important; color:#fff !important; box-shadow:0 12px 28px rgba(15,140,120,.24) !important; }
body.nutrition-v2-body .meal-add-button,body.nutrition-v2-body .meal-toggle-icon { background:rgba(15,140,120,.12) !important; color:var(--accent-strong) !important; box-shadow:none !important; border:1px solid rgba(15,140,120,.12) !important; }
body.nutrition-v2-body .summary-total,body.nutrition-v2-body .pill { background:rgba(15,140,120,.12) !important; color:var(--accent-strong) !important; }
body.nutrition-v2-body .ring-card,body.nutrition-v2-body .section-ring-card,body.nutrition-v2-body .tracker-bar-card,body.nutrition-v2-body .entry-card,body.nutrition-v2-body .nutrition-grid div,body.nutrition-v2-body .existing-item-card,body.nutrition-v2-body .quick-drink-chip,body.nutrition-v2-body .quick-picker-option { background:rgba(255,255,255,.72) !important; border-color:rgba(43,49,46,.08) !important; }
body.nutrition-v2-body .quick-drink-chip.is-active,body.nutrition-v2-body .quick-picker-option.is-active { background:#fff !important; border-color:rgba(15,140,120,.24) !important; color:var(--accent-strong) !important; box-shadow:0 10px 22px rgba(37,45,40,.08) !important; }
body.hydration-v2-body .panel,body.hydration-v2-body .meal-card,body.hydration-v2-body .tracker-panel { background:var(--panel) !important; border-color:var(--border) !important; box-shadow:var(--shadow) !important; }
body.hydration-v2-body .date-panel { background:var(--panel) !important; }
body.hydration-v2-body .date-current-chip,body.hydration-v2-body .date-nav-button,body.hydration-v2-body .secondary-button,body.hydration-v2-body .chip-button,body.hydration-v2-body .tab-button { background:#fff !important; border-color:rgba(43,49,46,.1) !important; color:var(--ink) !important; }
body.hydration-v2-body .quick-drink-chip,body.hydration-v2-body .quick-picker-option { background:rgba(255,255,255,.72) !important; border-color:rgba(43,49,46,.08) !important; }
body.hydration-v2-body .quick-drink-chip.is-active,body.hydration-v2-body .quick-picker-option.is-active { background:#fff !important; border-color:rgba(15,140,120,.24) !important; color:var(--accent-strong) !important; box-shadow:0 10px 22px rgba(37,45,40,.08) !important; }
body.hydration-v2-body .quick-drink-strip,body.hydration-v2-body .quick-drink-picker { max-width:100%; overscroll-behavior-x:contain; overscroll-behavior-y:auto; -webkit-overflow-scrolling:touch; }
body.hydration-v2-body .hydration-meter { background:rgba(62,167,216,.14) !important; box-shadow:inset 0 0 0 1px rgba(62,167,216,.12) !important; }
body.hydration-v2-body .hydration-fill { background:linear-gradient(90deg,#73c2ea 0%,#4aaee0 100%) !important; }
body.hydration-v2-body .hydration-current { color:#18445b !important; }
body.hydration-v2-body .quick-drink-add-button { background:linear-gradient(180deg,#87c9ea 0%,#6fbde3 100%) !important; color:#fff !important; box-shadow:0 14px 28px rgba(62,167,216,.24) !important; }
body.hydration-v2-body .quick-drinks-panel { border-radius:24px !important; }
body.hydration-v2-body .hydration-entries-panel { display:grid; gap:10px; padding:12px !important; overflow:visible; border-radius:18px !important; }
body.hydration-v2-body .hydration-entries-heading { padding:0 6px; }
body.hydration-v2-body .hydration-entries-heading h2 { color:#5f4f5e; font-size:1rem; line-height:1.1; font-weight:900; }
body.hydration-v2-body .hydration-entries-heading p { margin-top:4px; color:#667884; font-size:.82rem; line-height:1.25; font-weight:750; }
body.hydration-v2-body .hydration-entry-list { display:grid; gap:0; margin:-1px -8px -8px; width:calc(100% + 16px); }
body.hydration-v2-body .hydration-empty-state { margin:0 14px 14px; }
body.hydration-v2-body .hydration-entry-row { display:grid; grid-template-columns:minmax(0,1fr) 118px; align-items:center; min-height:46px; background:#fcf8f5; border:1px solid rgba(62,167,216,.14); border-bottom:0; color:#405437; overflow:hidden; box-shadow:none; }
body.hydration-v2-body .hydration-entry-row:first-of-type { border-radius:18px 18px 0 0; }
body.hydration-v2-body .hydration-entry-row:last-of-type { border-bottom:1px solid rgba(62,167,216,.12); border-radius:0 0 18px 18px; }
body.hydration-v2-body .hydration-entry-row:first-of-type:last-of-type { border-radius:18px; }
body.hydration-v2-body .hydration-entry-copy { min-width:0; display:grid; grid-template-columns:28px minmax(0,1fr); align-items:center; column-gap:8px; padding:7px 8px 7px 12px; }
body.hydration-v2-body .hydration-entry-drink-icon { grid-row:1 / span 2; align-self:center; justify-self:center; box-sizing:border-box; display:flex; align-items:center; justify-content:center; width:28px; height:28px; padding:2px; border-radius:10px; background:rgba(255,255,255,.72); border:1px solid rgba(62,167,216,.12); font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif; font-size:1.02rem; line-height:1; text-align:center; box-shadow:0 4px 10px rgba(78,126,154,.08); }
body.hydration-v2-body .hydration-entry-drink-icon img { display:block; width:24px; height:24px; object-fit:contain; }
body.hydration-v2-body .hydration-entry-copy strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#405437; font-size:.86rem; line-height:1.05; }
body.hydration-v2-body .hydration-entry-copy > span:not(.hydration-entry-drink-icon) { display:block; margin-top:3px; color:#667884; font-size:.7rem; line-height:1; font-weight:800; }
body.hydration-v2-body .hydration-entry-actions { display:grid; grid-template-columns:1fr 1fr; gap:5px; align-items:center; padding:6px 8px 6px 0; }
body.hydration-v2-body .hydration-entry-delete-form { display:flex; justify-content:flex-end; min-width:0; padding:0; }
body.hydration-v2-body .hydration-entry-edit-button,
body.hydration-v2-body .hydration-entry-delete-button,
body.hydration-v2-body .hydration-entry-save-button,
body.hydration-v2-body .hydration-entry-cancel-button { min-height:34px; padding:4px 7px; border-radius:9px; background:rgba(255,255,255,.82); font:inherit; font-size:.76rem; font-weight:800; cursor:pointer; box-shadow:none; }
body.hydration-v2-body .hydration-entry-edit-button { border:1px solid rgba(62,167,216,.18); color:#346d86; }
body.hydration-v2-body .hydration-entry-delete-button { width:100%; border:1px solid rgba(176,77,67,.16); color:#b04d43; }
body.hydration-v2-body .hydration-entry-save-button { border:1px solid rgba(62,167,216,.22); background:#fff; color:#346d86; }
body.hydration-v2-body .hydration-entry-cancel-button { border:1px solid rgba(43,49,46,.08); color:#667884; }
body.hydration-v2-body .hydration-entry-edit-form { grid-column:1 / -1; display:none; grid-template-columns:minmax(0,1fr) 72px 52px 62px; gap:6px; align-items:end; padding:0 8px 8px 12px; border-top:1px solid rgba(62,167,216,.08); }
body.hydration-v2-body .hydration-entry-row.is-editing .hydration-entry-edit-form { display:grid; }
body.hydration-v2-body .hydration-entry-edit-form label { display:grid; gap:3px; min-width:0; color:#667884; font-size:.68rem; line-height:1; font-weight:850; }
body.hydration-v2-body .hydration-entry-edit-form input,body.hydration-v2-body .hydration-entry-edit-form select { width:100%; min-height:34px; height:34px; border:1px solid rgba(62,167,216,.14); border-radius:9px; background:#fff; color:#405437; font:inherit; font-size:.82rem; padding:4px 8px; }
body.hydration-v2-body .quick-drink-amount-control { display:grid; grid-template-columns:54px minmax(0,1fr) 54px; align-items:center; gap:8px; }
body.hydration-v2-body .quick-drink-amount-control > button { width:54px; height:54px; padding:0; border:1px solid rgba(62,167,216,.18); border-radius:14px; background:rgba(255,255,255,.86); color:#346d86; font:inherit; font-size:1.75rem; font-weight:700; line-height:1; cursor:pointer; }
body.hydration-v2-body .quick-drink-amount-field { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; min-height:54px; padding:0 14px; border:1px solid rgba(62,167,216,.18); border-radius:14px; background:#fff; color:#405437; }
body.hydration-v2-body .quick-drink-amount-field input { min-width:0; width:100%; border:0; outline:0; background:transparent; color:inherit; font:inherit; font-size:1.15rem; font-weight:850; text-align:center; }
body.hydration-v2-body .quick-drink-amount-field > span:last-child { color:#667884; font-size:.82rem; font-weight:850; }
body.hydration-v2-body .quick-drink-add-button { min-height:56px !important; gap:8px; border-radius:16px !important; }
body.hydration-v2-body .quick-drink-add-button span { font-size:1.55rem; }
body.hydration-v2-body .quick-drink-add-button strong { font-size:1rem; line-height:1; }
body.hydration-v2-body .quick-drink-add-button:disabled { opacity:.58; cursor:wait; transform:none; }
body.hydration-v2-body .hydration-entry-copy > span:not(.hydration-entry-drink-icon) { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hydration-settings-stack { display:grid; gap:0; }
.hydration-settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding-bottom:18px; }
.hydration-settings-group { display:grid; gap:12px; padding:18px 0; border-top:1px solid rgba(43,49,46,.1); }
.hydration-settings-heading { display:grid; gap:4px; }
.hydration-settings-heading h3 { color:#5f4f5e; font-size:1rem; line-height:1.15; }
.hydration-settings-heading p,.hydration-settings-note { color:var(--muted); font-size:.78rem; line-height:1.35; }
.hydration-priority-list,.hydration-contribution-list,.hydration-custom-grid { display:grid; gap:0; }
.hydration-priority-row { display:grid; grid-template-columns:36px minmax(0,1fr) auto 72px; align-items:center; gap:8px; min-height:54px; padding:6px 0; border-top:1px solid rgba(43,49,46,.07); }
.hydration-priority-row:first-child,.hydration-contribution-row:first-child,.hydration-custom-row:first-child { border-top:0; }
.hydration-settings-drink-icon { display:grid; place-items:center; width:34px; height:34px; }
.hydration-settings-drink-icon img { display:block; width:32px; height:32px; object-fit:contain; }
.hydration-priority-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink); font-size:.86rem; font-weight:850; }
.hydration-visibility-toggle { display:flex; align-items:center; gap:5px; color:var(--muted); font-size:.72rem; font-weight:800; }
.hydration-visibility-toggle input { width:17px; height:17px; margin:0; accent-color:#73b7d4; }
.hydration-priority-actions { display:grid; grid-template-columns:repeat(2,32px); gap:5px; }
.hydration-priority-actions button { display:grid; place-items:center; width:32px; height:32px; padding:0; border:1px solid rgba(62,167,216,.16); border-radius:9px; background:#fff; color:#346d86; font:inherit; font-size:1rem; font-weight:900; cursor:pointer; }
.hydration-priority-actions button:disabled { opacity:.28; cursor:default; }
.hydration-custom-row { display:grid; grid-template-columns:minmax(0,1fr) 128px; gap:10px; padding:10px 0; border-top:1px solid rgba(43,49,46,.07); }
.hydration-custom-row .field { min-width:0; }
.hydration-icon-picker-trigger { width:100%; min-height:49px; display:grid; grid-template-columns:35px minmax(0,1fr) 14px; align-items:center; gap:6px; padding:6px 8px; border:1px solid rgba(43,49,46,.12); border-radius:8px; background:#fffdf9; color:var(--ink); font:inherit; font-size:.76rem; font-weight:800; text-align:left; cursor:pointer; }
.hydration-icon-picker-trigger:focus-visible { outline:2px solid rgba(62,167,216,.34); outline-offset:2px; }
.hydration-icon-picker-preview { display:grid; place-items:center; width:35px; height:35px; }
.hydration-icon-picker-preview img { display:block; width:33px; height:33px; object-fit:contain; }
.hydration-icon-picker-chevron { color:#7c6977; font-size:1.45rem; line-height:1; text-align:right; }
.hydration-icon-picker-sheet { grid-template-rows:auto minmax(0,1fr) auto; gap:12px; overflow:hidden; }
.hydration-icon-picker-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; overflow:auto; }
.hydration-icon-picker-option { min-width:0; min-height:64px; display:grid; grid-template-columns:42px minmax(0,1fr) 20px; align-items:center; gap:9px; padding:8px 10px; border:1px solid rgba(62,167,216,.13); border-radius:12px; background:rgba(255,255,255,.76); color:#405437; font:inherit; font-size:.84rem; font-weight:850; text-align:left; cursor:pointer; }
.hydration-icon-picker-option img { display:block; width:40px; height:40px; object-fit:contain; }
.hydration-icon-picker-option.is-selected { background:#ebf7fb; border-color:rgba(62,167,216,.38); box-shadow:inset 0 0 0 1px rgba(62,167,216,.1); }
.hydration-icon-picker-check { color:#346d86; font-size:1.05rem; text-align:center; }
.goal-grid-save { grid-column:1 / -1; width:100%; }
.hydration-contribution-row { display:grid; grid-template-columns:36px minmax(0,1fr) minmax(150px,190px); align-items:center; gap:9px; min-height:54px; padding:7px 0; border-top:1px solid rgba(43,49,46,.07); color:var(--ink); font-size:.84rem; font-weight:850; }
.hydration-contribution-row select { min-width:0; width:100%; min-height:40px; padding:7px 28px 7px 9px; border:1px solid rgba(62,167,216,.14); border-radius:9px; background:#fff; color:#405437; font:inherit; font-size:.76rem; }
@media (max-width:560px) { .hydration-settings-grid { grid-template-columns:1fr; } .hydration-priority-row { grid-template-columns:34px minmax(0,1fr) auto 68px; gap:6px; } .hydration-priority-actions { grid-template-columns:repeat(2,30px); } .hydration-priority-actions button { width:30px; height:30px; } .hydration-custom-row { grid-template-columns:minmax(0,1fr) 124px; } .hydration-contribution-row { grid-template-columns:34px minmax(0,1fr) minmax(130px,150px); gap:6px; } .hydration-contribution-row select { font-size:.7rem; padding-left:7px; } .hydration-icon-picker-grid { grid-template-columns:1fr; } }
body.nutrition-v2-body .bottom-dock { background:linear-gradient(135deg,rgba(188,221,241,.94) 0%,rgba(151,201,231,.94) 100%) !important; border-color:rgba(114,162,194,.28) !important; box-shadow:0 18px 40px rgba(95,144,178,.24) !important; }
body.nutrition-v2-body .dock-button { background:rgba(255,255,255,.92) !important; color:var(--ink) !important; }
body.hydration-v2-body .bottom-dock { background:linear-gradient(135deg,rgba(188,221,241,.94) 0%,rgba(151,201,231,.94) 100%) !important; border-color:rgba(114,162,194,.28) !important; box-shadow:0 18px 40px rgba(95,144,178,.24) !important; }
body.hydration-v2-body .dock-button { background:rgba(255,255,255,.92) !important; color:var(--ink) !important; }
body.has-v2-nav:not(.v2-body) .mobile-header.settings-header .eyebrow,body.has-v2-nav:not(.v2-body) .page-header .eyebrow { color:rgba(255,250,248,.9) !important; }
body.has-v2-nav:not(.v2-body) .mobile-header.settings-header h1,body.has-v2-nav:not(.v2-body) .page-header h1 { color:#fffaf8 !important; }
body.has-v2-nav:not(.v2-body) .mobile-header.settings-header .subtle,body.has-v2-nav:not(.v2-body) .page-header .subtle { color:rgba(255,250,248,.82) !important; }
body.has-v2-nav:not(.v2-body)::before,body.checkin-v2-body::before,body.cycle-v2-body::before,body.insights-v2-body::before { height:166px !important; background-image:linear-gradient(180deg,rgba(173,170,207,.06),rgba(246,240,244,.18)),url("../images/header-cloud-sparkle-lavender.png") !important; background-size:cover !important; background-position:center top !important; background-repeat:no-repeat !important; }
body.has-v2-nav:not(.v2-body)::after,body.checkin-v2-body::after,body.cycle-v2-body::after,body.insights-v2-body::after { background:linear-gradient(180deg,rgba(170,168,206,.08) 0%,rgba(246,240,244,.18) 20%,rgba(251,248,244,.58) 58%,rgba(238,228,240,.42) 100%),radial-gradient(ellipse at 18% 92%,rgba(206,188,217,.32) 0 13%,transparent 36%),radial-gradient(ellipse at 80% 84%,rgba(224,196,188,.3) 0 14%,transparent 38%) !important; }
body.has-v2-nav:not(.v2-body) .mobile-header.settings-header,body.has-v2-nav:not(.v2-body) .page-header,body.checkin-v2-body .v2-page-header,body.cycle-v2-body .v2-page-header,body.insights-v2-body .v2-page-header { display:grid !important; grid-template-columns:1fr !important; justify-items:stretch !important; text-align:center !important; min-height:72px !important; margin:-20px -16px -10px !important; padding:12px 16px 0 !important; border-radius:0 !important; background:transparent !important; overflow:visible !important; text-shadow:none !important; }
body.has-v2-nav:not(.v2-body) .mobile-header.settings-header::before,body.has-v2-nav:not(.v2-body) .page-header::before,body.checkin-v2-body .v2-page-header::before,body.cycle-v2-body .v2-page-header::before,body.insights-v2-body .v2-page-header::before { display:none !important; content:none !important; background-image:none !important; }
body.has-v2-nav:not(.v2-body) .mobile-header.settings-header::after,body.has-v2-nav:not(.v2-body) .page-header::after,body.checkin-v2-body .v2-page-header::after,body.cycle-v2-body .v2-page-header::after,body.insights-v2-body .v2-page-header::after { display:none !important; content:none !important; background:none !important; }
body.has-v2-nav:not(.v2-body) .mobile-header.settings-header .menu-trigger,body.has-v2-nav:not(.v2-body) .page-header .menu-trigger,body.has-v2-nav:not(.v2-body) .v2-page-home-button,body.checkin-v2-body .v2-page-home-button,body.cycle-v2-body .v2-page-home-button,body.insights-v2-body .v2-page-home-button { display:none !important; }
body.has-v2-nav:not(.v2-body) .mobile-header.settings-header > div,body.has-v2-nav:not(.v2-body) .page-header > div,body.checkin-v2-body .v2-page-header > div,body.cycle-v2-body .v2-page-header > div,body.insights-v2-body .v2-page-header > div { position:relative !important; width:100% !important; display:grid !important; grid-template-columns:1fr !important; align-items:start !important; justify-items:center !important; max-width:100% !important; }
body.has-v2-nav:not(.v2-body) .mobile-header.settings-header .eyebrow,body.has-v2-nav:not(.v2-body) .page-header .eyebrow,body.checkin-v2-body .v2-page-header .v2-page-kicker,body.cycle-v2-body .v2-page-header .v2-page-kicker,body.insights-v2-body .v2-page-header .v2-page-kicker { position:absolute !important; left:0 !important; top:3px !important; transform:none !important; width:clamp(84px,25vw,118px) !important; height:28px !important; margin:0 !important; overflow:visible !important; color:transparent !important; font-size:0 !important; line-height:0 !important; letter-spacing:0 !important; text-indent:-9999px !important; background:transparent url("../images/welluna-header-logo-inline-health-tm.png") left center/contain no-repeat !important; filter:drop-shadow(0 4px 9px rgba(74,64,92,.16)); }
body.checkin-v2-body .v2-section-card .v2-page-kicker,body.cycle-v2-body .v2-section-card .v2-page-kicker,body.insights-v2-body .v2-section-card .v2-page-kicker { width:auto !important; height:auto !important; margin:0 0 6px !important; overflow:visible !important; color:#9d7b70 !important; font-size:.72rem !important; line-height:1.2 !important; letter-spacing:.16em !important; text-indent:0 !important; background:none !important; filter:none !important; }
body.has-v2-nav:not(.v2-body) .mobile-header.settings-header h1,body.has-v2-nav:not(.v2-body) .page-header h1,body.checkin-v2-body .v2-page-header h1,body.cycle-v2-body .v2-page-header h1,body.insights-v2-body .v2-page-header h1 { justify-self:center !important; align-self:start !important; margin:16px 0 0 !important; color:#725f72 !important; font-size:clamp(1.28rem,5.4vw,1.72rem) !important; line-height:1.05 !important; text-align:center !important; text-shadow:0 1px 9px rgba(255,255,255,.38) !important; transform:none !important; }
body.has-v2-nav:not(.v2-body) .mobile-header.settings-header p:not(.eyebrow),body.has-v2-nav:not(.v2-body) .page-header .subtle,body.checkin-v2-body .v2-page-header p:not(.v2-page-kicker),body.cycle-v2-body .v2-page-header p:not(.v2-page-kicker),body.insights-v2-body .v2-page-header p:not(.v2-page-kicker) { display:none !important; }
body.has-v2-nav:not(.v2-body) .date-panel + .panel,body.has-v2-nav:not(.v2-body) .date-panel + .section-stack,body.checkin-v2-body .v2-date-panel + .v2-section-card,body.cycle-v2-body .v2-date-panel + .v2-section-card,body.insights-v2-body .v2-date-panel + .v2-section-card { margin-top:-4px !important; }
/* Non-home headers: use a centered icon + title lockup and suppress the old mini-logo treatment. */
body.has-v2-nav:not(.v2-body) .mobile-header.settings-header,
body.has-v2-nav:not(.v2-body) .page-header,
body.checkin-v2-body .v2-page-header,
body.cycle-v2-body .v2-page-header,
body.insights-v2-body .v2-page-header {
    --page-header-icon:none;
    --page-header-icon-size:contain;
    --page-header-icon-offset:7px;
    display:grid !important;
    grid-template-columns:48px minmax(0,1fr) 48px !important;
    justify-items:stretch !important;
    align-items:center !important;
    column-gap:0 !important;
    text-align:center !important;
}
body.has-v2-nav:not(.v2-body) .mobile-header.settings-header::before,
body.has-v2-nav:not(.v2-body) .page-header::before,
body.checkin-v2-body .v2-page-header::before,
body.cycle-v2-body .v2-page-header::before,
body.insights-v2-body .v2-page-header::before {
    content:"" !important;
    display:block !important;
    width:48px !important;
    height:48px !important;
    grid-column:1 !important;
    position:relative !important;
    inset:auto !important;
    background:none !important;
}
body.has-v2-nav:not(.v2-body) .mobile-header.settings-header > div,
body.has-v2-nav:not(.v2-body) .page-header > div,
body.checkin-v2-body .v2-page-header > div,
body.cycle-v2-body .v2-page-header > div,
body.insights-v2-body .v2-page-header > div {
    position:relative !important;
    grid-column:2 !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-items:center !important;
    align-items:start !important;
    align-content:start !important;
}
body.has-v2-nav:not(.v2-body) .mobile-header.settings-header .menu-trigger,
body.has-v2-nav:not(.v2-body) .page-header .menu-trigger,
body.has-v2-nav:not(.v2-body) .v2-page-home-button,
body.checkin-v2-body .v2-page-home-button,
body.cycle-v2-body .v2-page-home-button,
body.insights-v2-body .v2-page-home-button {
    display:none !important;
}
body.has-v2-nav:not(.v2-body) .mobile-header.settings-header .eyebrow,
body.has-v2-nav:not(.v2-body) .page-header .eyebrow,
body.checkin-v2-body .v2-page-header .v2-page-kicker,
body.cycle-v2-body .v2-page-header .v2-page-kicker,
body.insights-v2-body .v2-page-header .v2-page-kicker {
    display:none !important;
    position:static !important;
    left:auto !important;
    top:auto !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    overflow:hidden !important;
    color:transparent !important;
    font-size:0 !important;
    line-height:0 !important;
    letter-spacing:-.035em !important;
    text-indent:0 !important;
    background:none !important;
    filter:none !important;
}
body.has-v2-nav:not(.v2-body) .mobile-header.settings-header h1,
body.has-v2-nav:not(.v2-body) .page-header h1,
body.checkin-v2-body .v2-page-header h1,
body.cycle-v2-body .v2-page-header h1,
body.insights-v2-body .v2-page-header h1 {
    display:block !important;
    justify-self:center !important;
    margin:8px auto 0 !important;
    width:100% !important;
    max-width:none !important;
    color:#564a54 !important;
    font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif !important;
    font-size:clamp(1.42rem,4.55vw,1.82rem) !important;
    font-weight:400 !important;
    line-height:1.05 !important;
    letter-spacing:-.045em !important;
    text-align:center !important;
    text-shadow:0 0 10px rgba(255,255,255,.54), 0 1px 3px rgba(255,255,255,.3) !important;
    transform:none !important;
}
body.has-v2-nav:not(.v2-body) .mobile-header.settings-header h1::before,
body.has-v2-nav:not(.v2-body) .page-header h1::before,
body.checkin-v2-body .v2-page-header h1::before,
body.cycle-v2-body .v2-page-header h1::before,
body.insights-v2-body .v2-page-header h1::before {
    display:none !important;
    content:none !important;
}
body.has-v2-nav:not(.v2-body) .mobile-header.settings-header h1 > span,
body.has-v2-nav:not(.v2-body) .page-header h1 > span,
body.checkin-v2-body .v2-page-header h1 > span,
body.cycle-v2-body .v2-page-header h1 > span,
body.insights-v2-body .v2-page-header h1 > span {
    position:relative !important;
    display:inline-block !important;
    max-width:100% !important;
}
body.has-v2-nav:not(.v2-body) .mobile-header.settings-header h1 > span.page-title-text::before,
body.has-v2-nav:not(.v2-body) .page-header h1 > span.page-title-text::before,
body.checkin-v2-body .v2-page-header h1 > span.page-title-text::before,
body.cycle-v2-body .v2-page-header h1 > span.page-title-text::before,
body.insights-v2-body .v2-page-header h1 > span.page-title-text::before {
    display:none !important;
    content:none !important;
}
body.has-v2-nav:not(.v2-body) .page-title-inline-icon,
body.checkin-v2-body .page-title-inline-icon,
body.cycle-v2-body .page-title-inline-icon,
body.insights-v2-body .page-title-inline-icon {
    position:absolute !important;
    right:100% !important;
    top:50% !important;
    display:block !important;
    width:30px !important;
    height:30px !important;
    object-fit:contain !important;
    transform:translate(-7px,-50%) !important;
    filter:drop-shadow(0 0 4px rgba(255,255,255,.96)) drop-shadow(0 0 11px rgba(255,255,255,.86)) drop-shadow(0 0 19px rgba(255,255,255,.58)) drop-shadow(0 4px 10px rgba(65,88,52,.16)) !important;
    pointer-events:none !important;
}
body.has-v2-nav:not(.v2-body) .page-title-inline-icon--nutrition,
body.checkin-v2-body .page-title-inline-icon--nutrition,
body.cycle-v2-body .page-title-inline-icon--nutrition,
body.insights-v2-body .page-title-inline-icon--nutrition {
    width:31px !important;
    height:31px !important;
}
body.has-v2-nav:not(.v2-body) .page-title-inline-icon--hydration,
body.checkin-v2-body .page-title-inline-icon--hydration,
body.cycle-v2-body .page-title-inline-icon--hydration,
body.insights-v2-body .page-title-inline-icon--hydration {
    width:24px !important;
    height:32px !important;
}
body.has-v2-nav:not(.v2-body) .page-title-inline-icon--add,
body.checkin-v2-body .page-title-inline-icon--add,
body.cycle-v2-body .page-title-inline-icon--add,
body.insights-v2-body .page-title-inline-icon--add {
    width:24px !important;
    height:24px !important;
    transform:translate(-8px,-50%) !important;
}
body.has-v2-nav:not(.v2-body) .page-title-inline-icon--settings,
body.checkin-v2-body .page-title-inline-icon--settings,
body.cycle-v2-body .page-title-inline-icon--settings,
body.insights-v2-body .page-title-inline-icon--settings {
    width:30px !important;
    height:30px !important;
    object-fit:contain !important;
    transform:translate(-8px,-50%) !important;
}
body.checkin-v2-body .page-title-inline-icon--daily-checkin,
body.cycle-v2-body .page-title-inline-icon--daily-checkin,
body.insights-v2-body .page-title-inline-icon--daily-checkin {
    width:30px !important;
    height:30px !important;
    object-fit:contain !important;
    transform:translate(-8px,-50%) !important;
}
body.checkin-v2-body .page-title-inline-icon--cycle-tracking,
body.cycle-v2-body .page-title-inline-icon--cycle-tracking,
body.insights-v2-body .page-title-inline-icon--cycle-tracking {
    width:28px !important;
    height:28px !important;
    object-fit:contain !important;
    transform:translate(-8px,-50%) !important;
}
body.checkin-v2-body .page-title-inline-icon--daily-rituals,
body.cycle-v2-body .page-title-inline-icon--daily-rituals,
body.insights-v2-body .page-title-inline-icon--daily-rituals {
    width:28px !important;
    height:28px !important;
    object-fit:contain !important;
    transform:translate(-8px,-50%) !important;
}
body.checkin-v2-body .page-title-inline-icon--movement,
body.cycle-v2-body .page-title-inline-icon--movement,
body.insights-v2-body .page-title-inline-icon--movement {
    width:31px !important;
    height:31px !important;
    object-fit:contain !important;
    transform:translate(-8px,-50%) !important;
}
body.checkin-v2-body .page-title-inline-icon--insights,
body.cycle-v2-body .page-title-inline-icon--insights,
body.insights-v2-body .page-title-inline-icon--insights {
    width:27px !important;
    height:27px !important;
    object-fit:contain !important;
    transform:translate(-8px,-50%) !important;
}
body.has-v2-nav:not(.v2-body) .mobile-header.settings-header h1 > span::before,
body.has-v2-nav:not(.v2-body) .page-header h1 > span::before,
body.checkin-v2-body .v2-page-header h1 > span::before,
body.cycle-v2-body .v2-page-header h1 > span::before,
body.insights-v2-body .v2-page-header h1 > span::before {
    content:"" !important;
    display:block !important;
    position:absolute !important;
    top:50% !important;
    left:0 !important;
    width:34px !important;
    height:34px !important;
    margin:0 !important;
    background-color:transparent !important;
    background-image:var(--page-header-icon) !important;
    background-position:center !important;
    background-repeat:no-repeat !important;
    background-size:var(--page-header-icon-size) !important;
    transform:translate(calc(-100% - var(--page-header-icon-offset)), -50%) !important;
    filter:drop-shadow(0 0 4px rgba(255,255,255,.96)) drop-shadow(0 0 11px rgba(255,255,255,.86)) drop-shadow(0 0 19px rgba(255,255,255,.58)) drop-shadow(0 4px 10px rgba(65,88,52,.16)) !important;
    pointer-events:none !important;
}
body.has-v2-nav:not(.v2-body) .mobile-header.settings-header p:not(.eyebrow),
body.has-v2-nav:not(.v2-body) .page-header .subtle,
body.checkin-v2-body .v2-page-header p:not(.v2-page-kicker),
body.cycle-v2-body .v2-page-header p:not(.v2-page-kicker),
body.insights-v2-body .v2-page-header p:not(.v2-page-kicker) {
    display:none !important;
}
body.has-v2-nav:not(.v2-body) .settings-header--nutrition { --page-header-icon:url("../icons/nutrition-apple.png"); --page-header-icon-size:31px 31px; --page-header-icon-offset:8px; }
body.has-v2-nav:not(.v2-body) .settings-header--add { --page-header-icon:url("../icons/plus.svg"); --page-header-icon-size:24px 24px; --page-header-icon-offset:8px; }
body.has-v2-nav:not(.v2-body) .settings-header--settings { --page-header-icon:var(--profile-aura,url("../icons/Auras/Aura-1.png")); --page-header-icon-size:30px 30px; --page-header-icon-offset:8px; }
body.has-v2-nav:not(.v2-body) .settings-header--admin { --page-header-icon:url("../icons/crown-gold.svg"); }
body.has-v2-nav:not(.v2-body) .settings-header--affirmations { --page-header-icon:url("../icons/crown-gold.svg"); }
body.has-v2-nav:not(.v2-body) .settings-header--review { --page-header-icon:url("../icons/barcode.svg"); }
body.has-v2-nav:not(.v2-body) .settings-header--users { --page-header-icon:var(--profile-aura,url("../icons/Auras/Aura-1.png")); }
body.has-v2-nav:not(.v2-body) .page-header--menu { --page-header-icon:url("../icons/sparkle-four.svg"); --page-header-icon-size:27px 27px; --page-header-icon-offset:8px; }
body.checkin-v2-body .v2-page-header--daily-checkin { --page-header-icon:url("../icons/heart.svg"); --page-header-icon-size:30px 30px; --page-header-icon-offset:8px; }
body.cycle-v2-body .v2-page-header--cycle-tracking { --page-header-icon:url("../icons/cycle-moon.svg"); --page-header-icon-size:28px 28px; --page-header-icon-offset:8px; }
body.insights-v2-body .v2-page-header--movement { --page-header-icon:url("../icons/yoga-person-blue.svg"); --page-header-icon-size:31px 31px; --page-header-icon-offset:8px; }
body.insights-v2-body .v2-page-header--daily-rituals { --page-header-icon:url("../icons/candle.svg"); --page-header-icon-size:28px 28px; --page-header-icon-offset:8px; }
body.insights-v2-body .v2-page-header--insights { --page-header-icon:url("../icons/sparkle-four.svg"); --page-header-icon-size:27px 27px; --page-header-icon-offset:8px; }
body.checkin-v2-body .v2-page-header--daily-checkin h1 > span::before,
body.insights-v2-body .v2-page-header--movement h1 > span::before,
body.insights-v2-body .v2-page-header--insights h1 > span::before {
    display:none !important;
    content:none !important;
}
body.checkin-v2-body .v2-page-header--daily-checkin .page-title-text,
body.insights-v2-body .v2-page-header--movement .page-title-text,
body.insights-v2-body .v2-page-header--insights .page-title-text {
    display:grid !important;
    justify-items:center !important;
    align-items:center !important;
    gap:5px !important;
}
body.checkin-v2-body .v2-page-header--daily-checkin .page-title-inline-icon,
body.insights-v2-body .v2-page-header--movement .page-title-inline-icon,
body.insights-v2-body .v2-page-header--insights .page-title-inline-icon {
    position:static !important;
    right:auto !important;
    top:auto !important;
    display:block !important;
    margin:0 auto !important;
    transform:none !important;
}
body.checkin-v2-body .v2-page-header--daily-checkin h1,
body.insights-v2-body .v2-page-header--movement h1,
body.insights-v2-body .v2-page-header--insights h1 {
    margin-top:4px !important;
}
body.has-v2-nav:not(.v2-body) .settings-header--settings {
    display:grid !important;
    grid-template-columns:48px minmax(0,1fr) 48px !important;
    align-items:center !important;
    text-align:center !important;
}
body.has-v2-nav:not(.v2-body) .settings-header--settings > div {
    grid-column:2 !important;
    display:grid !important;
    justify-items:center !important;
    width:100% !important;
    min-width:0 !important;
}
body.has-v2-nav:not(.v2-body) .settings-header--settings .menu-trigger {
    grid-column:3 !important;
    justify-self:end !important;
}
body.has-v2-nav:not(.v2-body) .settings-header--settings .page-title-text {
    display:grid !important;
    justify-items:center !important;
    align-items:center !important;
    gap:5px !important;
}
body.has-v2-nav:not(.v2-body) .settings-header--settings .page-title-inline-icon--settings {
    position:static !important;
    display:block !important;
    margin:0 auto !important;
    transform:none !important;
    object-fit:contain !important;
    filter:drop-shadow(0 0 4px rgba(255,255,255,.96)) drop-shadow(0 0 11px rgba(255,255,255,.86)) drop-shadow(0 0 19px rgba(255,255,255,.58)) drop-shadow(0 4px 10px rgba(65,88,52,.16)) !important;
}
body.has-v2-nav:not(.v2-body) .settings-header--settings .page-title-inline-icon--settings {
    width:32px !important;
    height:32px !important;
}
body.has-v2-nav:not(.v2-body) .settings-header--settings h1 {
    margin-top:4px !important;
}
body.rituals-v2-body .v2-rituals-card { gap:12px; padding:18px 0 0 !important; border-radius:20px; overflow:hidden; }
body.rituals-v2-body .v2-rituals-card > .v2-section-card-heading { padding:0 18px; }
body.rituals-v2-body .v2-ritual-list { display:grid; gap:0; width:100%; margin:0; }
body.rituals-v2-body .v2-ritual-item { display:grid; grid-template-columns:44px minmax(0,1fr); gap:10px; align-items:start; min-height:64px; padding:10px 12px; border-radius:0; background:#fcf8f5; border:1px solid rgba(159,113,68,.14); border-bottom:0; color:#5f4f5e; overflow:hidden; box-shadow:none; }
body.rituals-v2-body .v2-ritual-item:first-of-type { border-radius:18px 18px 0 0; }
body.rituals-v2-body .v2-ritual-item:last-of-type { border-bottom:1px solid rgba(159,113,68,.14); border-radius:0 0 18px 18px; }
body.rituals-v2-body .v2-ritual-item:first-of-type:last-of-type { border-radius:18px; }
body.rituals-v2-body .v2-ritual-item.is-complete { background:rgba(255,250,238,.92); }
body.rituals-v2-body .v2-ritual-toggle-form { align-self:center; }
body.rituals-v2-body .v2-ritual-check { width:38px; height:38px; border:1px solid rgba(215,163,111,.24); border-radius:13px; background:rgba(255,255,255,.86); color:#d7a36f; font-size:1.25rem; font-weight:900; cursor:pointer; box-shadow:inset 0 1px 0 rgba(255,255,255,.8); }
body.rituals-v2-body .v2-ritual-item.is-complete .v2-ritual-check { background:linear-gradient(135deg,#e4b282 0%,#d08c68 100%); border-color:transparent; color:#fff; box-shadow:0 8px 18px rgba(208,140,104,.18); }
body.rituals-v2-body .v2-ritual-item details { min-width:0; align-self:center; }
body.rituals-v2-body .v2-ritual-item summary { list-style:none; display:grid; grid-template-columns:minmax(0,1fr) 16px; grid-template-rows:auto auto; align-items:center; gap:3px 8px; min-height:44px; cursor:pointer; }
body.rituals-v2-body .v2-ritual-item summary::after { content:"›"; grid-column:2; grid-row:1 / span 2; align-self:center; justify-self:center; color:#9f7144; font-size:1.55rem; line-height:1; transform:translateY(-1px); }
body.rituals-v2-body .v2-ritual-item details[open] summary::after { transform:rotate(90deg); }
body.rituals-v2-body .v2-ritual-item summary::-webkit-details-marker { display:none; }
body.rituals-v2-body .v2-ritual-item summary strong { grid-column:1; grid-row:1; display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#5f4f5e; font-size:.94rem; line-height:1.1; }
body.rituals-v2-body .v2-ritual-item summary span { grid-column:1; grid-row:2; display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#7c6b73; font-size:.78rem; line-height:1.15; font-weight:700; }
body.rituals-v2-body .v2-ritual-edit-form { width:calc(100% + 54px); margin:8px 0 0 -54px; padding:10px 0 2px; border-top:1px solid rgba(159,113,68,.1); }
body.rituals-v2-body .v2-ritual-edit-form .field { gap:5px; color:#7c6b73; font-size:.82rem; font-weight:800; }
body.rituals-v2-body .v2-ritual-edit-form .field input { min-height:42px; padding:9px 11px; border-radius:12px; border-color:rgba(159,113,68,.14); background:rgba(255,255,255,.82); }
body.rituals-v2-body .v2-ritual-edit-form .scan-action-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:4px; gap:8px; }
body.rituals-v2-body .v2-ritual-edit-form .secondary-button,
body.rituals-v2-body .v2-ritual-edit-form .text-button,
body.rituals-v2-body .v2-section-card .primary-button { min-height:42px; padding:9px 12px; border-radius:12px; font-size:.88rem; font-weight:850; box-shadow:none; }
body.rituals-v2-body .v2-ritual-edit-form .secondary-button,
body.rituals-v2-body .v2-section-card .primary-button { background:linear-gradient(135deg,#e4b282 0%,#d08c68 100%) !important; color:#fff !important; border:0 !important; box-shadow:0 10px 22px rgba(208,140,104,.2) !important; }
body.rituals-v2-body .v2-ritual-edit-form .text-button { display:grid; place-items:center; background:rgba(255,255,255,.82); border:1px solid rgba(176,77,67,.16); color:#b04d43; }
body.movement-v2-body .v2-section-card .primary-button,
body.movement-v2-body .movement-entry-save-button { background:linear-gradient(135deg,#8db2cf 0%,#6f8faf 100%) !important; color:#fff !important; border:0 !important; box-shadow:0 10px 22px rgba(111,143,175,.22) !important; }
body.movement-v2-body .v2-movement-shell { box-sizing:border-box; justify-items:stretch; }
body.movement-v2-body .v2-movement-shell > .v2-date-panel,
body.movement-v2-body .v2-movement-shell > .v2-section-card { box-sizing:border-box; width:100%; max-width:none; margin-left:0; margin-right:0; }
body.movement-v2-body .movement-total-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
body.movement-v2-body .movement-total-grid div { display:grid; place-items:center; gap:4px; min-height:68px; padding:9px 6px; border-radius:14px; background:rgba(255,255,255,.66); border:1px solid rgba(111,143,175,.12); }
body.movement-v2-body .movement-total-grid span { color:#65778a; font-size:.72rem; line-height:1; font-weight:850; }
body.movement-v2-body .movement-total-grid strong { color:#506d8d; font-size:1.05rem; line-height:1; }
body.movement-v2-body .v2-movement-add-card { overflow:hidden; }
body.movement-v2-body .movement-entry-form,
body.movement-v2-body .movement-entry-edit-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; }
body.movement-v2-body .movement-entry-form .field,
body.movement-v2-body .movement-entry-edit-form .field { min-width:0; min-height:48px; margin:0; padding:7px 9px; border:1px solid rgba(111,143,175,.13); border-bottom:0; background:#fcf8f5; box-shadow:none; }
body.movement-v2-body .movement-entry-form .field:nth-of-type(1) { border-radius:18px 0 0 0; }
body.movement-v2-body .movement-entry-form .field:nth-of-type(2) { border-radius:0 18px 0 0; border-left:0; }
body.movement-v2-body .movement-entry-form .field:nth-of-type(4),
body.movement-v2-body .movement-entry-edit-form .field:nth-of-type(4) { border-left:0; }
body.movement-v2-body .movement-entry-form-notes,
body.movement-v2-body .movement-entry-form .primary-button,
body.movement-v2-body .movement-entry-edit-form .movement-entry-form-notes,
body.movement-v2-body .movement-entry-edit-form .movement-entry-actions { grid-column:1 / -1; }
body.movement-v2-body .movement-entry-form-notes { border-left:1px solid rgba(111,143,175,.13) !important; border-bottom:1px solid rgba(111,143,175,.13) !important; border-radius:0 0 18px 18px; }
body.movement-v2-body .movement-entry-form .primary-button { min-height:44px; margin-top:10px; border-radius:12px; font-weight:850; }
body.movement-v2-body .movement-entry-form .field span,
body.movement-v2-body .movement-entry-edit-form .field span { color:#506d8d; font-size:.76rem; line-height:1; font-weight:900; }
body.movement-v2-body .movement-entry-form .field input,
body.movement-v2-body .movement-entry-form .field select,
body.movement-v2-body .movement-entry-edit-form .field input,
body.movement-v2-body .movement-entry-edit-form .field select { min-height:34px; height:34px; padding:4px 8px; border-radius:9px; border-color:rgba(111,143,175,.13); background:rgba(255,255,255,.82); color:#405164; font-size:.84rem; box-shadow:none; }
body.movement-v2-body .v2-movement-entries-card { border-radius:20px; overflow:hidden; }
body.movement-v2-body .movement-entries-heading { padding:0 6px; }
body.movement-v2-body .movement-entry-list { display:grid; gap:0; margin:-1px -18px -18px; width:calc(100% + 36px); }
body.movement-v2-body .movement-empty-state { margin:0 18px 18px; }
body.movement-v2-body .movement-entry-row { border-radius:0; background:#fcf8f5; border:1px solid rgba(111,143,175,.14); border-bottom:0; color:#405164; overflow:hidden; box-shadow:none; }
body.movement-v2-body .movement-entry-row:first-of-type { border-radius:18px 18px 0 0; }
body.movement-v2-body .movement-entry-row:last-of-type { border-bottom:1px solid rgba(111,143,175,.14); border-radius:0 0 18px 18px; }
body.movement-v2-body .movement-entry-row:first-of-type:last-of-type { border-radius:18px; }
body.movement-v2-body .movement-entry-row > summary { list-style:none; display:grid; grid-template-columns:minmax(0,1fr) 56px 16px; align-items:center; gap:8px; min-height:54px; padding:8px 10px 8px 12px; cursor:pointer; }
body.movement-v2-body .movement-entry-row > summary::-webkit-details-marker { display:none; }
body.movement-v2-body .movement-entry-copy { min-width:0; }
body.movement-v2-body .movement-entry-copy strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#405164; font-size:.9rem; line-height:1.05; }
body.movement-v2-body .movement-entry-copy span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-top:3px; color:#65778a; font-size:.68rem; line-height:1; font-weight:800; }
body.movement-v2-body .movement-entry-minutes { justify-self:end; color:#506d8d; font-size:.78rem; line-height:1; font-weight:900; white-space:nowrap; }
body.movement-v2-body .movement-entry-chevron { justify-self:center; color:#6f8faf; font-size:1.5rem; line-height:1; transform:translateY(-1px); }
body.movement-v2-body .movement-entry-row[open] .movement-entry-chevron { transform:rotate(90deg); }
body.movement-v2-body .movement-entry-drawer { display:grid; gap:9px; padding:0 10px 10px; border-top:1px solid rgba(111,143,175,.08); }
body.movement-v2-body .movement-entry-note { margin:9px 2px 0; color:#65778a; font-size:.84rem; line-height:1.3; font-weight:700; }
body.movement-v2-body .movement-entry-edit-form { margin-top:9px; }
body.movement-v2-body .movement-entry-edit-form .field:nth-of-type(1) { border-radius:14px 0 0 0; }
body.movement-v2-body .movement-entry-edit-form .field:nth-of-type(2) { border-radius:0 14px 0 0; border-left:0; }
body.movement-v2-body .movement-entry-edit-form .movement-entry-form-notes { border-bottom:1px solid rgba(111,143,175,.13); border-radius:0 0 14px 14px; }
body.movement-v2-body .movement-entry-actions { display:grid; margin-top:9px; }
body.movement-v2-body .movement-entry-save-button,
body.movement-v2-body .movement-entry-delete-button { min-height:38px; padding:8px 10px; border-radius:10px; font:inherit; font-size:.82rem; font-weight:850; cursor:pointer; }
body.movement-v2-body .movement-entry-delete-form { display:grid; }
body.movement-v2-body .movement-entry-delete-button { background:rgba(255,255,255,.86); border:1px solid rgba(176,77,67,.16); color:#b04d43; box-shadow:none; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-hero { text-align:left; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-page-header > div { justify-self:center !important; width:min(100%,320px) !important; max-width:320px !important; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-page-header p:not(.v2-page-kicker) { justify-self:center !important; width:min(100%,300px) !important; max-width:300px !important; white-space:normal !important; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-hero h2 { color:#5f4f5e; font-size:1.34rem; line-height:1.12; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-hero p:not(.v2-page-kicker) { margin-top:8px; color:#766774; line-height:1.38; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-insights-shell { box-sizing:border-box; justify-items:stretch; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-insights-shell > .v2-section-card,
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-grid,
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-card { width:100%; max-width:none; margin-left:0; margin-right:0; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-hero { position:relative; gap:12px; padding:16px; overflow:hidden; border:1px solid rgba(201,157,58,.2) !important; background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(255,240,184,.68)) !important; box-shadow:0 15px 34px rgba(151,119,43,.13),inset 0 1px 0 rgba(255,255,255,.9) !important; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-hero-heading { display:grid; grid-template-columns:42px minmax(0,1fr); align-items:start; gap:11px; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-hero-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.78); border:1px solid rgba(201,157,58,.2); box-shadow:0 7px 16px rgba(151,119,43,.12),inset 0 0 0 3px rgba(255,249,227,.7); }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-hero-icon img { display:block; width:25px; height:25px; object-fit:contain; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-hero-heading .v2-page-kicker { margin-bottom:4px; color:#a77c27 !important; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-hero-heading p:not(.v2-page-kicker) { margin-top:5px; font-size:.86rem; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-hero-summary { margin:0 !important; padding:10px 12px; border-left:3px solid rgba(191,143,42,.62); border-radius:8px; background:rgba(255,255,255,.58); color:#74612f !important; font-size:.8rem; line-height:1.34; font-weight:800; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-range-controls { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-top:14px; border:1px solid rgba(132,106,149,.16); border-radius:14px; overflow:hidden; background:rgba(255,255,255,.5); }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-range-button { display:grid; place-items:center; min-height:38px; padding:8px 10px; color:#7c6b73; font-size:.82rem; line-height:1; font-weight:900; text-decoration:none; background:rgba(255,255,255,.38); }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) button.v2-trend-range-button { width:100%; border:0; font-family:inherit; cursor:pointer; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-range-button + .v2-trend-range-button { border-left:1px solid rgba(132,106,149,.12); }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-range-button.is-active { color:#5f4f5e; background:rgba(255,255,255,.9); box-shadow:inset 0 3px 0 #a991bd; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-grid { display:grid; gap:12px; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-card { gap:12px; padding:14px; overflow:hidden; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-card.is-updating { opacity:.62; pointer-events:none; transition:opacity 140ms ease; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-card-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:12px; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-card-heading h2 { color:#5f4f5e; font-size:1rem; line-height:1.1; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-card-heading p { margin-top:3px; color:#7c6b73; font-size:.78rem; line-height:1.22; font-weight:750; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-card-heading strong { display:grid; justify-items:end; gap:2px; color:#5f4f5e; font-size:1.18rem; line-height:1; white-space:nowrap; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-card-heading small { color:#8a7c86; font-size:.62rem; line-height:1; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-chart { display:block; width:100%; min-height:128px; overflow:visible; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-axis { stroke:rgba(91,73,88,.12); stroke-width:1.4; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-goal { stroke:rgba(91,73,88,.2); stroke-width:1.2; stroke-dasharray:4 5; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-line { fill:none; stroke:var(--trend-color,#a991bd); stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-dot { fill:#fff; stroke:var(--trend-color,#a991bd); stroke-width:2.5; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-bar { fill:var(--trend-color,#a991bd); opacity:.86; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-label { fill:#8a7c86; font-size:9px; font-weight:800; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-meta { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; color:#7c6b73; font-size:.74rem; line-height:1.15; font-weight:850; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-meta span { display:inline-flex; align-items:center; gap:5px; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-meta i { display:inline-block; width:9px; height:9px; border-radius:50%; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-card--nutrition { --trend-color:#8ea06d; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-card--hydration { --trend-color:#73b7d4; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-card--movement { --trend-color:#6f8faf; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-card--checkin { --trend-color:#d99298; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-card--rhythm { --trend-color:#d29a8c; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-card--rituals { --trend-color:#d7a36f; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-bar--movement { fill:#6f8faf; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-bar--stillness { fill:#b8a8cf; opacity:.9; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-line--energy { stroke:#d99298; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-line--stress { stroke:#8c7aa2; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .legend-movement { background:#6f8faf; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .legend-stillness { background:#b8a8cf; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .legend-energy { background:#d99298; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .legend-stress { background:#8c7aa2; }
@media (min-width:680px) {
    body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-grid { grid-template-columns:minmax(0,1fr); }
    body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-trend-card--movement { grid-column:auto; }
}
body .external-food-card .external-confirm-actions { grid-template-columns:minmax(58px,.55fr) minmax(82px,.75fr) minmax(104px,1fr) minmax(116px,1.1fr); }
@media (max-width:560px) { body .external-food-card .external-confirm-actions { grid-template-columns:1fr; } }
body.add-redesign-body { background:linear-gradient(180deg,var(--wellness-header-top,rgba(229,239,215,.70)) 0%,var(--wellness-header-mid,rgba(239,246,219,.72)) 155px,var(--wellness-page-bg,#edf5d8) 286px,var(--wellness-page-bg,#edf5d8) 100%) !important; color:#405437; overflow-anchor:none; }
body.add-redesign-body * { overflow-anchor:none; }
body.add-redesign-body .nutrition-redesign-shell.add-redesign-shell { align-content:start; grid-template-rows:auto auto; gap:13px; padding-bottom:24px; }
.add-redesign-hero { min-height:var(--welluna-header-height); padding-top:var(--welluna-header-pad-top); }
body.add-redesign-body .add-redesign-hero,
body.add-redesign-body .add-redesign-stack { align-self:start; }
body.add-redesign-body .nutrition-redesign-hero.add-redesign-hero { box-sizing:border-box; height:var(--welluna-header-height); min-height:var(--welluna-header-height); max-height:var(--welluna-header-height); padding-top:var(--welluna-header-pad-top); padding-bottom:var(--welluna-header-pad-bottom); }
body.add-redesign-body .nutrition-redesign-hero.add-redesign-hero { z-index:auto; isolation:auto; overflow:visible; }
body.add-redesign-body .add-redesign-hero .nutrition-title-lockup { position:relative; z-index:7; max-width:calc(100% - 92px); }
.add-redesign-hero .nutrition-title-lockup p { max-width:220px; }
.add-title-icon { width:44px; height:44px; padding:0; border-radius:0; background:transparent; border:0; box-shadow:none; }
body.add-redesign-body .nutrition-side-leaves.add-side-leaves { top:var(--welluna-leaves-right-top); right:var(--welluna-leaves-right-x); width:var(--welluna-leaves-right-width); max-width:36vw; opacity:.9; z-index:6; }
body.add-redesign-body .nutrition-date-card.add-date-card { margin-top:var(--welluna-date-gap); z-index:8; }
body.add-redesign-body .nutrition-redesign-shell > .add-redesign-stack { position:relative; z-index:4; gap:0; margin-top:0; }
body.add-redesign-body .add-card { display:grid; gap:14px; padding:14px; overflow:visible; overflow-anchor:none; }
.add-card .add-inline-heading { margin:0 0 -8px; padding:0 6px; color:#405437; font-size:1rem; line-height:1.1; font-weight:900; }
.add-card .add-meal-field { margin:0; width:100%; }
.add-card .add-meal-field select { width:100%; min-height:48px; height:48px; border-radius:18px; padding:0 14px 1px; line-height:1.2; }
.add-card .add-meal-field select,.add-card .field input,.add-card .field select { min-height:48px; border-radius:16px; background:rgba(255,255,255,.8); border:1px solid rgba(115,132,95,.14); color:#405437; box-shadow:inset 0 1px 0 rgba(255,255,255,.62); }
.add-card .add-meal-field select { min-height:48px; height:48px; border-radius:18px; padding:0 14px 1px; line-height:1.2; }
.add-card .field span { color:#61784e; font-weight:850; }
.add-card .tab-strip { position:relative; z-index:2; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; height:52px; margin:0 -14px; padding:0; border-radius:0; background:transparent; border:0; box-shadow:none; }
.add-card .tab-button { box-sizing:border-box; display:flex; align-items:center; justify-content:center; height:52px; min-height:52px; padding:0 14px; border:1px solid rgba(115,132,95,.18); border-bottom:1px solid rgba(115,132,95,.14); border-radius:14px 14px 0 0; background:rgba(223,231,202,.5); color:rgba(99,118,81,.58); box-shadow:none; font-weight:900; opacity:.62; touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
.add-card .tab-button + .tab-button { border-left:0; }
.add-card .tab-button.is-active { background:#fcf8f5; border-color:rgba(115,132,95,.22); border-bottom-color:#fcf8f5; color:#405437; opacity:1; box-shadow:inset 0 4px 0 #708756, 0 -6px 14px rgba(91,105,76,.08); }
.add-card .tab-panel { margin-top:-14px; }
.add-card .add-scanner-card:not([hidden]) + .tab-panel { margin-top:0; }
.add-card .existing-search-grid--with-scan { gap:0; margin-left:-14px; margin-right:-14px; width:calc(100% + 28px); grid-template-columns:minmax(0,1fr) 48px 52px; }
.add-card .search-field { margin:0; min-width:0; }
.add-card .search-field input { height:52px; padding-left:14px; border-radius:0; }
.add-card .food-search-icon-button,.add-card .scan-icon-button { height:52px; min-height:52px; border-radius:0; background:rgba(255,255,255,.82); border-color:rgba(115,132,95,.14); border-left:0; color:#61784e; box-shadow:inset 0 1px 0 rgba(255,255,255,.62); }
.add-card .food-search-icon-button { display:grid; place-items:center; width:48px; min-width:48px; padding:0; }
.add-card .scan-icon-button { width:52px; min-width:52px; }
.add-card .barcode-icon { background:repeating-linear-gradient(90deg,#61784e 0 2px,transparent 2px 4px,#61784e 4px 5px,transparent 5px 8px,#61784e 8px 11px,transparent 11px 14px); }
.add-card .create-barcode-field { gap:8px; }
.add-card .create-barcode-grid { display:grid; grid-template-columns:minmax(0,1fr) 52px; gap:0; min-width:0; }
.add-card .create-barcode-grid input { border-radius:16px 0 0 16px; }
.add-card .create-barcode-scan-button { border-radius:0 16px 16px 0; }
.add-card .search-empty-state { border-radius:0; margin:1px 0 8px; padding:0 6px; background:transparent !important; border:0 !important; color:#405437 !important; font-size:1rem; line-height:1.1; font-weight:900; }
.add-card .search-empty-state.is-empty,.add-card .search-empty-state.is-muted { font-size:.84rem; font-weight:800; color:#61784e !important; }
.add-card .external-search-button { width:100%; min-height:44px; margin:0 0 10px; border-radius:10px; background:rgba(225,238,209,.72); border-color:rgba(115,132,95,.2); color:#405437; font-size:.84rem; }
.add-card .external-more-button { margin:10px 0 0; min-height:40px; background:rgba(255,255,255,.74); }
.add-card #new-tab form.stack { gap:0; }
.add-card #new-tab .compact-grid { grid-template-columns:1fr; gap:0; margin:0 -14px; width:calc(100% + 28px); }
.add-card #new-tab .compact-grid > .field,.add-card #new-tab .nutrition-fact-field { min-width:0; min-height:46px; margin:0; padding:6px 8px 6px 10px; border:1px solid rgba(115,132,95,.12); border-bottom:0; border-radius:0; background:#fcf8f5; box-shadow:none; }
.add-card #new-tab .compact-grid > .field:first-child { border-radius:0; }
.add-card #new-tab .compact-grid > :last-child { border-bottom:1px solid rgba(115,132,95,.12); border-radius:0; }
.add-card #new-tab .compact-grid > .field { display:grid; grid-template-columns:minmax(86px,1fr) minmax(128px,52%); align-items:center; gap:8px; }
.add-card #new-tab .compact-grid > .field > span,.add-card #new-tab .nutrition-fact-field .field span { min-width:0; color:#405437; font-size:.82rem; line-height:1.05; font-weight:900; }
.add-card #new-tab .compact-grid > .field > input,.add-card #new-tab .compact-grid > .field > select,.add-card #new-tab .create-barcode-grid input,.add-card #new-tab .nutrition-fact-field .field input { min-height:34px; height:34px; padding:3px 8px; border-radius:9px; font-size:.82rem; box-shadow:none; }
.add-card #new-tab .create-barcode-field { gap:8px; }
.add-card #new-tab .create-barcode-grid { grid-template-columns:minmax(0,1fr) 40px; }
.add-card #new-tab .create-barcode-grid input { border-radius:9px 0 0 9px; }
.add-card #new-tab .create-barcode-scan-button { width:40px; min-width:40px; height:34px; min-height:34px; border-radius:0 9px 9px 0; }
.add-card #new-tab .nutrition-fact-field { grid-template-columns:minmax(0,1fr) 52px; align-items:center; gap:6px; }
.add-card #new-tab .nutrition-fact-field .field { display:grid; grid-template-columns:minmax(0,1fr) 64px; align-items:center; gap:8px; min-width:0; margin:0; }
.add-card #new-tab .nutrition-fact-field .field input { width:64px; justify-self:end; }
.add-card #new-tab .nutrition-na-choice { min-height:34px; height:34px; padding:0 7px; border-radius:9px; font-size:.68rem; box-shadow:none; }
.add-card #new-tab .nutrition-na-choice input { width:13px; height:13px; }
.add-card #new-tab .help { margin:10px 0 0; padding:0 6px; font-size:.78rem; line-height:1.25; }
.add-card #new-tab .create-save-options { margin-top:12px; }
.add-card .nutrition-fact-field { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:8px; min-width:0; }
.add-card .nutrition-fact-field.is-na .field input { opacity:.58; background:rgba(255,255,255,.48); }
.add-card .nutrition-na-choice { display:flex; align-items:center; justify-content:center; gap:5px; min-height:48px; padding:0 9px; border:1px solid rgba(115,132,95,.14); border-radius:16px; background:rgba(255,255,255,.7); color:#61784e; font-size:.78rem; font-weight:900; white-space:nowrap; }
.add-card .nutrition-na-choice input { width:15px; height:15px; margin:0; accent-color:#708756; }
.add-card .existing-item-list { gap:0; margin:-1px -14px -14px; width:calc(100% + 28px); }
.add-card .existing-item-card { width:100%; gap:0; padding:0; border-radius:0; background:#fcf8f5; border:1px solid rgba(115,132,95,.12); border-bottom:0; box-shadow:none; color:#405437; overflow:hidden; }
.add-card .existing-item-card:not(.external-food-card) { grid-template-columns:minmax(0,1fr) minmax(170px,46%); align-items:center; min-height:46px; }
.add-card .existing-item-card[hidden] { display:none !important; }
.add-card .existing-item-card.is-first-visible { border-radius:18px 18px 0 0; }
.add-card .existing-item-card.is-last-visible { border-bottom:1px solid rgba(115,132,95,.12); border-radius:0 0 18px 18px; }
.add-card .existing-item-card.is-first-visible.is-last-visible { border-radius:18px; }
.add-card .add-item-details { min-width:0; }
.add-card .add-item-details summary { list-style:none; display:grid; grid-template-columns:minmax(0,1fr) 13px; align-items:center; gap:5px; min-height:44px; padding:6px 7px 6px 10px; cursor:pointer; }
.add-card .add-item-details summary::-webkit-details-marker { display:none; }
.add-card .add-item-details[open] .nutrition-row-chevron { transform:rotate(90deg); }
.add-card .add-item-details summary .pill { display:none; }
.add-card .add-item-details summary strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.86rem; line-height:1.05; }
.add-card .add-item-details summary p { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-top:2px; color:#6c7b5a !important; font-size:.66rem; line-height:1; font-weight:750; }
.add-card .add-item-details summary p.result-meta { overflow:visible; text-overflow:clip; white-space:normal; margin-top:3px; line-height:1.25; }
.add-card .add-item-details summary .nutrition-row-chevron { width:13px; height:13px; font-size:.9rem; line-height:1; transform:translateY(0); }
.add-card .existing-item-card:not(.external-food-card) .add-item-details[open] { grid-column:1 / -1; }
.add-card .existing-item-card:not(.external-food-card) .add-item-details[open] + .existing-item-actions { grid-column:1 / -1; padding:0 8px 8px; }
.add-card .add-item-nutrition-drawer { grid-column:1 / -1; padding:0 8px 8px; }
.add-card .add-item-nutrition-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.add-card .existing-item-actions { grid-template-columns:34px 78px 40px; gap:4px; align-items:center; justify-content:end; padding:6px 8px 6px 0; }
.add-card .existing-item-actions .field { gap:0; }
.add-card .existing-item-actions .field span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.add-card .existing-item-actions .field input,.add-card .existing-item-actions .field select { min-height:34px; height:34px; padding:3px 5px; border-radius:9px; font-size:.78rem; }
.add-card .existing-item-actions .secondary-button,.add-card .existing-item-actions .primary-button { min-height:34px; padding:4px 6px; border-radius:9px; font-size:.78rem; }
.add-card .external-result-details { width:100%; }
.add-card .external-result-details > summary { grid-template-columns:minmax(0,1fr) auto 13px; min-height:54px; padding:8px 11px 8px 12px; gap:8px; }
.add-card .external-result-details > summary .pill { display:inline-flex; min-height:26px; padding:4px 8px; font-size:.68rem; white-space:nowrap; }
.add-card .external-result-body { display:grid; gap:0; padding-bottom:12px; }
.add-card .external-result-body > .external-nutrition-grid { margin:4px 12px 12px; }
.add-card .external-result-body > .external-edit-panel { margin:0 12px 12px; }
.add-card .external-result-body > .existing-item-actions { padding:0 12px; gap:6px; justify-content:stretch; }
.add-card .external-result-body > .external-food-warning-copy { margin:8px 12px 0; color:#7b5b2c; font-weight:800; line-height:1.35; }
.add-card .external-food-issue-list { margin:8px 12px 0; padding-left:18px; color:#7b5b2c; font-size:.88rem; line-height:1.35; }
.add-card .external-food-card--warning { background:#fffaf0; }
.add-card .external-food-card .existing-item-actions .field span { position:static; width:auto; height:auto; overflow:visible; clip:auto; white-space:normal; }
.add-card .external-food-card .existing-item-actions .field input,.add-card .external-food-card .existing-item-actions .field select { min-height:48px; height:auto; padding:8px 10px; border-radius:12px; font-size:.92rem; }
.add-card .external-food-card .existing-item-actions .secondary-button,.add-card .external-food-card .existing-item-actions .primary-button { min-height:40px; padding:8px 10px; border-radius:12px; font-size:.88rem; }
.add-card .existing-item-top strong,.add-card .existing-item-top p,.add-card .nutrition-grid span,.add-card .nutrition-grid strong,.add-card .text-button { color:#405437 !important; }
.add-card .pill { background:rgba(142,160,109,.16); color:#5e7244; }
.add-card .primary-button { background:linear-gradient(135deg,#8ea06d,#708756); box-shadow:0 12px 24px rgba(112,135,86,.22); }
.add-card .secondary-button { background:rgba(255,255,255,.82); border-color:rgba(115,132,95,.14); color:#405437; box-shadow:0 8px 18px rgba(91,105,76,.08); }
.add-card .add-scanner-card { margin:0; border-radius:18px; border-color:rgba(142,160,109,.18); background:linear-gradient(180deg,rgba(255,255,246,.84),rgba(237,246,213,.68)); box-shadow:inset 0 1px 0 rgba(255,255,255,.7); }
.add-card #scanner-reader { border-color:rgba(115,132,95,.14); background:rgba(255,255,255,.66); }
.add-card .external-edit-panel { border-color:rgba(142,160,109,.18); background:rgba(255,255,255,.58); }
.add-card .nutrition-grid div { background:rgba(255,255,255,.7); border:1px solid rgba(115,132,95,.08); }
@media (max-width:560px) { .add-redesign-shell { padding-left:8px; padding-right:8px; } .add-redesign-hero { margin-left:-8px; margin-right:-8px; } .add-card { padding:12px; border-radius:18px; } .add-card .tab-strip { margin:0 -12px; } .add-card .existing-search-grid--with-scan { margin-left:-12px; margin-right:-12px; width:calc(100% + 24px); } .add-card .existing-item-list { margin:-1px -12px -12px; width:calc(100% + 24px); } .add-card #new-tab .compact-grid { margin-left:-12px; margin-right:-12px; width:calc(100% + 24px); } .add-card #new-tab .compact-grid > .field { grid-template-columns:minmax(82px,1fr) minmax(118px,52%); } .add-card #new-tab .nutrition-fact-field { grid-template-columns:minmax(0,1fr) 50px; } .add-redesign-hero .nutrition-title-lockup { max-width:calc(100% - 78px); } .add-side-leaves { right:-42px; max-width:41vw; } }
@media (max-width:560px) { .admin-subpage-stats { grid-template-columns:repeat(3,minmax(0,1fr)); } .admin-subpage-stats div { min-height:62px; padding:8px 5px; } .admin-subpage-stats strong { font-size:1.15rem; } .admin-subpage-stats span { font-size:.68rem; } .admin-user-card > summary { grid-template-columns:minmax(0,1fr) auto; } .admin-user-card > summary::after { grid-column:2; } .admin-role-pill { grid-column:1; grid-row:2; justify-self:start; } }
@media (max-width:560px) { .compact-grid,.scan-action-grid { grid-template-columns:1fr; } .tracker-panel { padding:16px 14px; } .tracker-carousel,.tracker-slide { min-height:292px; } .tracker-bar-grid { gap:8px; } .tracker-bar-card { padding:7px 8px; gap:4px; } .tracker-bar-copy strong { font-size:.8rem; } .tracker-bar-values { font-size:.68rem; } .quick-drink-spacer { flex-basis:calc(50% - 36px); } .quick-drink-chip { flex-basis:72px; min-height:72px; } .quick-drink-icon { width:43px; height:43px; font-size:2.25rem; } .quick-drink-icon img { width:45px; height:45px; } .quick-picker-spacer { flex-basis:calc(50% - 24px); } .quick-picker-spacer--quantity { flex-basis:calc(50% - 8px); } .quick-picker-spacer--quantity-end { flex-basis:calc(50% - 40px); } .quick-picker-spacer--unit { flex-basis:calc(50% - 32px); } .quick-picker-option { min-width:48px; min-height:44px; padding:0 12px; } .quick-drink-picker--units .quick-picker-option { min-width:64px; } .quick-drink-add-button { min-height:64px; border-radius:22px; } .existing-item-actions { grid-template-columns:minmax(54px,.6fr) minmax(78px,.9fr) 64px; } .external-confirm-actions { grid-template-columns:1fr; } .existing-item-actions .field span { font-size:.68rem; } .existing-item-actions .field input,.existing-item-actions .field select { padding:8px 8px; font-size:.88rem; } .existing-item-actions .secondary-button,.existing-item-actions .primary-button { padding:8px 8px; min-height:38px; font-size:.88rem; } .tab-button { min-width:0; } }
@media (min-width:720px) { body { padding-top:32px; } .goal-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (min-width:768px) and (max-width:1180px) {
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-shell {
        width:100% !important;
        max-width:none !important;
        padding-left:26px !important;
        padding-right:26px !important;
    }
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-bottom-nav {
        width:100vw !important;
        max-width:none !important;
        left:0 !important;
        right:0 !important;
        transform:none !important;
    }
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list {
        padding-left:0 !important;
        padding-right:0 !important;
    }
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card {
        width:calc(100% + 52px) !important;
        max-width:none !important;
        margin-left:-26px !important;
        margin-right:-26px !important;
    }
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card,
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card {
        width:100% !important;
        max-width:none !important;
        margin-left:0 !important;
        margin-right:0 !important;
    }
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cloudscape {
        left:0 !important;
        right:0 !important;
    }
}
@media (min-width:1181px) {
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-shell {
        width:min(calc(100% - 64px),960px) !important;
        max-width:var(--welluna-shell-wide-max) !important;
        padding-left:0 !important;
        padding-right:0 !important;
    }
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-bottom-nav {
        width:min(calc(100% - 64px),960px) !important;
        max-width:var(--welluna-shell-wide-max) !important;
        left:50% !important;
        right:auto !important;
        transform:translateX(-50%) !important;
    }
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list {
        padding-left:0 !important;
        padding-right:0 !important;
    }
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card,
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card {
        width:100% !important;
        max-width:none !important;
        margin-left:0 !important;
        margin-right:0 !important;
    }
}
/* Home spacing: this sits after the responsive width rules so the top-card gap stays consistent on phones, tablets, and desktop. */
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card + .v2-cycle-card {
    margin-top:0 !important;
}
/* Nutrition redesign: a phone-first meal journal with soft green cards and expandable food detail. */
html:has(body.nutrition-redesign-body) {
    background:#edf5d8 !important;
}
body.nutrition-redesign-body {
    --wellness-page-bg:#edf5d8;
    --wellness-header-top:rgba(229,239,215,.70);
    --wellness-header-mid:rgba(239,246,219,.72);
    --wellness-header-glow:rgba(255,255,246,.86);
    padding:0 0 calc(112px + env(safe-area-inset-bottom)) !important;
    background-color:#edf5d8 !important;
    background:
        linear-gradient(180deg,rgba(170,168,206,.76) 0%,rgba(189,184,215,.5) 118px,rgba(229,239,215,.38) 190px,var(--wellness-page-bg) 310px,var(--wellness-page-bg) 100%) !important;
    color:#405437;
}
body.nutrition-redesign-body::before,
body.nutrition-redesign-body::after,
body.nutrition-redesign-body.has-v2-nav::before,
body.nutrition-redesign-body.has-v2-nav::after {
    display:none !important;
    content:none !important;
}
.nutrition-redesign-shell {
    position:relative;
    z-index:1;
    width:min(100%,var(--welluna-shell-mobile-max));
    min-height:100vh;
    margin:0 auto;
    padding:0 var(--welluna-page-gutter) 18px;
    display:grid;
    gap:12px;
    background:
        linear-gradient(180deg,rgba(189,184,215,.14) 0%,rgba(248,246,228,.82) 38%,#edf5d8 100%);
    box-shadow:0 0 0 100vmax #edf5d8;
    overflow:hidden;
}
.nutrition-redesign-shell::before {
    content:"";
    position:absolute;
    z-index:0;
    left:0;
    right:0;
    top:0;
    height:190px;
    pointer-events:none;
    background:
        linear-gradient(180deg,rgba(170,168,206,.04) 0%,rgba(170,168,206,.02) 46%,rgba(189,184,215,.18) 76%,var(--wellness-page-bg) 100%),
        radial-gradient(ellipse at 48% 34%,rgba(255,250,248,.18),transparent 34%),
        url("../images/header-cloud-sparkle-lavender.png") center top/cover no-repeat;
    -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 76%,rgba(0,0,0,.62) 91%,transparent 100%);
    mask-image:linear-gradient(180deg,#000 0%,#000 76%,rgba(0,0,0,.62) 91%,transparent 100%);
}
.nutrition-redesign-shell > * {
    position:relative;
    z-index:1;
}
body.nutrition-redesign-body,
body.checkin-v2-body,
body.cycle-v2-body,
body.insights-v2-body,
body.hydration-v2-body,
body.has-v2-nav:not(.v2-body) {
    --welluna-header-height:232px;
    --welluna-header-pad-top:34px;
    --welluna-header-pad-x:16px;
    --welluna-header-pad-bottom:18px;
    --welluna-title-band-height:104px;
    --welluna-date-gap:22px;
    --welluna-v2-date-overlap:-72px;
    --welluna-date-width:min(calc(100vw - 48px),590px);
    --welluna-v2-date-width:var(--welluna-date-width);
    --welluna-leaves-left-top:22px;
    --welluna-leaves-left-x:-54px;
    --welluna-leaves-left-width:156px;
    --welluna-leaves-right-top:49px;
    --welluna-leaves-right-x:-30px;
    --welluna-leaves-right-width:142px;
}
.nutrition-redesign-hero {
    position:relative;
    z-index:2;
    isolation:isolate;
    margin:0 calc(var(--welluna-page-gutter) * -1) -2px;
    padding:var(--welluna-header-pad-top) var(--welluna-header-pad-x) var(--welluna-header-pad-bottom);
    min-height:var(--welluna-header-height);
    overflow:visible;
    background:transparent;
    border-radius:0;
}
.nutrition-redesign-hero::after {
    display:none;
    content:none;
}
.nutrition-hero-topline {
    position:relative;
    z-index:2;
    display:grid;
    place-items:center;
    min-height:var(--welluna-title-band-height);
}
.nutrition-title-lockup {
    position:relative;
    z-index:4;
    display:grid;
    justify-items:center;
    gap:6px;
    text-align:center;
    color:#3d5135;
    text-shadow:0 1px 14px rgba(255,255,245,.72);
}
.nutrition-title-apple {
    display:block;
    width:60px;
    height:60px;
    object-fit:contain;
    margin-bottom:-5px;
    filter:
        drop-shadow(0 0 4px rgba(255,255,255,.96))
        drop-shadow(0 0 11px rgba(255,255,255,.86))
        drop-shadow(0 0 19px rgba(255,255,255,.58))
        drop-shadow(0 4px 10px rgba(65,88,52,.16));
}
body.nutrition-redesign-body:not(.add-redesign-body) .nutrition-title-apple {
    filter:
        drop-shadow(0 0 4px rgba(255,255,255,.96))
        drop-shadow(0 0 11px rgba(255,255,255,.86))
        drop-shadow(0 0 19px rgba(255,255,255,.58))
        drop-shadow(0 4px 10px rgba(65,88,52,.16));
}
body.nutrition-redesign-body .nutrition-title-lockup h1 {
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(1.7rem,6.9vw,2.45rem) !important;
    line-height:1.05 !important;
    letter-spacing:0 !important;
    color:#3f3f3f !important;
    font-weight:500;
}
body.nutrition-redesign-body .nutrition-title-lockup p {
    margin-top:4px;
    color:rgba(63,63,63,.72) !important;
    font-size:.72rem;
    line-height:1.25;
    font-weight:500;
    letter-spacing:0 !important;
}
.nutrition-side-leaves {
    position:absolute;
    z-index:1;
    height:auto;
    pointer-events:none;
    filter:drop-shadow(0 8px 12px rgba(67,81,59,.16));
}
.v2-page-header .v2-header-side-leaves {
    position:absolute !important;
    z-index:1 !important;
}
.nutrition-side-leaves--right {
    right:var(--welluna-leaves-right-x);
    top:var(--welluna-leaves-right-top);
    width:var(--welluna-leaves-right-width);
    max-width:36vw;
}
.nutrition-side-leaves--left {
    left:var(--welluna-leaves-left-x);
    top:var(--welluna-leaves-left-top);
    width:var(--welluna-leaves-left-width);
    max-width:39vw;
    opacity:.96;
}
.nutrition-date-card {
    position:relative;
    z-index:3;
    margin:var(--welluna-date-gap) auto 0;
    width:var(--welluna-date-width);
    display:grid;
    grid-template-columns:48px minmax(0,1fr) 48px;
    gap:10px;
    align-items:center;
    padding:10px;
    border-radius:var(--welluna-date-radius);
    background:rgba(255,255,255,.5);
    border:1px solid rgba(255,255,255,.7);
    box-shadow:0 16px 34px rgba(91,105,76,.12), inset 0 1px 0 rgba(255,255,255,.72);
    backdrop-filter:blur(10px);
}
.nutrition-date-arrow {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    border-radius:18px;
    background:rgba(255,255,255,.86);
    border:1px solid rgba(115,132,95,.12);
    color:#405437;
    font-size:2.7rem;
    line-height:1;
    font-weight:200;
    text-decoration:none;
    padding:0;
}
.nutrition-date-arrow span {
    display:block;
    width:13px;
    height:13px;
    font-size:0;
    line-height:0;
    border-top:3px solid currentColor;
    border-right:3px solid currentColor;
    transform-origin:center;
}
.nutrition-date-card .nutrition-date-arrow:first-child span {
    transform:rotate(-135deg);
}
.nutrition-date-card .nutrition-date-arrow:last-child span {
    transform:rotate(45deg);
}
.nutrition-date-form label {
    position:relative;
    min-height:48px;
    display:grid;
    place-items:center;
    align-content:center;
    gap:2px;
    border-radius:18px;
    background:rgba(255,255,255,.78);
    border:1px solid rgba(115,132,95,.1);
    color:#405437;
    font-weight:900;
    cursor:pointer;
    overflow:hidden;
}
.nutrition-date-form small {
    color:#405437;
    font-size:.68rem;
    font-weight:700;
}
.nutrition-date-form input {
    position:absolute;
    inset:0;
    opacity:0;
    cursor:pointer;
}
.nutrition-card {
    width:100%;
    border:1px solid rgba(255,255,255,.82);
    border-radius:20px;
    background:linear-gradient(180deg,rgba(255,255,246,.88),rgba(244,249,226,.74));
    box-shadow:0 14px 30px rgba(91,105,76,.1), inset 0 1px 0 rgba(255,255,255,.74);
    backdrop-filter:blur(10px);
    overflow:hidden;
    color:#405437;
}
.nutrition-redesign-shell .entry-card,
.nutrition-redesign-shell .entry-card summary,
.nutrition-redesign-shell .entry-card strong,
.nutrition-redesign-shell .entry-card span,
.nutrition-redesign-shell .entry-card p,
.nutrition-redesign-shell .nutrition-grid span,
.nutrition-redesign-shell .nutrition-grid strong,
.nutrition-redesign-shell .text-button {
    color:#405437 !important;
}
.nutrition-photo-section,
.nutrition-meals-section,
.nutrition-overview-card {
    padding:14px;
}
.nutrition-meals-section {
    padding:0;
}
.nutrition-outside-heading {
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:0 6px;
    margin:2px 0 -7px;
    color:#405437;
}
.nutrition-outside-heading--photos {
    justify-content:flex-start;
    margin-top:2px;
}
.nutrition-heading-title {
    display:flex;
    align-items:center;
    gap:8px;
    min-width:0;
}
.nutrition-outside-heading h2 {
    color:#405437;
    font-size:1rem;
    line-height:1.1;
    font-weight:900;
}
.nutrition-outside-heading a {
    display:inline-flex;
    align-items:center;
    gap:3px;
    color:#405437;
    font-size:.72rem;
    font-weight:900;
    text-decoration:none;
    white-space:nowrap;
}
.nutrition-outside-heading a span {
    font-size:1.4rem;
    line-height:.75;
    transform:translateY(-1px);
}
.nutrition-heading-icon {
    flex:0 0 auto;
    display:block;
    object-fit:contain;
    line-height:1;
}
.nutrition-heading-icon--leaf {
    width:23px;
    height:23px;
    transform:translateY(-1px);
}
.nutrition-heading-icon--camera {
    width:20px;
    height:20px;
    transform:translateY(-1px);
}
.nutrition-heading-icon--utensils {
    width:23px;
    height:23px;
    transform:translateY(-1px);
}
.nutrition-section-heading {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
}
.nutrition-section-heading h2 {
    color:#405437;
    font-size:1rem;
    line-height:1.1;
    font-weight:900;
}
.nutrition-section-heading p {
    margin-top:3px;
    color:#405437;
    font-size:.72rem;
    line-height:1.2;
    font-weight:700;
}
.nutrition-section-heading--inline a,
.nutrition-section-heading--inline span {
    color:#405437;
    font-size:.72rem;
    font-weight:900;
    text-decoration:none;
    white-space:nowrap;
}
.nutrition-photo-strip {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:4px;
    align-items:start;
}
.nutrition-photo-form {
    min-width:0;
    display:grid;
    gap:4px;
}
.nutrition-photo-card {
    --nutrition-photo-wash-top:rgba(251,244,252,.18);
    --nutrition-photo-wash-bottom:rgba(205,184,220,.24);
    --nutrition-photo-base-top:rgba(250,244,252,.96);
    --nutrition-photo-base-bottom:rgba(224,211,234,.78);
    position:relative;
    display:grid;
    align-content:start;
    justify-items:center;
    gap:6px;
    min-height:122px;
    padding:8px 7px;
    border-radius:18px;
    overflow:hidden;
    cursor:pointer;
    background:
        url("../images/card-cloud.png") center calc(100% + 12px)/190% auto no-repeat,
        radial-gradient(circle at 50% 30%,rgba(255,255,255,.78),transparent 26%),
        linear-gradient(145deg,var(--nutrition-photo-base-top),var(--nutrition-photo-base-bottom));
    border:1px solid rgba(255,255,255,.78);
    box-shadow:0 12px 22px rgba(91,73,88,.11);
    isolation:isolate;
}
.nutrition-photo-card:not(.has-photo)::before {
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background:linear-gradient(180deg,var(--nutrition-photo-wash-top),var(--nutrition-photo-wash-bottom));
}
.nutrition-photo-card--breakfast {
    --nutrition-photo-wash-top:rgba(255,239,190,.34);
    --nutrition-photo-wash-bottom:rgba(239,179,68,.24);
    --nutrition-photo-base-top:rgba(255,249,226,.97);
    --nutrition-photo-base-bottom:rgba(255,226,164,.8);
}
.nutrition-photo-card--lunch {
    --nutrition-photo-wash-top:rgba(255,216,190,.34);
    --nutrition-photo-wash-bottom:rgba(238,112,67,.24);
    --nutrition-photo-base-top:rgba(255,243,231,.97);
    --nutrition-photo-base-bottom:rgba(255,196,154,.78);
}
.nutrition-photo-card--dinner {
    --nutrition-photo-wash-top:rgba(232,217,245,.36);
    --nutrition-photo-wash-bottom:rgba(134,101,176,.26);
    --nutrition-photo-base-top:rgba(249,243,252,.97);
    --nutrition-photo-base-bottom:rgba(214,194,232,.8);
}
.nutrition-photo-card--snacks {
    --nutrition-photo-wash-top:rgba(252,218,228,.36);
    --nutrition-photo-wash-bottom:rgba(205,91,119,.25);
    --nutrition-photo-base-top:rgba(255,245,248,.97);
    --nutrition-photo-base-bottom:rgba(242,184,201,.8);
}
.nutrition-photo-card.has-photo {
    background:#f5eee2;
}
.nutrition-photo-card:not(.has-photo)::after {
    content:"";
    position:absolute;
    left:11px;
    right:11px;
    bottom:10px;
    height:42%;
    min-height:42px;
    border:1.35px dashed rgba(255,255,255,.88);
    border-radius:15px;
    background:rgba(255,255,255,.12);
    box-shadow:inset 0 0 18px rgba(255,255,255,.12);
    pointer-events:none;
    z-index:1;
}
.meal-photo-action-backdrop {
    position:fixed;
    z-index:2000;
    inset:0;
    display:grid;
    place-items:center;
    padding:18px 14px calc(18px + env(safe-area-inset-bottom));
    background:rgba(42,52,37,.26);
    backdrop-filter:blur(3px);
}
.meal-photo-action-sheet {
    width:min(100%,430px);
    max-height:min(88vh,720px);
    display:grid;
    gap:10px;
    padding:14px;
    border-radius:20px;
    background:rgba(255,252,247,.96);
    border:1px solid rgba(255,255,255,.82);
    box-shadow:0 22px 44px rgba(64,84,55,.2);
    overflow:auto;
}
.meal-photo-action-sheet h2 {
    color:#405437;
    font-size:.95rem;
    line-height:1.1;
    font-weight:900;
    text-align:center;
    margin:0 0 2px;
}
.meal-photo-action-title {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    color:#405437;
    font-size:1rem;
    line-height:1;
    font-weight:900;
    text-align:center;
    margin:0 0 2px;
}
.meal-photo-action-title img {
    width:34px;
    height:24px;
    object-fit:contain;
    filter:drop-shadow(0 4px 7px rgba(91,73,88,.12));
}
.meal-photo-delete-confirm-copy {
    margin:0;
    color:#657459;
    font-size:.84rem;
    font-weight:800;
    line-height:1.35;
    text-align:center;
}
.meal-photo-action-preview {
    width:100%;
    max-height:min(62vh,520px);
    display:block;
    object-fit:contain;
    border-radius:16px;
    background:rgba(244,248,230,.62);
    border:1px solid rgba(64,84,55,.1);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
}
.meal-photo-action-button {
    min-height:44px;
    border:1px solid rgba(64,84,55,.14);
    border-radius:14px;
    background:#f4f8e6;
    color:#405437;
    font:inherit;
    font-size:.88rem;
    font-weight:900;
    cursor:pointer;
}
.meal-photo-action-button--delete {
    background:#fff1ee;
    color:#8b3c31;
    border-color:rgba(139,60,49,.16);
}
.meal-photo-action-button--cancel {
    background:rgba(255,255,255,.74);
    color:#657459;
}
.nutrition-photo-image {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    z-index:0;
}
.nutrition-photo-placeholder {
    position:absolute;
    left:50%;
    top:9px;
    transform:translateX(-50%);
    display:grid;
    justify-items:center;
    gap:3px;
    width:58px;
    color:rgba(112,96,118,.58);
    line-height:1;
    z-index:3;
}
.nutrition-photo-placeholder-icon {
    display:block;
    width:42px;
    height:23px;
    object-fit:contain;
    filter:drop-shadow(0 4px 7px rgba(91,73,88,.12));
}
.nutrition-photo-placeholder--dinner .nutrition-photo-placeholder-icon {
    width:42px;
    height:23px;
    transform:none;
    transform-origin:center center;
}
.nutrition-photo-placeholder-text {
    display:block;
    color:#405437;
    font-size:.62rem;
    font-weight:900;
    line-height:1;
    text-align:center;
    text-shadow:0 1px 8px rgba(255,255,255,.9);
}
.nutrition-photo-dash-sparkle {
    position:absolute;
    left:50%;
    top:70%;
    width:27px;
    height:27px;
    display:block;
    object-fit:contain;
    transform:translate(-50%,-50%);
    pointer-events:none;
    z-index:2;
    filter:drop-shadow(0 3px 7px rgba(255,255,255,.32));
}
.nutrition-photo-card input {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    opacity:0;
    cursor:pointer;
    z-index:4;
}
.nutrition-meal-list {
    display:grid;
    gap:0;
}
.nutrition-meal-row {
    border-radius:0;
    background:#fcf8f5;
    border:1px solid rgba(115,132,95,.12);
    border-bottom:0;
    overflow:hidden;
    box-shadow:none;
}
.nutrition-meal-row:first-child {
    border-radius:18px 18px 0 0;
}
.nutrition-meal-row:last-child {
    border-radius:0 0 18px 18px;
    border-bottom:1px solid rgba(115,132,95,.12);
}
.nutrition-meal-row > summary {
    list-style:none;
    display:grid;
    grid-template-columns:42px minmax(0,1fr) auto 16px;
    align-items:center;
    gap:9px;
    min-height:74px;
    padding:10px 12px;
    cursor:pointer;
}
.nutrition-meal-row > summary::-webkit-details-marker,
.nutrition-overview-card > summary::-webkit-details-marker {
    display:none;
}
.nutrition-meal-icon {
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:50%;
    background:rgba(142,160,109,.12);
    color:#405437;
    font-size:1.2rem;
}
.nutrition-meal-icon img {
    display:block;
    width:24px;
    height:24px;
    object-fit:contain;
    filter:drop-shadow(0 3px 5px rgba(64,84,55,.14));
}
.nutrition-meal-icon--breakfast { background:linear-gradient(145deg,rgba(255,249,226,.96),rgba(255,226,164,.82)); color:#e5aa44; border:1px solid rgba(239,179,68,.18); }
.nutrition-meal-icon--breakfast img { width:26px; height:18px; }
.nutrition-meal-icon--lunch { background:linear-gradient(145deg,rgba(255,243,231,.96),rgba(255,196,154,.82)); color:#ee7043; border:1px solid rgba(238,112,67,.18); }
.nutrition-meal-icon--lunch img { width:23px; height:23px; }
.nutrition-meal-icon--dinner { background:linear-gradient(145deg,rgba(249,243,252,.96),rgba(214,194,232,.82)); color:#8665b0; border:1px solid rgba(134,101,176,.18); }
.nutrition-meal-icon--dinner img { width:19px; height:19px; }
.nutrition-meal-icon--snacks { background:linear-gradient(145deg,rgba(255,245,248,.96),rgba(242,184,201,.82)); color:#cd5b77; border:1px solid rgba(205,91,119,.18); }
.nutrition-meal-icon--snacks img { width:23px; height:23px; }
.nutrition-meal-copy {
    min-width:0;
    display:grid;
    gap:3px;
}
.nutrition-meal-copy strong {
    color:#405437;
    font-size:.9rem;
    line-height:1.1;
}
.nutrition-meal-copy small {
    color:#405437;
    font-size:.68rem;
    line-height:1.15;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.nutrition-meal-macros {
    display:grid;
    grid-template-columns:repeat(3,34px);
    gap:4px;
    text-align:center;
}
.nutrition-meal-macros > span {
    position:relative;
    min-width:0;
}
.nutrition-meal-macros > span + span::before {
    content:"";
    position:absolute;
    left:-3px;
    top:2px;
    bottom:1px;
    width:1px;
    background:rgba(64,84,55,.16);
}
.nutrition-meal-macros small {
    display:block;
    color:#7d8478;
    font-size:.5rem;
    line-height:1;
    font-weight:800;
}
.nutrition-meal-macros b {
    display:block;
    margin-top:3px;
    color:#d98d7c;
    font-size:.68rem;
    line-height:1;
}
.nutrition-meal-macros span:nth-child(2) b { color:#e8b95e; }
.nutrition-meal-macros span:nth-child(3) b { color:#8fae68; }
.nutrition-row-chevron {
    color:#405437;
    font-size:1.9rem;
    line-height:1;
    transform:translateY(-1px);
}
.nutrition-meal-row[open] .nutrition-row-chevron {
    transform:rotate(90deg);
}
.nutrition-entry-drawer {
    display:grid;
    gap:8px;
    width:100%;
    padding:0 0 12px;
}
.nutrition-entry-drawer .entry-card {
    border-radius:16px;
    background:rgba(255,252,247,.82) !important;
    border-color:rgba(115,132,95,.12) !important;
    box-shadow:none;
}
.nutrition-entry-drawer .entry-card summary {
    align-items:center;
}
.nutrition-entry-drawer .nutrition-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
}
.nutrition-entry-portion-form {
    display:grid;
    grid-template-columns:minmax(64px,.65fr) minmax(92px,1fr) auto;
    gap:7px;
    align-items:end;
    margin-top:12px;
}
.nutrition-entry-portion-form label {
    display:grid;
    gap:4px;
    min-width:0;
    color:#707b69;
    font-size:.68rem;
    font-weight:800;
}
.nutrition-entry-portion-form input,
.nutrition-entry-portion-form select {
    width:100%;
    min-width:0;
    min-height:40px;
    padding:7px 8px;
    border:1px solid rgba(115,132,95,.16);
    border-radius:9px;
    background:rgba(255,255,255,.88);
    color:#405437;
    font:inherit;
    font-size:.82rem;
}
.nutrition-entry-portion-form button {
    min-height:40px;
    padding:7px 12px;
    border:0;
    border-radius:9px;
    background:#839b64;
    color:#fff;
    font:inherit;
    font-size:.78rem;
    font-weight:800;
    cursor:pointer;
}
.nutrition-redesign-shell .nutrition-entry-facts > summary {
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.46);
}
.nutrition-facts-editor {
    margin-top:10px;
    padding-top:10px;
    border-top:1px solid rgba(115,132,95,.12);
}
.nutrition-facts-editor > summary {
    width:max-content;
    color:#667d4d !important;
    font-size:.82rem;
    font-weight:800;
    text-decoration:underline;
    text-underline-offset:3px;
}
.nutrition-facts-edit-form {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin-top:11px;
}
.nutrition-facts-edit-form .field {
    gap:4px;
}
.nutrition-facts-edit-form .field span {
    font-size:.68rem;
    line-height:1.15;
}
.nutrition-facts-edit-form input {
    min-height:40px;
    padding:8px;
    border-radius:9px;
    font-size:.8rem;
}
.nutrition-facts-edit-wide {
    grid-column:1 / -1;
}
.nutrition-save-scope {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
    margin:2px 0 0;
    padding:0;
    border:0;
}
.nutrition-save-scope legend {
    margin-bottom:5px;
    color:#707b69;
    font-size:.7rem;
    font-weight:800;
}
.nutrition-save-scope label {
    position:relative;
    display:grid;
    place-items:center;
    min-height:40px;
    border:1px solid rgba(115,132,95,.15);
    border-radius:9px;
    background:rgba(255,255,255,.62);
    color:#66735f;
    font-size:.8rem;
    font-weight:800;
    cursor:pointer;
}
.nutrition-save-scope input {
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.nutrition-save-scope label:has(input:checked) {
    border-color:rgba(112,135,86,.42);
    background:rgba(142,160,109,.18);
    color:#50633d;
}
.nutrition-share-note {
    color:#7d8478 !important;
    font-size:.7rem !important;
    line-height:1.35;
}
.nutrition-facts-edit-form button {
    min-height:42px;
}
.nutrition-redesign-shell .entry-card-remove-row {
    position:static;
    display:flex;
    justify-content:flex-end;
    margin-top:10px;
    padding-top:9px;
    border-top:1px solid rgba(115,132,95,.1);
}
.nutrition-empty-state {
    padding:12px;
    border-radius:14px;
    background:rgba(246,241,225,.72);
    color:#405437;
    font-size:.8rem;
    font-weight:800;
}
.nutrition-empty-state a {
    color:#405437;
    text-decoration:underline;
    text-underline-offset:3px;
}
.nutrition-meal-add-more {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:42px;
    padding:9px 14px;
    border:1px solid rgba(115,132,95,.2);
    border-radius:12px;
    background:rgba(224,234,207,.68);
    color:#405437;
    font-size:.82rem;
    font-weight:800;
    text-decoration:none;
}
.nutrition-meal-add-more span {
    display:grid;
    place-items:center;
    width:22px;
    height:22px;
    border-radius:50%;
    background:#819765;
    color:#fff;
    font-size:1.1rem;
    line-height:1;
}
.nutrition-overview-block {
    display:grid;
    gap:12px;
}
.nutrition-overview-block > summary {
    list-style:none;
    cursor:pointer;
    display:grid;
    gap:12px;
}
.nutrition-overview-block:not([open]) .nutrition-overview-more {
    display:none;
}
.nutrition-overview-block > summary::-webkit-details-marker {
    display:none;
}
.nutrition-outside-heading--overview {
    margin:2px 0 -2px;
}
.nutrition-view-more {
    display:inline-flex;
    align-items:center;
    gap:3px;
    color:#405437;
    font-size:.72rem;
    font-weight:900;
    white-space:nowrap;
}
.nutrition-view-more span {
    display:inline-grid;
    place-items:center;
    width:8px;
    height:8px;
    font-size:0;
    line-height:0;
    border-top:1.5px solid currentColor;
    border-right:1.5px solid currentColor;
    transform:rotate(45deg);
    transform-origin:center;
}
.nutrition-overview-block[open] .nutrition-view-more span {
    transform:rotate(135deg);
}
.nutrition-overview-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
}
.nutrition-overview-metric {
    position:relative;
    display:grid;
    justify-items:center;
    gap:4px;
    text-align:center;
    color:#405437;
}
.nutrition-overview-metric + .nutrition-overview-metric::before {
    content:"";
    position:absolute;
    left:-4px;
    top:3px;
    bottom:3px;
    width:1px;
    background:rgba(64,84,55,.14);
}
.nutrition-overview-metric img {
    display:block;
    width:25px;
    height:25px;
    object-fit:contain;
    filter:drop-shadow(0 3px 4px rgba(64,84,55,.1));
}
.nutrition-metric--protein img {
    width:24px;
    height:24px;
    transform:translateY(-1px);
}
.nutrition-metric--fats img {
    width:22.5px;
    height:22.5px;
}
.nutrition-overview-metric strong {
    color:#405437;
    font-size:.82rem;
    line-height:1;
}
.nutrition-overview-metric small {
    color:#405437;
    font-size:.62rem;
    line-height:1;
    font-weight:800;
}
.nutrition-overview-more {
    display:grid;
    gap:9px;
    padding-top:0;
    margin-top:0;
    border-top:0;
}
.nutrition-overview-more div {
    display:grid;
    gap:6px;
    padding:9px 10px;
    border-radius:12px;
    background:rgba(255,255,255,.6);
}
.nutrition-detail-copy {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
}
.nutrition-overview-more span {
    color:#405437;
    font-size:.7rem;
    font-weight:800;
}
.nutrition-overview-more strong {
    color:#405437;
    font-size:.78rem;
    white-space:nowrap;
}
.nutrition-detail-meter {
    height:7px;
    border-radius:999px;
    overflow:hidden;
    background:rgba(64,84,55,.11);
    box-shadow:inset 0 0 0 1px rgba(64,84,55,.06);
}
.nutrition-detail-meter i {
    display:block;
    width:var(--detail-progress);
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg,#9eb877,#789765);
}
@media (max-width:420px) {
    .nutrition-redesign-shell { padding-left:8px; padding-right:8px; }
    .nutrition-redesign-hero { margin-left:-8px; margin-right:-8px; }
    .nutrition-photo-strip { gap:7px; }
    .nutrition-photo-card { min-height:112px; border-radius:16px; }
    .nutrition-meal-row > summary { grid-template-columns:38px minmax(0,1fr) auto 13px; gap:7px; padding-left:10px; padding-right:9px; }
    .nutrition-meal-macros { grid-template-columns:repeat(3,29px); }
    .nutrition-meal-macros small { font-size:.46rem; }
    .nutrition-meal-macros b { font-size:.62rem; }
    .nutrition-entry-drawer { padding-left:0; padding-right:0; }
}
@media (min-width:561px) {
    .nutrition-photo-card {
        aspect-ratio:4 / 5;
        min-height:0;
    }
}
@media (min-width:721px) {
    .nutrition-redesign-shell { max-width:var(--welluna-shell-wide-max); padding-left:24px; padding-right:24px; }
    .nutrition-redesign-hero { margin-left:-24px; margin-right:-24px; min-height:250px; padding-left:32px; padding-right:32px; }
    .nutrition-photo-card { min-height:168px; }
    .nutrition-card { border-radius:24px; }
    .nutrition-meal-row > summary { min-height:86px; grid-template-columns:54px minmax(0,1fr) auto 20px; padding:14px 18px; }
    .nutrition-meal-icon { width:42px; height:42px; }
    .nutrition-meal-copy strong { font-size:1rem; }
    .nutrition-meal-copy small { font-size:.78rem; }
    .nutrition-meal-macros { grid-template-columns:repeat(3,52px); gap:8px; }
    .nutrition-meal-macros small { font-size:.62rem; }
    .nutrition-meal-macros b { font-size:.82rem; }
    .nutrition-overview-more { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
body.add-redesign-body .nutrition-redesign-hero.add-redesign-hero {
    z-index:auto;
    isolation:auto;
    overflow:visible;
}
body.add-redesign-body .add-redesign-hero .nutrition-hero-topline {
    z-index:6;
}
body.add-redesign-body .add-redesign-hero .nutrition-title-lockup {
    z-index:7;
}
body.add-redesign-body .nutrition-side-leaves.add-side-leaves {
    z-index:6;
}
body.add-redesign-body .nutrition-date-card.add-date-card {
    position:relative;
    z-index:8;
}
body.add-redesign-body .nutrition-redesign-shell > .add-redesign-stack {
    z-index:4;
}
/* Shared wellness headers: match the Nutrition page's taller hero rhythm. */
body.checkin-v2-body .v2-page-shell,
body.cycle-v2-body .v2-page-shell,
body.insights-v2-body.movement-v2-body .v2-page-shell,
body.insights-v2-body.rituals-v2-body .v2-page-shell,
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-page-shell,
body.hydration-v2-body .v2-page-shell,
body.has-v2-nav:not(.v2-body) .menu-shell {
    width:min(100%,var(--welluna-shell-mobile-max)) !important;
    margin:0 auto !important;
    padding:0 var(--welluna-page-gutter) 104px !important;
    gap:12px !important;
}
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-insights-shell {
    padding-left:8px !important;
    padding-right:8px !important;
}
body.hydration-v2-body .v2-hydration-shell {
    padding-left:8px !important;
    padding-right:8px !important;
}
body.checkin-v2-body .v2-page-header,
body.cycle-v2-body .v2-page-header,
body.insights-v2-body.movement-v2-body .v2-page-header,
body.insights-v2-body.rituals-v2-body .v2-page-header,
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-page-header,
body.hydration-v2-body .v2-page-header,
body.has-v2-nav:not(.v2-body) .settings-header--settings {
    position:relative !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    place-items:center !important;
    align-content:start !important;
    margin:0 calc(var(--welluna-page-gutter) * -1) -2px !important;
    padding:var(--welluna-header-pad-top) var(--welluna-header-pad-x) var(--welluna-header-pad-bottom) !important;
    min-height:var(--welluna-header-height) !important;
    border-radius:0 !important;
    overflow:visible !important;
    background:transparent !important;
    color:var(--wellness-ink,#705d6c) !important;
    text-shadow:0 1px 14px rgba(255,255,245,.72) !important;
}
body.checkin-v2-body .v2-page-header,
body.cycle-v2-body .v2-page-header,
body.insights-v2-body.movement-v2-body .v2-page-header,
body.insights-v2-body.rituals-v2-body .v2-page-header,
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-page-header,
body.hydration-v2-body .v2-page-header {
    min-height:var(--welluna-header-height) !important;
    padding-bottom:var(--welluna-header-pad-bottom) !important;
}
body.checkin-v2-body .v2-page-header::before,
body.cycle-v2-body .v2-page-header::before,
body.insights-v2-body.movement-v2-body .v2-page-header::before,
body.insights-v2-body.rituals-v2-body .v2-page-header::before,
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-page-header::before,
body.hydration-v2-body .v2-page-header::before,
body.has-v2-nav:not(.v2-body) .settings-header--settings::before {
    display:none !important;
    content:none !important;
}
body.checkin-v2-body .v2-page-header::after,
body.cycle-v2-body .v2-page-header::after,
body.insights-v2-body.movement-v2-body .v2-page-header::after,
body.insights-v2-body.rituals-v2-body .v2-page-header::after,
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-page-header::after,
body.hydration-v2-body .v2-page-header::after,
body.has-v2-nav:not(.v2-body) .settings-header--settings::after {
    display:none !important;
    content:none !important;
    background:none !important;
}
body.checkin-v2-body .v2-page-header > div,
body.cycle-v2-body .v2-page-header > div,
body.insights-v2-body.movement-v2-body .v2-page-header > div,
body.insights-v2-body.rituals-v2-body .v2-page-header > div,
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-page-header > div,
body.hydration-v2-body .v2-page-header > div,
body.has-v2-nav:not(.v2-body) .settings-header--settings > div {
    position:relative !important;
    z-index:2 !important;
    grid-column:1 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    place-items:center !important;
    align-content:start !important;
    min-height:var(--welluna-title-band-height) !important;
    width:100% !important;
    max-width:100% !important;
}
body.checkin-v2-body .v2-page-header > div,
body.cycle-v2-body .v2-page-header > div,
body.insights-v2-body.movement-v2-body .v2-page-header > div,
body.insights-v2-body.rituals-v2-body .v2-page-header > div,
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-page-header > div,
body.hydration-v2-body .v2-page-header > div {
    align-content:center !important;
}
body.checkin-v2-body .v2-page-home-button,
body.cycle-v2-body .v2-page-home-button,
body.insights-v2-body.movement-v2-body .v2-page-home-button,
body.insights-v2-body.rituals-v2-body .v2-page-home-button,
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-page-home-button,
body.hydration-v2-body .v2-page-home-button,
body.has-v2-nav:not(.v2-body) .settings-header--settings .menu-trigger {
    display:none !important;
}
body.checkin-v2-body .v2-page-header .v2-page-kicker,
body.cycle-v2-body .v2-page-header .v2-page-kicker,
body.insights-v2-body.movement-v2-body .v2-page-header .v2-page-kicker,
body.insights-v2-body.rituals-v2-body .v2-page-header .v2-page-kicker,
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-page-header .v2-page-kicker,
body.hydration-v2-body .v2-page-header .v2-page-kicker,
body.has-v2-nav:not(.v2-body) .settings-header--settings .eyebrow {
    display:none !important;
}
body.checkin-v2-body .v2-page-header h1,
body.cycle-v2-body .v2-page-header h1,
body.insights-v2-body.movement-v2-body .v2-page-header h1,
body.insights-v2-body.rituals-v2-body .v2-page-header h1,
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-page-header h1,
body.hydration-v2-body .v2-page-header h1,
body.has-v2-nav:not(.v2-body) .settings-header--settings h1 {
    margin:0 !important;
    color:var(--wellness-ink,#705d6c) !important;
    font-family:Georgia,"Times New Roman",serif !important;
    font-size:clamp(1.7rem,6.9vw,2.45rem) !important;
    font-weight:700 !important;
    line-height:1.05 !important;
    letter-spacing:-.045em !important;
    text-align:center !important;
    text-shadow:0 1px 14px rgba(255,255,245,.72) !important;
}
body.checkin-v2-body .v2-page-header .page-title-text,
body.cycle-v2-body .v2-page-header .page-title-text,
body.insights-v2-body.movement-v2-body .v2-page-header .page-title-text,
body.insights-v2-body.rituals-v2-body .v2-page-header .page-title-text,
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-page-header .page-title-text,
body.hydration-v2-body .v2-page-header .page-title-text,
body.has-v2-nav:not(.v2-body) .settings-header--settings .page-title-text {
    display:grid !important;
    justify-items:center !important;
    align-items:center !important;
    gap:6px !important;
    max-width:100% !important;
}
body.checkin-v2-body .v2-page-header .page-title-inline-icon,
body.cycle-v2-body .v2-page-header .page-title-inline-icon,
body.insights-v2-body.movement-v2-body .v2-page-header .page-title-inline-icon,
body.insights-v2-body.rituals-v2-body .v2-page-header .page-title-inline-icon,
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-page-header .page-title-inline-icon,
body.hydration-v2-body .v2-page-header .page-title-inline-icon,
body.has-v2-nav:not(.v2-body) .settings-header--settings .page-title-inline-icon {
    position:static !important;
    display:block !important;
    width:52px !important;
    height:52px !important;
    margin:0 0 -2px !important;
    transform:none !important;
    object-fit:contain !important;
    filter:drop-shadow(0 0 4px rgba(255,255,255,.96)) drop-shadow(0 0 11px rgba(255,255,255,.86)) drop-shadow(0 0 19px rgba(255,255,255,.58)) drop-shadow(0 4px 10px rgba(65,88,52,.16)) !important;
}
body.hydration-v2-body .v2-page-header .page-title-inline-icon {
    width:42px !important;
    height:52px !important;
}
body.checkin-v2-body .v2-page-header p:not(.v2-page-kicker),
body.cycle-v2-body .v2-page-header p:not(.v2-page-kicker),
body.insights-v2-body.movement-v2-body .v2-page-header p:not(.v2-page-kicker),
body.insights-v2-body.rituals-v2-body .v2-page-header p:not(.v2-page-kicker),
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-page-header p:not(.v2-page-kicker),
body.hydration-v2-body .v2-page-header p:not(.v2-page-kicker) {
    display:block !important;
    margin-top:4px !important;
    color:var(--wellness-ink,#705d6c) !important;
    opacity:.72 !important;
    font-size:.72rem !important;
    line-height:1.25 !important;
    font-weight:500 !important;
    text-align:center !important;
}
body.checkin-v2-body .v2-page-header h1,
body.cycle-v2-body .v2-page-header h1,
body.insights-v2-body.movement-v2-body .v2-page-header h1,
body.insights-v2-body.rituals-v2-body .v2-page-header h1,
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-page-header h1,
body.hydration-v2-body .v2-page-header h1 {
    font-family:Georgia,"Times New Roman",serif !important;
    font-size:clamp(1.7rem,6.9vw,2.45rem) !important;
    font-weight:500 !important;
    line-height:1.05 !important;
    letter-spacing:0 !important;
    color:#3f3f3f !important;
}
body.checkin-v2-body .v2-page-header p:not(.v2-page-kicker),
body.cycle-v2-body .v2-page-header p:not(.v2-page-kicker),
body.insights-v2-body.movement-v2-body .v2-page-header p:not(.v2-page-kicker),
body.insights-v2-body.rituals-v2-body .v2-page-header p:not(.v2-page-kicker),
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-page-header p:not(.v2-page-kicker),
body.hydration-v2-body .v2-page-header p:not(.v2-page-kicker) {
    margin-top:4px !important;
    color:rgba(63,63,63,.72) !important;
    opacity:1 !important;
    font-size:.72rem !important;
    line-height:1.25 !important;
    font-weight:500 !important;
    letter-spacing:0 !important;
    text-align:center !important;
}
body.checkin-v2-body .v2-date-panel,
body.cycle-v2-body .v2-date-panel,
body.insights-v2-body.movement-v2-body .v2-date-panel,
body.insights-v2-body.rituals-v2-body .v2-date-panel,
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-date-panel,
body.hydration-v2-body .date-panel {
    position:relative !important;
    z-index:4 !important;
    width:var(--welluna-v2-date-width) !important;
    margin:var(--welluna-v2-date-overlap) auto 0 !important;
    box-sizing:border-box !important;
    padding:10px !important;
    border-radius:var(--welluna-date-radius) !important;
    background:rgba(255,255,255,.5) !important;
    border:1px solid rgba(255,255,255,.7) !important;
    box-shadow:0 16px 34px rgba(91,73,88,.1), inset 0 1px 0 rgba(255,255,255,.72) !important;
    backdrop-filter:blur(10px) !important;
}
body.checkin-v2-body .v2-date-panel .date-nav-row,
body.cycle-v2-body .v2-date-panel .date-nav-row,
body.insights-v2-body.movement-v2-body .v2-date-panel .date-nav-row,
body.insights-v2-body.rituals-v2-body .v2-date-panel .date-nav-row,
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-date-panel .date-nav-row,
body.hydration-v2-body .date-panel .date-nav-row {
    display:grid !important;
    grid-template-columns:48px minmax(0,1fr) 48px !important;
    gap:10px !important;
    align-items:center !important;
}
body.checkin-v2-body .v2-date-panel .date-current-chip,
body.checkin-v2-body .v2-date-panel .date-nav-button,
body.cycle-v2-body .v2-date-panel .date-current-chip,
body.cycle-v2-body .v2-date-panel .date-nav-button,
body.insights-v2-body.movement-v2-body .v2-date-panel .date-current-chip,
body.insights-v2-body.movement-v2-body .v2-date-panel .date-nav-button,
body.insights-v2-body.rituals-v2-body .v2-date-panel .date-current-chip,
body.insights-v2-body.rituals-v2-body .v2-date-panel .date-nav-button,
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-date-panel .date-current-chip,
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-date-panel .date-nav-button,
body.hydration-v2-body .date-panel .date-current-chip,
body.hydration-v2-body .date-panel .date-nav-button {
    width:100% !important;
    min-width:0 !important;
    min-height:48px !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.82) !important;
    border:1px solid rgba(91,73,88,.1) !important;
    color:var(--wellness-ink,#705d6c) !important;
    box-shadow:none !important;
    padding:0 !important;
}
body.checkin-v2-body .v2-date-panel .date-current-chip,
body.cycle-v2-body .v2-date-panel .date-current-chip,
body.insights-v2-body.movement-v2-body .v2-date-panel .date-current-chip,
body.insights-v2-body.rituals-v2-body .v2-date-panel .date-current-chip,
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-date-panel .date-current-chip,
body.hydration-v2-body .date-panel .date-current-chip {
    display:grid !important;
    place-items:center !important;
    align-content:center !important;
    gap:2px !important;
    font-weight:900 !important;
    overflow:hidden !important;
}
body.checkin-v2-body .v2-date-panel .date-current-chip small,
body.cycle-v2-body .v2-date-panel .date-current-chip small,
body.insights-v2-body.movement-v2-body .v2-date-panel .date-current-chip small,
body.insights-v2-body.rituals-v2-body .v2-date-panel .date-current-chip small,
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-date-panel .date-current-chip small,
body.hydration-v2-body .date-panel .date-current-chip small {
    color:var(--wellness-ink,#705d6c) !important;
    font-size:.68rem !important;
    line-height:1 !important;
    font-weight:700 !important;
}
body.checkin-v2-body .v2-date-panel .date-nav-button,
body.cycle-v2-body .v2-date-panel .date-nav-button,
body.insights-v2-body.movement-v2-body .v2-date-panel .date-nav-button,
body.insights-v2-body.rituals-v2-body .v2-date-panel .date-nav-button,
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-date-panel .date-nav-button,
body.hydration-v2-body .date-panel .date-nav-button {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:var(--wellness-ink,#705d6c) !important;
    text-decoration:none !important;
}
body.checkin-v2-body .v2-date-panel .date-nav-chevron,
body.cycle-v2-body .v2-date-panel .date-nav-chevron,
body.insights-v2-body.movement-v2-body .v2-date-panel .date-nav-chevron,
body.insights-v2-body.rituals-v2-body .v2-date-panel .date-nav-chevron,
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-date-panel .date-nav-chevron,
body.hydration-v2-body .date-panel .date-nav-chevron {
    display:block !important;
    width:13px !important;
    height:13px !important;
    font-size:0 !important;
    line-height:0 !important;
    color:inherit !important;
    border-top:3px solid currentColor !important;
    border-right:3px solid currentColor !important;
    transform-origin:center !important;
}
body.checkin-v2-body .v2-date-panel .date-nav-button:first-child .date-nav-chevron,
body.cycle-v2-body .v2-date-panel .date-nav-button:first-child .date-nav-chevron,
body.insights-v2-body.movement-v2-body .v2-date-panel .date-nav-button:first-child .date-nav-chevron,
body.insights-v2-body.rituals-v2-body .v2-date-panel .date-nav-button:first-child .date-nav-chevron,
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-date-panel .date-nav-button:first-child .date-nav-chevron,
body.hydration-v2-body .date-panel .date-nav-button:first-child .date-nav-chevron {
    transform:rotate(-135deg) !important;
}
body.checkin-v2-body .v2-date-panel .date-nav-button:last-child .date-nav-chevron,
body.cycle-v2-body .v2-date-panel .date-nav-button:last-child .date-nav-chevron,
body.insights-v2-body.movement-v2-body .v2-date-panel .date-nav-button:last-child .date-nav-chevron,
body.insights-v2-body.rituals-v2-body .v2-date-panel .date-nav-button:last-child .date-nav-chevron,
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-date-panel .date-nav-button:last-child .date-nav-chevron,
body.hydration-v2-body .date-panel .date-nav-button:last-child .date-nav-chevron {
    transform:rotate(45deg) !important;
}
body.cycle-v2-body .v2-section-card-icon {
    width:48px !important;
    height:48px !important;
    max-width:48px !important;
    max-height:48px !important;
    object-fit:contain !important;
    flex:0 0 48px !important;
}
body.checkin-v2-body {
    --wellness-page-bg:#f8e8e6;
    --wellness-ink:#81546b;
    --wellness-header-top:rgba(247,211,209,.68);
    --wellness-header-mid:rgba(248,230,235,.72);
    --wellness-header-bottom:rgba(255,250,246,.72);
    --wellness-header-glow:rgba(255,250,248,.88);
    --wellness-fade-mid:rgba(248,230,235,.48);
    --wellness-fade-late:rgba(255,250,246,.78);
    background:linear-gradient(180deg,#f7d3d1 0%,#f8e8e6 44%,#f5edf1 100%) !important;
}
body.insights-v2-body.movement-v2-body {
    --wellness-page-bg:#e8f3fb;
    --wellness-ink:#4f6f8f;
    --wellness-header-top:rgba(194,222,241,.72);
    --wellness-header-mid:rgba(224,239,249,.72);
    --wellness-header-bottom:rgba(255,250,246,.7);
    --wellness-header-glow:rgba(255,250,248,.82);
    --wellness-fade-mid:rgba(224,239,249,.52);
    --wellness-fade-late:rgba(255,250,246,.78);
    background:linear-gradient(180deg,#c2def1 0%,#e8f3fb 48%,#f7efe8 100%) !important;
}
body.cycle-v2-body {
    --wellness-page-bg:#f0e8f7;
    --wellness-ink:#715f8d;
    --wellness-header-top:rgba(213,200,232,.74);
    --wellness-header-mid:rgba(239,230,247,.76);
    --wellness-header-bottom:rgba(255,250,246,.72);
    --wellness-header-glow:rgba(255,249,244,.86);
    --wellness-fade-mid:rgba(239,230,247,.52);
    --wellness-fade-late:rgba(255,250,246,.78);
    background:linear-gradient(180deg,#d5c8e8 0%,#f0e8f7 46%,#f8f1fb 100%) !important;
}
body.insights-v2-body.rituals-v2-body {
    --wellness-page-bg:#fdf1e8;
    --wellness-ink:#9f7144;
    --wellness-header-top:rgba(251,234,223,.84);
    --wellness-header-mid:rgba(253,241,232,.78);
    --wellness-header-bottom:rgba(255,250,246,.72);
    --wellness-header-glow:rgba(255,252,247,.9);
    --wellness-fade-mid:rgba(253,241,232,.52);
    --wellness-fade-late:rgba(255,250,246,.78);
    background:linear-gradient(180deg,#fbeadf 0%,#fdf1e8 48%,#f8eee6 100%) !important;
}
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) {
    --wellness-page-bg:#fff4cf;
    --wellness-ink:#7d6b35;
    --wellness-header-top:rgba(247,222,143,.72);
    --wellness-header-mid:rgba(255,244,207,.72);
    --wellness-header-bottom:rgba(255,250,246,.68);
    --wellness-header-glow:rgba(255,250,248,.82);
    --wellness-fade-mid:rgba(255,244,207,.54);
    --wellness-fade-late:rgba(255,250,246,.78);
    background:linear-gradient(180deg,#f7de8f 0%,#fff4cf 50%,#fff8e8 100%) !important;
}
body.hydration-v2-body {
    --wellness-page-bg:#eef6fb;
    --wellness-ink:#346d86;
    --wellness-header-top:rgba(188,221,241,.72);
    --wellness-header-mid:rgba(223,240,249,.72);
    --wellness-header-bottom:rgba(255,252,248,.72);
    --wellness-header-glow:rgba(255,255,255,.86);
    --wellness-fade-mid:rgba(223,240,249,.48);
    --wellness-fade-late:rgba(255,252,248,.78);
    padding:0 0 calc(112px + env(safe-area-inset-bottom)) !important;
}
body.checkin-v2-body .v2-section-card,
body.cycle-v2-body .v2-section-card,
body.insights-v2-body.movement-v2-body .v2-section-card,
body.insights-v2-body.rituals-v2-body .v2-section-card,
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-section-card {
    background:linear-gradient(180deg,rgba(255,255,255,.76),var(--wellness-card-tint,rgba(248,230,235,.58))) !important;
    border-color:rgba(255,255,255,.7) !important;
}
body.checkin-v2-body { --wellness-card-tint:rgba(252,229,226,.58); }
body.checkin-v2-body .v2-checkin-reflection-card {
    display:grid;
    gap:16px;
    padding:20px 18px !important;
    overflow:hidden;
}
body.checkin-v2-body .v2-checkin-reflection-heading {
    display:grid;
    gap:5px;
    text-align:center;
}
body.checkin-v2-body .v2-checkin-reflection-heading h2 {
    margin:0;
    color:#604e5a;
    font-size:1.2rem;
    line-height:1.12;
}
body.checkin-v2-body .v2-checkin-reflection-heading p {
    margin:0;
    color:#a36978;
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}
body.checkin-v2-body .v2-checkin-reflection-heading p span {
    margin:0 4px;
    color:rgba(163,105,120,.54);
}
body.checkin-v2-body .v2-checkin-reflection-form {
    display:grid;
    gap:12px;
}
body.checkin-v2-body .v2-checkin-reflection-form label {
    display:grid;
    gap:9px;
    color:#685762;
    font-size:.92rem;
    font-weight:700;
    line-height:1.35;
}
body.checkin-v2-body .v2-checkin-reflection-form textarea {
    width:100%;
    min-height:116px;
    resize:vertical;
    padding:13px 14px;
    border:1px solid rgba(186,113,130,.2);
    border-radius:14px;
    background:rgba(255,252,250,.72);
    color:#604e5a;
    font:inherit;
    font-weight:400;
    line-height:1.45;
    box-shadow:inset 0 1px 3px rgba(121,88,100,.06);
}
body.checkin-v2-body .v2-checkin-reflection-form textarea::placeholder {
    color:rgba(111,91,103,.48);
    opacity:1;
}
body.checkin-v2-body .v2-checkin-reflection-form textarea:focus {
    outline:2px solid rgba(217,146,152,.3);
    outline-offset:1px;
    border-color:rgba(186,113,130,.46);
}
body.insights-v2-body.movement-v2-body { --wellness-card-tint:rgba(224,239,249,.62); }
body.cycle-v2-body { --wellness-card-tint:rgba(239,230,247,.62); }
body.insights-v2-body.rituals-v2-body { --wellness-card-tint:rgba(253,241,232,.66); }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) { --wellness-card-tint:rgba(255,244,207,.62); }
body.cycle-v2-body .v2-cycle-summary {
    position:relative;
    isolation:isolate;
    display:grid;
    align-content:center;
    gap:8px;
    width:calc(100% - 14px);
    min-height:100px;
    margin:0 7px 4px;
    padding:15px 28px 16px !important;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.9) !important;
    border-radius:32px !important;
    background:linear-gradient(180deg,rgba(255,249,244,.96) 0%,rgba(248,234,227,.9) 52%,rgba(239,216,210,.84) 100%),radial-gradient(ellipse at 18% 82%,rgba(241,204,191,.34),transparent 48%),radial-gradient(ellipse at 84% 80%,rgba(231,203,211,.28),transparent 52%) !important;
    box-shadow:0 10px 22px rgba(112,93,111,.14), inset 0 1px 0 rgba(255,255,255,.82), inset 0 -1px 0 rgba(145,122,134,.08) !important;
    text-align:center;
    transform:translateZ(0);
    -webkit-mask-image:-webkit-radial-gradient(white,black);
}
body.cycle-v2-body .v2-cycle-summary::before {
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-2px;
    z-index:0;
    height:60px;
    pointer-events:none;
    opacity:.86;
    background-image:linear-gradient(to top,rgba(225,188,179,.42) 0%,rgba(245,224,214,.24) 56%,rgba(255,255,255,.06) 100%),url("../images/bubble-clouds.png");
    background-size:cover,cover;
    background-position:center bottom,center bottom;
    background-repeat:no-repeat,no-repeat;
    background-blend-mode:multiply,normal;
    filter:contrast(1.08) brightness(1.02);
    -webkit-mask-image:linear-gradient(to top,rgba(0,0,0,.96) 0%,rgba(0,0,0,.74) 42%,rgba(0,0,0,.22) 76%,transparent 100%);
    mask-image:linear-gradient(to top,rgba(0,0,0,.96) 0%,rgba(0,0,0,.74) 42%,rgba(0,0,0,.22) 76%,transparent 100%);
}
body.cycle-v2-body .v2-cycle-summary .v2-section-label,
body.cycle-v2-body .v2-cycle-summary p {
    position:relative;
    z-index:2;
    color:#6f606b !important;
}
body.cycle-v2-body .v2-cycle-summary .v2-section-label {
    width:min(78%,calc(100% - clamp(92px,24vw,126px)));
    max-width:290px;
    margin:0 auto !important;
    gap:0 !important;
    font-size:.82rem;
    font-weight:400 !important;
    line-height:1;
    letter-spacing:.02em;
    white-space:nowrap;
}
body.cycle-v2-body .v2-cycle-summary .v2-section-label::before,
body.cycle-v2-body .v2-cycle-summary .v2-section-label::after {
    content:"";
    display:block;
    height:1px;
    flex:0 1 clamp(20px,8vw,38px);
    min-width:18px;
    max-width:38px;
    background:rgba(98,80,111,.28) !important;
}
body.cycle-v2-body .v2-cycle-summary .v2-section-icon {
    display:inline-block;
    flex:0 0 auto;
    width:22px;
    height:20px;
    margin-left:-6px;
    margin-right:-6px;
    object-fit:contain;
    filter:none;
}
body.cycle-v2-body .v2-cycle-summary p {
    max-width:280px;
    margin:8px auto 0 !important;
    padding-top:0 !important;
    border-top:0 !important;
    font-size:clamp(.74rem,2.9vw,.88rem);
    line-height:1.16;
    font-weight:400;
}
body.cycle-v2-body .v2-cycle-summary {
    width:100% !important;
    min-height:100px !important;
    margin:0 0 4px !important;
    padding:15px 28px 16px !important;
}
body.cycle-v2-body .v2-cycle-summary .v2-section-label {
    display:flex !important;
    min-width:0;
    box-sizing:border-box;
    width:fit-content !important;
    max-width:360px !important;
    gap:8px !important;
    justify-content:center !important;
    align-items:center !important;
    margin:0 auto !important;
    white-space:nowrap !important;
}
body.cycle-v2-body .v2-cycle-summary .v2-section-label::before,
body.cycle-v2-body .v2-cycle-summary .v2-section-label::after {
    flex:0 0 clamp(20px,6vw,30px) !important;
    width:clamp(20px,6vw,30px) !important;
    min-width:20px !important;
    max-width:30px !important;
}
body.cycle-v2-body .v2-cycle-summary .v2-section-icon {
    position:static;
    width:24px !important;
    height:22px !important;
    margin:0 !important;
    transform:none;
}
.v2-cycle-card .v2-cycle-phase-text {
    min-width:0;
    color:inherit;
    font:inherit;
    font-weight:400;
    line-height:inherit;
    text-align:center;
}
body.cycle-v2-body .v2-cycle-summary p {
    max-width:320px !important;
    margin:8px auto 0 !important;
    line-height:1.22 !important;
    text-align:center !important;
}
.v2-cycle-card .v2-cycle-insight {
    position:relative;
    z-index:2;
    width:100%;
    max-width:340px;
    margin:9px auto 0;
    display:grid;
    gap:9px;
    color:#6f606b;
    text-align:left;
}
.v2-cycle-card .v2-cycle-day {
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    max-width:none !important;
    color:inherit !important;
    font-size:.94rem !important;
    line-height:1.25 !important;
    text-align:center !important;
}
.v2-cycle-card .v2-cycle-day strong {
    color:#795d70;
    font-weight:800;
}
.v2-cycle-patterns,
.v2-cycle-support {
    padding-top:8px;
    border-top:1px solid rgba(112,93,108,.16);
}
.v2-cycle-insight-heading {
    display:block;
    margin-bottom:5px;
    color:#795d70;
    font-size:.78rem;
    font-weight:800;
    line-height:1.25;
}
.v2-cycle-patterns ul {
    margin:0;
    padding:0;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:4px 12px;
    list-style:none;
}
.v2-cycle-patterns li {
    position:relative;
    min-width:0;
    padding-left:11px;
    color:#6f606b;
    font-size:.84rem;
    line-height:1.25;
}
.v2-cycle-patterns li::before {
    content:"";
    position:absolute;
    left:0;
    top:.48em;
    width:4px;
    height:4px;
    border-radius:50%;
    background:#b97886;
}
.v2-cycle-support p,
.v2-cycle-pattern-empty {
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    color:#6f606b !important;
    font-size:.82rem !important;
    line-height:1.35 !important;
    text-align:left !important;
}
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card--personalized,
body.cycle-v2-body .v2-cycle-card--personalized {
    padding-top:17px !important;
    padding-bottom:20px !important;
}
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-cycle-insight .v2-cycle-day,
body.cycle-v2-body .v2-cycle-summary .v2-cycle-insight .v2-cycle-day {
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    font-size:.94rem !important;
    line-height:1.25 !important;
    text-align:center !important;
}
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-cycle-support p,
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-cycle-pattern-empty,
body.cycle-v2-body .v2-cycle-summary .v2-cycle-support p,
body.cycle-v2-body .v2-cycle-summary .v2-cycle-pattern-empty {
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    font-size:.82rem !important;
    line-height:1.35 !important;
    text-align:left !important;
}
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label {
    display:flex !important;
    box-sizing:border-box;
    width:fit-content !important;
    max-width:calc(100% - 24px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    gap:8px !important;
    align-items:center !important;
    justify-content:center !important;
    white-space:nowrap !important;
}
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label::before,
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label::after {
    flex:0 0 clamp(20px,6vw,30px) !important;
    width:clamp(20px,6vw,30px) !important;
    min-width:20px !important;
    max-width:30px !important;
}
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-icon {
    position:static !important;
    flex:0 0 24px !important;
    width:24px !important;
    height:22px !important;
    margin:0 !important;
    transform:none !important;
    object-fit:contain !important;
}
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-cycle-phase-text {
    flex:0 1 auto;
    overflow:hidden;
    text-overflow:ellipsis;
}
@media (max-width:370px) {
    .v2-cycle-patterns ul { grid-template-columns:1fr; }
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label {
        gap:5px !important;
    }
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label::before,
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card .v2-section-label::after {
        flex-basis:16px !important;
        width:16px !important;
        min-width:16px !important;
    }
}

body.cycle-v2-body .v2-section-card .primary-button {
    background:linear-gradient(135deg,#d29a8c 0%,#b97886 100%) !important;
    color:#fff !important;
    border:0 !important;
    box-shadow:0 12px 26px rgba(185,120,134,.22) !important;
}
body.cycle-v2-body .v2-flow-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin-bottom:18px;
}
body.cycle-v2-body .v2-cycle-choice-group {
    min-width:0;
    margin:0;
    padding:0;
    border:0;
}
body.cycle-v2-body .v2-cycle-choice-group + .v2-cycle-choice-group {
    margin-top:18px;
}
body.cycle-v2-body .v2-cycle-choice-group legend {
    width:100%;
    margin:0 0 8px;
    padding:0;
    color:#604e5a;
    font-size:.98rem;
    font-weight:800;
    line-height:1.35;
}
body.cycle-v2-body .v2-cycle-option-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
}
body.cycle-v2-body .v2-cycle-option-grid .v2-choice-pill { min-width:0; }
body.cycle-v2-body .v2-cycle-option-grid .v2-choice-pill span {
    min-height:82px;
    grid-template-rows:38px auto;
    align-content:center;
    gap:5px;
    padding:8px 4px 7px;
    overflow-wrap:anywhere;
    text-align:center;
}
body.cycle-v2-body .v2-cycle-answer-choice img {
    display:block;
    width:36px;
    height:36px;
    margin:0 auto;
    object-fit:contain;
    opacity:.82;
    transition:opacity 160ms ease,transform 160ms ease;
}
body.cycle-v2-body .v2-cycle-answer-choice em {
    min-width:0;
    color:inherit;
    font-size:.7rem;
    font-style:normal;
    font-weight:800;
    line-height:1.05;
    text-align:center;
    white-space:normal;
}
body.cycle-v2-body .v2-cycle-answer-choice input:checked + span img {
    opacity:1;
    transform:scale(1.06);
    filter:drop-shadow(0 3px 5px rgba(159,93,105,.12));
}
body.cycle-v2-body .v2-choice-pill input:checked + span {
    background:linear-gradient(180deg,#fffaf8 0%,#f4dddd 100%);
    color:#9f5d69;
    border-color:rgba(186,113,130,.5);
    box-shadow:0 8px 18px rgba(191,104,120,.14),inset 0 0 0 2px rgba(217,146,152,.14);
}
body.cycle-v2-body .v2-cycle-overview-card {
    position:relative;
    overflow:hidden;
    gap:18px;
    padding:20px;
    background:linear-gradient(145deg,rgba(255,253,250,.9) 0%,rgba(247,233,236,.84) 52%,rgba(235,229,244,.78) 100%) !important;
    border-color:rgba(255,255,255,.88);
    box-shadow:0 16px 34px rgba(100,76,94,.14),inset 0 1px 0 rgba(255,255,255,.86);
}
body.cycle-v2-body .v2-cycle-overview-heading {
    position:relative;
    z-index:1;
    align-items:center;
    gap:13px;
}
body.cycle-v2-body .v2-cycle-overview-heading > div {
    min-width:0;
}
body.cycle-v2-body .v2-cycle-overview-heading h2 {
    color:#634f5c;
    font-size:1.2rem;
    line-height:1.1;
}
body.cycle-v2-body .v2-cycle-overview-heading p {
    margin-top:5px;
    color:#806d77;
    font-size:.84rem;
    line-height:1.32;
}
body.cycle-v2-body .v2-cycle-overview-icon {
    flex:0 0 50px;
    width:50px;
    height:50px;
    display:grid;
    place-items:center;
    border-radius:16px;
    background:linear-gradient(145deg,rgba(247,218,215,.92),rgba(225,217,239,.9));
    border:1px solid rgba(255,255,255,.82);
    box-shadow:0 9px 18px rgba(116,85,104,.12),inset 0 1px 0 rgba(255,255,255,.8);
}
body.cycle-v2-body .v2-cycle-overview-icon img {
    display:block;
    width:34px;
    height:30px;
    object-fit:contain;
    filter:drop-shadow(0 2px 3px rgba(100,70,97,.14));
}
body.cycle-v2-body .v2-cycle-metrics {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    overflow:hidden;
    border-top:1px solid rgba(133,101,119,.12);
    border-bottom:1px solid rgba(133,101,119,.12);
    background:rgba(255,255,255,.36);
}
body.cycle-v2-body .v2-cycle-metrics > div {
    display:grid;
    align-content:center;
    gap:7px;
    min-width:0;
    min-height:100px;
    padding:14px 12px;
    text-align:center;
}
body.cycle-v2-body .v2-cycle-metrics > div + div {
    border-left:1px solid rgba(133,101,119,.12);
}
body.cycle-v2-body .v2-cycle-metrics span,
body.cycle-v2-body .v2-cycle-history article span {
    color:#806d77;
    font-size:.72rem;
    font-weight:800;
    line-height:1.25;
}
body.cycle-v2-body .v2-cycle-metrics span {
    text-transform:uppercase;
    letter-spacing:.07em;
}
body.cycle-v2-body .v2-cycle-metrics strong {
    display:flex;
    align-items:baseline;
    justify-content:center;
    gap:5px;
    color:#66515d;
    line-height:1;
}
body.cycle-v2-body .v2-cycle-metrics strong b {
    color:#8e6278;
    font-size:2rem;
    font-weight:700;
}
body.cycle-v2-body .v2-cycle-metrics strong small {
    color:#8a7781;
    font-size:.72rem;
    font-weight:800;
}
body.cycle-v2-body .v2-cycle-recent-lengths {
    display:grid;
    gap:10px;
    min-width:0;
}
body.cycle-v2-body .v2-cycle-recent-heading {
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:12px;
}
body.cycle-v2-body .v2-cycle-recent-heading span {
    color:#8c6679;
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
body.cycle-v2-body .v2-cycle-recent-heading strong {
    color:#75616d;
    font-size:.78rem;
}
body.cycle-v2-body .v2-cycle-length-strip {
    display:flex;
    gap:7px;
    overflow-x:auto;
    padding:1px 0 4px;
    scrollbar-width:none;
}
body.cycle-v2-body .v2-cycle-length-strip::-webkit-scrollbar { display:none; }
body.cycle-v2-body .v2-cycle-length-strip > span {
    flex:1 0 46px;
    min-width:46px;
    min-height:48px;
    display:grid;
    place-items:center;
    align-content:center;
    gap:1px;
    border-radius:14px;
    background:rgba(255,255,255,.6);
    border:1px solid rgba(143,105,124,.11);
    box-shadow:0 5px 12px rgba(105,78,94,.06);
}
body.cycle-v2-body .v2-cycle-length-strip b {
    color:#775a69;
    font-size:.92rem;
    line-height:1;
}
body.cycle-v2-body .v2-cycle-length-strip small {
    color:#9a818d;
    font-size:.58rem;
    font-weight:800;
    line-height:1;
}
body.cycle-v2-body .v2-cycle-history {
    overflow:hidden;
    border:1px solid rgba(146,105,121,.15);
    border-radius:16px;
    background:rgba(255,255,255,.56);
    box-shadow:0 7px 16px rgba(105,78,94,.06);
}
body.cycle-v2-body .v2-cycle-history > summary {
    position:relative;
    min-height:52px;
    display:flex;
    align-items:center;
    padding:12px 48px 12px 14px;
    color:#785d6d;
    font-weight:800;
    cursor:pointer;
    list-style:none;
}
body.cycle-v2-body .v2-cycle-history > summary span {
    display:flex;
    align-items:center;
    gap:9px;
}
body.cycle-v2-body .v2-cycle-history > summary img {
    width:25px;
    height:25px;
    object-fit:contain;
    opacity:.8;
}
body.cycle-v2-body .v2-cycle-history > summary::-webkit-details-marker { display:none; }
body.cycle-v2-body .v2-cycle-history > summary::after {
    content:"+";
    position:absolute;
    top:50%;
    right:14px;
    transform:translateY(-50%);
    width:26px;
    height:26px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(199,166,188,.18);
    font-size:1.1rem;
    font-weight:400;
}
body.cycle-v2-body .v2-cycle-history[open] > summary::after { content:"−"; }
body.cycle-v2-body .v2-cycle-history[open] > summary {
    background:rgba(247,236,242,.54);
}
body.cycle-v2-body .v2-cycle-history-content {
    display:grid;
    gap:10px;
    padding:14px;
    border-top:1px solid rgba(137,101,120,.12);
    background:linear-gradient(180deg,rgba(244,237,247,.45),rgba(255,251,248,.62));
}
body.cycle-v2-body .v2-cycle-history-heading {
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:12px;
    padding:0 2px 2px;
}
body.cycle-v2-body .v2-cycle-history-heading h3 {
    margin:0;
    color:#604e5a;
    font-size:1rem;
}
body.cycle-v2-body .v2-cycle-history-heading span {
    color:#9a818d;
    font-size:.68rem;
    font-weight:800;
    letter-spacing:.04em;
}
body.cycle-v2-body .v2-cycle-history article {
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1.45fr) repeat(2,minmax(0,.75fr));
    gap:10px;
    padding:13px 12px 13px 22px;
    border:1px solid rgba(139,104,122,.1);
    border-radius:14px;
    background:rgba(255,255,255,.72);
    box-shadow:0 5px 13px rgba(104,78,94,.055);
}
body.cycle-v2-body .v2-cycle-history article::before {
    content:"";
    position:absolute;
    left:10px;
    top:16px;
    width:5px;
    height:5px;
    border-radius:50%;
    background:#bc8394;
    box-shadow:0 0 0 4px rgba(188,131,148,.11);
}
body.cycle-v2-body .v2-cycle-history article div {
    display:grid;
    gap:3px;
    min-width:0;
}
body.cycle-v2-body .v2-cycle-history article strong {
    color:#66515d;
    font-size:.84rem;
    line-height:1.25;
}
body.cycle-v2-body .v2-cycle-history article div:first-child strong {
    color:#765665;
    font-size:.9rem;
}
@media (max-width:390px) {
    body.cycle-v2-body .v2-cycle-history article {
        grid-template-columns:1fr 1fr;
        gap:9px 12px;
    }
    body.cycle-v2-body .v2-cycle-history article div:first-child { grid-column:1 / -1; }
}
body.checkin-v2-body .v2-section-card .primary-button {
    background:linear-gradient(135deg,#d99298 0%,#ba7182 100%) !important;
    color:#fff !important;
    border:0 !important;
    box-shadow:0 12px 26px rgba(191,104,120,.22) !important;
}
body.checkin-v2-body .v2-range-field input[type="range"] {
    --range-progress:50%;
    width:100%;
    height:30px;
    margin:4px 0 0;
    padding:0;
    border:0;
    border-radius:999px;
    background:linear-gradient(90deg,#d99298 0 var(--range-progress),rgba(73,68,70,.82) var(--range-progress) 100%) center/100% 6px no-repeat;
    accent-color:#d99298;
    cursor:pointer;
    overflow:visible;
    -webkit-appearance:none;
    appearance:none;
}
body.checkin-v2-body .v2-range-field input[type="range"]::-webkit-slider-runnable-track {
    height:6px;
    border:0;
    border-radius:999px;
    background:transparent;
}
body.checkin-v2-body .v2-range-field input[type="range"]::-webkit-slider-thumb {
    width:18px;
    height:18px;
    margin-top:-6px;
    border:3px solid #d99298;
    border-radius:50%;
    background:#fffaf8;
    box-shadow:0 3px 8px rgba(123,87,98,.22);
    -webkit-appearance:none;
    appearance:none;
}
body.checkin-v2-body .v2-range-field input[type="range"]::-moz-range-track {
    height:6px;
    border:0;
    border-radius:999px;
    background:transparent;
}
body.checkin-v2-body .v2-range-field input[type="range"]::-moz-range-progress {
    height:6px;
    border-radius:999px;
    background:#d99298;
}
body.checkin-v2-body .v2-range-field input[type="range"]::-moz-range-thumb {
    width:18px;
    height:18px;
    border:3px solid #d99298;
    border-radius:50%;
    background:#fffaf8;
    box-shadow:0 3px 8px rgba(123,87,98,.22);
}
body.checkin-v2-body .v2-choice-pill input:checked + span {
    background:linear-gradient(180deg,#fffaf8 0%,#f6dedf 100%) !important;
    color:#9f5d69 !important;
    border-color:rgba(186,113,130,.58) !important;
    box-shadow:0 8px 18px rgba(191,104,120,.16), inset 0 0 0 2px rgba(217,146,152,.18) !important;
    transform:translateY(-1px);
}
body.checkin-v2-body .v2-emotional-weather-choice > span {
    min-height:82px;
    grid-template-rows:38px auto;
    align-content:center;
    gap:5px;
    padding:8px 4px 7px;
    text-align:center;
}
body.checkin-v2-body .v2-emotional-weather-choice img {
    display:block;
    width:38px;
    height:38px;
    margin:0 auto;
    object-fit:contain;
    opacity:.82;
    transition:opacity 160ms ease,transform 160ms ease;
}
body.checkin-v2-body .v2-emotional-weather-choice em {
    min-width:0;
    color:inherit;
    font-size:.76rem;
    font-style:normal;
    font-weight:800;
    line-height:1.05;
    text-align:center;
    white-space:normal;
}
body.checkin-v2-body .v2-emotional-weather-choice input:checked + span img {
    opacity:1;
    transform:scale(1.06);
    filter:drop-shadow(0 3px 5px rgba(159,93,105,.12));
}
body.checkin-v2-body .v2-checkin-recent-card {
    gap:12px;
    padding:18px 0 0 !important;
    border-radius:20px;
    overflow:hidden;
}
body.checkin-v2-body .v2-checkin-recent-heading {
    padding:0 18px;
}
body.checkin-v2-body .v2-section-card-icon--through-time {
    width:44px;
    height:44px;
    flex:0 0 44px;
}
body.checkin-v2-body .v2-checkin-recent-heading h2 {
    color:#604e5a;
    font-size:1.2rem;
    line-height:1.12;
}
body.checkin-v2-body .v2-checkin-recent-heading p {
    margin-top:4px;
    color:#7c6b73;
    font-size:.92rem;
    line-height:1.35;
}
body.checkin-v2-body .v2-checkin-recent-list {
    display:grid;
    gap:0;
    width:100%;
}
body.checkin-v2-body .v2-checkin-recent-list .empty-state {
    margin:0 18px 18px;
}
body.checkin-v2-body .v2-checkin-recent {
    display:block;
    border-radius:0;
    background:#fcf8f5;
    border:1px solid rgba(186,113,130,.16);
    border-bottom:0;
    overflow:hidden;
    box-shadow:none;
}
body.checkin-v2-body .v2-checkin-recent:first-of-type {
    border-radius:18px 18px 0 0;
}
body.checkin-v2-body .v2-checkin-recent:last-of-type {
    border-radius:0 0 18px 18px;
    border-bottom:1px solid rgba(186,113,130,.16);
}
body.checkin-v2-body .v2-checkin-recent:first-of-type:last-of-type {
    border-radius:18px;
}
body.checkin-v2-body .v2-checkin-recent summary {
    display:grid;
    grid-template-columns:40px minmax(0,1fr) 20px;
    align-items:center;
    gap:11px;
    min-height:74px;
    padding:12px 18px;
    cursor:pointer;
    list-style:none;
}
body.checkin-v2-body .v2-checkin-recent summary::-webkit-details-marker {
    display:none;
}
body.checkin-v2-body .v2-checkin-history-copy {
    display:grid;
    gap:3px;
    min-width:0;
}
body.checkin-v2-body .v2-checkin-history-icon {
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
}
body.checkin-v2-body .v2-checkin-history-icon img {
    display:block;
    width:34px;
    height:34px;
    object-fit:contain;
    opacity:.84;
}
body.checkin-v2-body .v2-checkin-recent summary strong {
    color:#604e5a;
    line-height:1.1;
}
body.checkin-v2-body .v2-checkin-recent summary small {
    color:#7c6b73;
    font-size:.84rem;
    line-height:1.2;
}
body.checkin-v2-body .v2-checkin-recent-arrow {
    display:grid;
    place-items:center;
    flex:0 0 20px;
    width:20px;
    height:32px;
    border-radius:0;
    color:#ba7182;
    background:transparent;
    font-size:1.9rem;
    line-height:1;
    transition:transform 160ms ease, background 160ms ease;
}
body.checkin-v2-body .v2-checkin-recent[open] .v2-checkin-recent-arrow {
    transform:rotate(90deg);
    background:transparent;
}
body.checkin-v2-body .v2-checkin-history-empty {
    margin:0 18px 16px 69px;
    padding:12px 14px;
    border-radius:12px;
    background:rgba(255,250,248,.72);
    border:1px solid rgba(186,113,130,.1);
    color:#7c6b73;
    font-size:.88rem;
    line-height:1.3;
}
body.checkin-v2-body .v2-checkin-recent-details {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    padding:0 18px 14px;
}
body.checkin-v2-body .v2-checkin-recent-details div {
    display:grid;
    gap:4px;
    min-width:0;
    padding:10px;
    border-radius:12px;
    background:rgba(255,250,248,.72);
    border:1px solid rgba(186,113,130,.1);
}
body.checkin-v2-body .v2-checkin-recent-details span {
    color:#9f5d69;
    font-size:.7rem;
    font-weight:900;
    line-height:1;
    text-transform:uppercase;
    letter-spacing:.06em;
}
body.checkin-v2-body .v2-checkin-recent-details strong {
    color:#604e5a;
    font-size:.88rem;
    line-height:1.25;
    overflow-wrap:anywhere;
}
body.checkin-v2-body .v2-checkin-recent-actions {
    display:flex;
    justify-content:flex-end;
    padding:0 18px 16px;
}
body.checkin-v2-body .v2-checkin-edit-button {
    min-height:40px;
    padding:9px 14px;
    border-radius:12px;
    background:rgba(255,250,248,.86) !important;
    border:1px solid rgba(186,113,130,.18) !important;
    color:#9f5d69 !important;
    box-shadow:none !important;
    font-size:.88rem;
    font-weight:800;
    text-decoration:none;
}
@media (max-width:430px) {
    body.checkin-v2-body .v2-checkin-recent-details {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
/* Non-home page backdrop: keep the header artwork continuous behind the date picker. */
body.checkin-v2-body,
body.cycle-v2-body,
body.insights-v2-body,
body.hydration-v2-body,
body.has-v2-nav:not(.v2-body):not(.nutrition-redesign-body) {
    background:
        linear-gradient(180deg,rgba(170,168,206,.76) 0%,rgba(189,184,215,.5) 118px,var(--wellness-fade-mid,rgba(246,240,244,.42)) 190px,var(--wellness-page-bg,#f6f0f4) 310px,var(--wellness-page-bg,#f6f0f4) 100%) !important;
}
body.checkin-v2-body::before,
body.cycle-v2-body::before,
body.insights-v2-body::before,
body.hydration-v2-body::before,
body.has-v2-nav:not(.v2-body):not(.nutrition-redesign-body)::before {
    content:"" !important;
    display:block !important;
    position:absolute !important;
    left:50% !important;
    top:0 !important;
    width:min(100%,var(--welluna-shell-mobile-max)) !important;
    height:190px !important;
    transform:translateX(-50%) !important;
    pointer-events:none !important;
    z-index:0 !important;
    filter:none !important;
    background:
        linear-gradient(180deg,rgba(170,168,206,.04) 0%,rgba(170,168,206,.02) 46%,var(--wellness-fade-mid,rgba(189,184,215,.18)) 76%,var(--wellness-page-bg,#f6f0f4) 100%),
        radial-gradient(ellipse at 48% 34%,rgba(255,250,248,.18),transparent 34%),
        url("../images/header-cloud-sparkle-lavender.png") center top/cover no-repeat !important;
    -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 76%,rgba(0,0,0,.62) 91%,transparent 100%) !important;
    mask-image:linear-gradient(180deg,#000 0%,#000 76%,rgba(0,0,0,.62) 91%,transparent 100%) !important;
}
body.checkin-v2-body::after,
body.cycle-v2-body::after,
body.insights-v2-body::after,
body.hydration-v2-body::after,
body.has-v2-nav:not(.v2-body):not(.nutrition-redesign-body)::after {
    background:
        linear-gradient(180deg,transparent 0%,transparent 168px,var(--wellness-page-bg,#f6f0f4) 310px,var(--wellness-page-bg,#f6f0f4) 100%) !important;
}
body.has-v2-nav.profile-settings-body:not(.v2-body) .menu-shell > form.panel,
body.has-v2-nav.profile-settings-body:not(.v2-body) .menu-shell > details.panel,
body.has-v2-nav.profile-settings-body:not(.v2-body) .menu-shell > .menu-list,
body.has-v2-nav.profile-settings-body:not(.v2-body) .menu-shell > .logout-form {
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
}
body.has-v2-nav.profile-settings-body:not(.v2-body) {
    padding-left:0 !important;
    padding-right:0 !important;
}
@media (max-width:767px) {
    .nutrition-redesign-shell,
    body.checkin-v2-body .v2-page-shell,
    body.cycle-v2-body .v2-page-shell,
    body.insights-v2-body .v2-page-shell,
    body.hydration-v2-body .v2-page-shell,
    body.has-v2-nav:not(.v2-body) .menu-shell {
        padding-left:8px !important;
        padding-right:8px !important;
    }
    body.insights-v2-body.movement-v2-body .v2-movement-shell,
    body.insights-v2-body.rituals-v2-body .v2-rituals-shell {
        padding-left:8px !important;
        padding-right:8px !important;
    }
}
body.has-v2-nav.profile-settings-body:not(.v2-body) .settings-header--settings .page-title-text {
    gap:8px !important;
}
body.has-v2-nav.profile-settings-body:not(.v2-body) .settings-header--settings .page-title-inline-icon--settings {
    margin:0 0 8px !important;
}
.add-card .add-meal-field { position:relative; width:100%; margin:0 0 10px; }
.add-meal-picker-details { position:relative; z-index:8; }
.add-meal-picker-details > summary { list-style:none; display:grid; grid-template-columns:34px minmax(0,1fr) 16px; align-items:center; gap:9px; width:100%; min-height:48px; padding:6px 12px; border:1px solid rgba(115,132,95,.14); border-radius:12px; background:rgba(255,255,255,.8); color:#405437; box-shadow:inset 0 1px 0 rgba(255,255,255,.62); cursor:pointer; }
.add-meal-picker-details > summary::-webkit-details-marker { display:none; }
.add-meal-picker-details > summary strong { font-size:.84rem; line-height:1.1; }
.add-meal-picker-icon { width:30px; height:30px; }
.add-meal-picker-icon img { max-width:22px; max-height:22px; }
.add-meal-picker-chevron { justify-self:end; color:#64765b; font-size:1.1rem; line-height:1; transform:rotate(90deg); transition:transform .15s ease; }
.add-meal-picker-details[open] > summary { border-color:rgba(112,135,86,.28); background:rgba(255,255,255,.96); }
.add-meal-picker-details[open] .add-meal-picker-chevron { transform:rotate(-90deg); }
.add-meal-picker-menu { position:absolute; top:calc(100% + 5px); left:0; right:0; z-index:20; display:grid; gap:2px; padding:5px; border:1px solid rgba(115,132,95,.16); border-radius:10px; background:rgba(255,253,250,.98); box-shadow:0 14px 30px rgba(73,87,66,.16); }
.add-meal-picker-option { width:100%; min-height:42px; display:grid; grid-template-columns:34px minmax(0,1fr) 18px; align-items:center; gap:9px; padding:5px 8px; border:0; border-radius:7px; background:transparent; color:#405437; font:inherit; font-size:.8rem; font-weight:800; text-align:left; cursor:pointer; }
.add-meal-picker-option:hover,.add-meal-picker-option:focus-visible { background:rgba(226,237,214,.58); outline:none; }
.add-meal-picker-option.is-selected { background:rgba(226,237,214,.76); }
.add-meal-picker-check { justify-self:end; color:#66804e; opacity:0; }
.add-meal-picker-option.is-selected .add-meal-picker-check { opacity:1; }
.favorite-food-button { width:34px; height:34px; flex:0 0 34px; display:grid; place-items:center; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.7); color:#9b897f; font-size:1.3rem; line-height:1; cursor:pointer; }
.favorite-food-button.is-favorite { background:rgba(225,183,146,.2); color:#bd7c66; box-shadow:inset 0 0 0 1px rgba(189,124,102,.14); }
.favorite-food-button.is-favorite span { font-size:0; }
.favorite-food-button.is-favorite span::after { content:"\2665"; font-size:1.2rem; }
.add-card .existing-item-card:not(.external-food-card) { position:relative; grid-template-columns:minmax(0,1fr); align-items:stretch; min-height:0; }
.add-card .existing-item-card:not(.external-food-card) .add-item-details { width:100%; grid-column:1; }
.add-card .existing-item-card:not(.external-food-card) .add-item-details > summary { grid-template-columns:minmax(0,1fr) 16px; min-height:78px; padding:10px 58px 8px 12px; gap:8px; align-items:center; }
.add-card .existing-item-card:not(.external-food-card) .add-item-details > summary strong { display:-webkit-box; overflow:hidden; text-overflow:ellipsis; white-space:normal; -webkit-box-orient:vertical; -webkit-line-clamp:2; font-size:.91rem; line-height:1.18; }
.add-card .existing-item-card:not(.external-food-card) .add-item-details > summary p.result-meta { margin-top:5px; font-size:.7rem; line-height:1.28; }
.add-card .existing-item-card:not(.external-food-card) .add-item-details > summary .nutrition-row-chevron { justify-self:end; color:#64765b; }
.add-card .existing-item-card:not(.external-food-card) > .favorite-food-button { position:absolute; top:15px; right:12px; z-index:2; width:36px; height:36px; background:rgba(255,255,255,.78); box-shadow:inset 0 0 0 1px rgba(115,132,95,.1); }
.add-card .existing-item-card:not(.external-food-card) > .existing-item-actions { grid-column:1; width:100%; grid-template-columns:58px minmax(92px,132px) minmax(40px,1fr); gap:7px; justify-content:stretch; padding:0 12px 10px; }
.add-card .existing-item-card:not(.external-food-card) > .existing-item-actions .field input,
.add-card .existing-item-card:not(.external-food-card) > .existing-item-actions .field select { width:100%; min-height:42px; height:42px; padding:6px 9px; font-size:.84rem; }
.add-card .existing-item-card:not(.external-food-card) > .existing-item-actions .secondary-button { width:100%; min-height:42px; height:42px; padding:6px 8px; font-size:.84rem; }
.add-card .existing-item-card:not(.external-food-card) > .entry-nutrition-preview { grid-column:1; width:auto; margin:0 12px 12px; padding:10px 12px; }
.add-card .external-food-card { position:relative; }
.add-card .external-food-card .external-result-details > summary { padding-right:58px; }
.external-quick-add { position:absolute; top:9px; right:10px; z-index:3; width:38px; height:38px; display:grid; place-items:center; padding:0; border:1px solid rgba(112,135,86,.18); border-radius:50%; background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(235,244,222,.94)); color:#617b4d; box-shadow:0 7px 16px rgba(91,105,76,.12); cursor:pointer; transition:background .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease; }
.external-quick-add:hover,.external-quick-add:focus-visible { transform:translateY(-1px); box-shadow:0 9px 18px rgba(91,105,76,.16); }
.external-quick-add:disabled { cursor:wait; opacity:.62; transform:none; }
.external-quick-add-icon { display:block; font-family:Arial,sans-serif; font-size:1.55rem; font-weight:500; line-height:1; transform:translateY(-1px); }
.external-quick-add.is-added { border-color:rgba(166,132,160,.2); background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(241,229,240,.96)); color:#8f6f91; }
.external-quick-add.is-added .external-quick-add-icon { font-size:1.35rem; font-weight:700; transform:none; }
.add-card .entry-nutrition-preview--inline { margin:3px 0 0; padding:0; border:0; border-radius:0; background:transparent; color:#526554 !important; box-shadow:none; text-align:left; font-size:.68rem; font-weight:800; line-height:1.3; }
.add-card .entry-nutrition-preview--inline.is-warning { color:#9b675d !important; background:transparent; }
.add-card .local-food-card .local-food-quick-add { position:static; top:auto; right:auto; z-index:auto; width:38px; height:38px; align-self:center; justify-self:end; }
.add-card form.existing-item-card.food-result-card { position:relative; min-height:70px; }
.add-card form.existing-item-card.food-result-card .food-result-details > summary { min-height:70px; padding:7px 161px 6px 10px; }
.add-card .food-result-summary { grid-template-columns:minmax(0,1fr) 13px !important; gap:5px !important; align-items:center !important; }
.add-card .food-result-summary .food-result-copy { min-width:0; }
.add-card .food-result-summary strong { display:block !important; overflow:hidden; text-overflow:ellipsis; white-space:nowrap !important; font-size:.8rem !important; line-height:1.12 !important; }
.add-card .food-result-summary p.result-meta { display:block; max-width:100%; margin-top:3px !important; overflow:hidden !important; text-overflow:ellipsis !important; white-space:nowrap !important; font-size:.61rem !important; line-height:1.15 !important; }
.add-card .food-result-summary .entry-nutrition-preview--inline { margin-top:3px !important; font-size:.59rem !important; }
.add-card .food-result-summary .nutrition-row-chevron { justify-self:end; color:#64765b; }
.add-card form.existing-item-card.food-result-card > .food-inline-actions { position:absolute; top:9px; right:7px; z-index:4; width:auto; display:grid; grid-template-columns:46px 64px 34px; gap:3px; align-items:center; padding:0; }
.add-card .existing-item-card > .food-inline-actions .field { display:block; min-width:0; }
.add-card .existing-item-card > .food-inline-actions .field span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.add-card form.existing-item-card.food-result-card > .food-inline-actions .field input,
.add-card form.existing-item-card.food-result-card > .food-inline-actions .field select { width:100%; min-height:34px; height:34px; padding:2px 4px; border-radius:7px; font-size:.64rem; }
.add-card .existing-item-card > .food-inline-actions input[type="number"] { appearance:textfield; -moz-appearance:textfield; padding-left:3px; padding-right:3px; text-align:center; }
.add-card .existing-item-card > .food-inline-actions input[type="number"]::-webkit-inner-spin-button,
.add-card .existing-item-card > .food-inline-actions input[type="number"]::-webkit-outer-spin-button { margin:0; -webkit-appearance:none; }
.add-card .existing-item-card > .food-inline-actions .local-food-quick-add { position:static; width:34px; height:34px; min-height:34px; padding:0; align-self:center; justify-self:end; }
.add-card .food-inline-actions .external-quick-add-icon { font-size:1.25rem; }
.add-item-drawer-toolbar { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:2px 4px 9px; }
.add-item-drawer-toolbar .pill { display:inline-flex; min-height:27px; padding:4px 8px; font-size:.68rem; }
.add-card .external-result-body > .add-item-drawer-toolbar { margin:4px 12px 8px; padding:0; }
.add-card .external-result-body > .external-confirm-actions { display:flex; justify-content:flex-end; grid-template-columns:none; }
.add-card .external-result-body > .external-confirm-actions .secondary-button { width:auto; }
.entry-nutrition-preview,.nutrition-live-preview { color:#526554; background:linear-gradient(135deg,rgba(225,238,216,.62),rgba(255,255,255,.72)); border:1px solid rgba(119,145,104,.13); }
.entry-nutrition-preview { margin:0 12px 12px; padding:9px 11px; border-radius:8px; font-size:.76rem; font-weight:800; line-height:1.35; text-align:center; }
.entry-nutrition-preview.is-warning { color:#9b675d; background:rgba(249,230,222,.72); }
.nutrition-live-preview { display:grid; gap:3px; padding:13px 14px; border-radius:8px; }
.nutrition-live-preview span { color:#72806d; font-size:.72rem; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.nutrition-live-preview strong { font-size:1rem; }
.nutrition-live-preview small { color:#73806f; font-weight:700; }
.external-portion-field { margin-bottom:12px; }
.external-share-choice { display:flex; align-items:center; gap:8px; padding:0 12px 13px; color:#6d7666; font-size:.8rem; font-weight:800; }
.external-share-choice input { accent-color:#178a76; }
.nutrition-save-scope { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.nutrition-save-scope legend { margin-bottom:7px; color:#59665b; font-weight:900; }
.nutrition-save-scope label { min-height:46px; display:flex; align-items:center; gap:8px; padding:9px 10px; border-radius:8px; background:rgba(255,255,255,.72); border:1px solid rgba(93,113,90,.1); color:#647064; font-size:.78rem; font-weight:800; }
.nutrition-save-scope input { accent-color:#178a76; }
.flash { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.flash-action { flex:0 0 auto; border:0; border-bottom:1px solid currentColor; background:transparent; color:inherit; padding:2px 0; font:inherit; font-weight:900; cursor:pointer; }
.nutrition-facts-edit-form .nutrition-fact-field { min-width:0; }
@media (max-width:420px) {
    .nutrition-save-scope { grid-template-columns:1fr; }
    .add-card form.existing-item-card.food-result-card .food-result-details > summary { padding-right:153px; }
    .add-card form.existing-item-card.food-result-card > .food-inline-actions { grid-template-columns:44px 60px 34px; gap:3px; right:6px; }
    .add-card .existing-item-card > .food-inline-actions .local-food-quick-add { width:34px; height:34px; min-height:34px; }
    .entry-nutrition-preview { font-size:.7rem; }
}
/* The home sky is viewport-aware even when the content shell remains phone-width. */
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cloudscape {
    left:50% !important;
    right:auto !important;
    width:min(100vw,960px) !important;
    height:210px !important;
    transform:translateX(-50%) !important;
    -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 68%,rgba(0,0,0,.76) 79%,rgba(0,0,0,.3) 91%,transparent 100%);
    mask-image:linear-gradient(to bottom,#000 0%,#000 68%,rgba(0,0,0,.76) 79%,rgba(0,0,0,.3) 91%,transparent 100%);
}
/* Larger screens keep the phone experience intact while using the available room deliberately. */
@media (min-width:768px) {
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-shell {
        width:min(calc(100% - var(--welluna-wide-gutter)),var(--welluna-home-wide-max)) !important;
        max-width:var(--welluna-home-wide-max) !important;
        padding-left:0 !important;
        padding-right:0 !important;
    }
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card {
        width:100% !important;
        max-width:none !important;
        margin-left:0 !important;
        margin-right:0 !important;
        border-radius:30px !important;
    }
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-cycle-card {
        width:100% !important;
        max-width:none !important;
        margin-left:0 !important;
        margin-right:0 !important;
    }
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list {
        padding-left:0 !important;
        padding-right:0 !important;
    }
    body.checkin-v2-body .v2-page-shell,
    body.cycle-v2-body .v2-page-shell,
    body.insights-v2-body .v2-page-shell,
    body.hydration-v2-body .v2-page-shell,
    body.has-v2-nav:not(.v2-body) .menu-shell {
        width:min(calc(100% - var(--welluna-wide-gutter)),var(--welluna-shell-wide-max)) !important;
        max-width:var(--welluna-shell-wide-max) !important;
        padding-left:0 !important;
        padding-right:0 !important;
    }
    body.insights-v2-body.movement-v2-body .v2-page-shell,
    body.insights-v2-body.rituals-v2-body .v2-page-shell,
    body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-page-shell {
        width:min(calc(100% - var(--welluna-wide-gutter)),var(--welluna-shell-wide-max)) !important;
        max-width:var(--welluna-shell-wide-max) !important;
        padding-left:0 !important;
        padding-right:0 !important;
    }
    .nutrition-redesign-shell {
        width:min(calc(100% - var(--welluna-wide-gutter)),var(--welluna-shell-wide-max)) !important;
        max-width:var(--welluna-shell-wide-max) !important;
        padding-left:24px !important;
        padding-right:24px !important;
    }
    .nutrition-redesign-hero {
        margin-left:-24px !important;
        margin-right:-24px !important;
    }
    .nutrition-photo-strip { gap:8px; }
    .nutrition-photo-card {
        aspect-ratio:4 / 5;
        min-height:0 !important;
    }
    body.profile-settings-body .menu-shell {
        grid-template-columns:minmax(0,1fr);
        column-gap:16px !important;
        align-items:start;
    }
    body.profile-settings-body .settings-header--settings,
    body.profile-settings-body .menu-list,
    body.profile-settings-body .hydration-settings-form,
    body.profile-settings-body .panel.settings-section,
    body.profile-settings-body .logout-form {
        grid-column:1 / -1;
    }
    body.profile-settings-body .menu-shell > form.panel { align-self:start; }
    body.has-v2-nav:not(.v2-body) .saved-items-shell {
        width:min(calc(100% - var(--welluna-wide-gutter)),var(--welluna-shell-wide-max)) !important;
        max-width:var(--welluna-shell-wide-max) !important;
    }
    .saved-items-shell > .panel {
        grid-template-columns:repeat(2,minmax(0,1fr));
        align-items:start;
        gap:10px !important;
    }
    .saved-items-shell > .panel > .entry-card { margin:0; }
    .saved-items-shell > .panel > .entry-card[open] { grid-column:1 / -1; }
    .v2-section-card,
    body.hydration-v2-body .panel,
    body.has-v2-nav:not(.v2-body) .panel {
        padding:22px;
    }
    body.checkin-v2-body .v2-checkin-reflection-card { padding:22px !important; }
    body.checkin-v2-body .v2-checkin-recent-card { padding-top:22px !important; border-radius:24px; }
    body.checkin-v2-body .v2-checkin-recent-heading { padding-left:22px; padding-right:22px; }
    body.movement-v2-body .v2-movement-entries-card { border-radius:24px; }
    body.movement-v2-body .movement-entry-list {
        width:calc(100% + 44px);
        margin-left:-22px;
        margin-right:-22px;
        margin-bottom:-22px;
    }
    body.rituals-v2-body .v2-rituals-card { padding-top:22px !important; border-radius:24px; }
    body.rituals-v2-body .v2-rituals-card > .v2-section-card-heading { padding-left:22px; padding-right:22px; }
    .v2-bottom-nav {
        width:min(calc(100% - var(--welluna-wide-gutter)),var(--welluna-nav-wide-max)) !important;
        max-width:var(--welluna-nav-wide-max) !important;
        left:50% !important;
        right:auto !important;
        transform:translateX(-50%) !important;
        border:1px solid rgba(117,104,114,.14);
        border-bottom:0;
        border-radius:24px 24px 0 0;
    }
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-bottom-nav {
        width:min(calc(100% - var(--welluna-wide-gutter)),var(--welluna-nav-wide-max)) !important;
        max-width:var(--welluna-nav-wide-max) !important;
        left:50% !important;
        right:auto !important;
        transform:translateX(-50%) !important;
    }
}
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-home-cycle-card {
    box-sizing:border-box;
    width:calc(100% - 28px) !important;
    max-width:920px !important;
    min-height:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:16px 28px 14px !important;
    overflow:hidden;
    border-radius:28px !important;
    text-align:left !important;
    background:linear-gradient(145deg,rgba(255,252,248,.88),rgba(245,232,239,.74)),radial-gradient(ellipse at 12% 18%,rgba(226,211,224,.38),transparent 42%) !important;
    box-shadow:0 14px 30px rgba(105,83,101,.14),inset 0 1px 0 rgba(255,255,255,.8) !important;
}
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card {
    box-sizing:border-box;
    width:calc(100% - 28px) !important;
    max-width:920px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    border-radius:28px !important;
}
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card,
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-home-cycle-card {
    border-width:2px !important;
    border-style:solid !important;
    border-color:rgba(255,255,255,.9) !important;
}
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-home-cycle-card.v2-cycle-card--personalized {
    padding:16px 28px 14px !important;
}
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card {
    background:
        radial-gradient(ellipse at 50% 76%,rgba(219,190,226,.44) 0%,rgba(232,210,237,.2) 34%,transparent 66%),
        linear-gradient(180deg,rgba(253,252,253,.98) 0%,rgba(250,247,251,.94) 52%,rgba(236,216,239,.82) 100%) !important;
    box-shadow:0 12px 28px rgba(112,93,111,.16),inset 0 2px 0 rgba(255,255,255,.98),inset 0 -5px 12px rgba(153,119,156,.08) !important;
}
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card .v2-section-label::before {
    background:linear-gradient(to right,transparent,rgba(205,161,84,.46)) !important;
}
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card .v2-section-label::after {
    background:linear-gradient(to left,transparent,rgba(205,161,84,.46)) !important;
}
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card .v2-section-icon {
    box-sizing:content-box !important;
    width:20px !important;
    height:20px !important;
    flex:0 0 20px !important;
    padding:5px !important;
    border:1px solid rgba(255,255,255,.92) !important;
    border-radius:50% !important;
    background:rgba(255,249,232,.62) !important;
    box-shadow:0 0 0 2px rgba(245,228,190,.28),0 4px 12px rgba(190,143,61,.18) !important;
    filter:drop-shadow(0 1px 2px rgba(158,111,36,.14)) !important;
}
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card p {
    margin-top:3px !important;
}
.v2-affirmation-sparkle {
    position:absolute;
    z-index:3;
    display:block;
    width:9px;
    height:9px;
    pointer-events:none;
    clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);
    filter:drop-shadow(0 0 5px rgba(255,255,255,.88));
}
.v2-affirmation-sparkle--left {
    left:10%;
    top:44%;
    background:#c98aa9;
}
.v2-affirmation-sparkle--right {
    top:20%;
    right:10%;
    width:8px;
    height:8px;
    background:#d3a23f;
}
body.cycle-v2-body .v2-rhythm-cycle-card,
body.cycle-v2-body .v2-rhythm-cycle-card.v2-cycle-card--personalized {
    width:100% !important;
    max-width:none !important;
    margin:0 0 4px !important;
    padding:16px 28px 14px !important;
    border:2px solid rgba(255,255,255,.9) !important;
}
body.cycle-v2-body .v2-rhythm-cycle-card .v2-home-cycle-day {
    width:100% !important;
    max-width:none !important;
    margin:2px 0 0 !important;
    padding:0 !important;
    border:0 !important;
    color:#705d78 !important;
    font-size:.76rem !important;
    font-style:normal !important;
    line-height:1.2 !important;
    text-align:left !important;
}
.v2-home-cycle-intro {
    display:grid;
    grid-template-columns:minmax(94px,.72fr) minmax(0,1.28fr);
    align-items:center;
    gap:10px;
}
.v2-home-cycle-identity {
    display:block;
    min-width:0;
}
.v2-home-cycle-copy {
    display:grid;
    gap:3px;
    min-width:0;
}
.v2-home-cycle-copy > span {
    color:#826d88;
    font-size:.68rem;
    font-weight:700;
    line-height:1.1;
}
.v2-home-cycle-copy > strong {
    overflow-wrap:anywhere;
    color:#5d4768;
    font-size:1.08rem;
    font-weight:800;
    line-height:1.08;
}
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-home-cycle-card .v2-home-cycle-day {
    width:100% !important;
    max-width:none !important;
    margin:2px 0 0 !important;
    padding:0 !important;
    justify-self:stretch !important;
    color:#705d78 !important;
    font-size:.76rem !important;
    font-style:normal !important;
    line-height:1.2 !important;
    text-align:left !important;
}
.v2-home-cycle-day strong {
    color:#b86682;
    font-weight:800;
}
.v2-home-cycle-track {
    position:relative;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:4px;
    margin:0;
    padding:0;
    list-style:none;
}
.v2-home-cycle-track::before {
    content:"";
    position:absolute;
    z-index:0;
    left:12.5%;
    right:12.5%;
    top:13px;
    height:1px;
    background:rgba(128,104,130,.28);
}
.v2-home-cycle-stage {
    position:relative;
    z-index:1;
    display:grid;
    justify-items:center;
    gap:5px;
    min-width:0;
}
.v2-home-cycle-stage-moon {
    box-sizing:border-box;
    display:block;
    position:relative;
    overflow:hidden;
    isolation:isolate;
    width:26px;
    height:26px;
    border-radius:50%;
    border:1px solid transparent;
    background:transparent;
    box-shadow:0 0 0 4px rgba(255,251,248,.84);
}
.v2-home-cycle-stage-moon::before,
.v2-home-cycle-stage-moon::after {
    display:none;
}
.v2-home-cycle-stage--menstrual .v2-home-cycle-stage-moon {
    background:transparent url("../icons/cycle-phase-menstrual_256x256.png") center/100% 100% no-repeat;
}
.v2-home-cycle-stage--follicular .v2-home-cycle-stage-moon {
    background:transparent url("../icons/cycle-phase-follicular_256x256.png") center/100% 100% no-repeat;
}
.v2-home-cycle-stage--ovulation .v2-home-cycle-stage-moon {
    background:transparent url("../icons/cycle-phase-ovulation_256x256.png") center/100% 100% no-repeat;
}
.v2-home-cycle-stage--luteal .v2-home-cycle-stage-moon {
    background:transparent url("../icons/cycle-phase-luteal_256x256.png") center/100% 100% no-repeat;
}
.v2-home-cycle-stage.is-active .v2-home-cycle-stage-moon {
    border:2px solid #a84f78;
    box-shadow:0 0 0 3px rgba(255,252,249,.98),0 0 0 6px rgba(180,80,124,.52),0 0 16px 5px rgba(171,93,151,.34);
}
.v2-home-cycle-stage small {
    display:block;
    max-width:100%;
    overflow:hidden;
    color:#75647a;
    font-size:.53rem;
    font-weight:700;
    line-height:1.05;
    text-align:center;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.v2-home-cycle-stage.is-active small {
    color:#a84f78;
    font-weight:900;
}
.v2-home-cycle-details,
.v2-home-cycle-learning {
    margin-top:10px;
    padding-top:9px;
    border-top:1px solid rgba(112,93,108,.16);
}
.v2-home-cycle-details {
    display:grid;
    grid-template-columns:minmax(0,.64fr) minmax(0,1.36fr);
    align-items:stretch;
    gap:8px;
}
.v2-home-cycle-patterns { padding:8px 0; }
.v2-home-cycle-detail-heading {
    display:flex;
    align-items:flex-start;
    gap:5px;
    min-height:2.4em;
    color:#65516e;
    font-size:.68rem;
    line-height:1.2;
}
.v2-home-cycle-detail-heading img {
    flex:0 0 16px;
    width:16px !important;
    height:16px !important;
    margin:1px 0 0 !important;
    object-fit:contain;
}
.v2-home-cycle-patterns ul {
    display:grid;
    grid-template-columns:1fr;
    gap:7px;
    margin:9px 0 0;
    padding:0;
    list-style:none;
}
.v2-home-cycle-patterns li {
    position:relative;
    min-width:0;
    padding-left:21px;
    color:#695972;
    font-size:.74rem;
    line-height:1.25;
}
.v2-home-cycle-patterns li::before {
    content:"";
    position:absolute;
    left:2px;
    top:.18em;
    box-sizing:border-box;
    width:9px;
    height:9px;
    border:2px solid rgba(255,255,255,.92);
    border-radius:50%;
    background:linear-gradient(145deg,#f3dcea,#9c7caf);
    box-shadow:0 0 0 1px rgba(140,111,153,.26),0 2px 7px rgba(110,79,125,.24);
}
.v2-home-cycle-card .v2-home-cycle-pattern-empty,
.v2-home-cycle-card .v2-home-cycle-support p,
.v2-home-cycle-card .v2-home-cycle-learning p {
    max-width:none !important;
    margin:9px 0 0 !important;
    padding:0 !important;
    border:0 !important;
    color:#6f606b !important;
    font-size:.74rem !important;
    font-style:normal !important;
    line-height:1.4 !important;
    text-align:left !important;
}
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-home-cycle-card .v2-home-cycle-pattern-empty,
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-home-cycle-card .v2-home-cycle-support p,
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-home-cycle-card .v2-home-cycle-learning p {
    max-width:none !important;
    margin:9px 0 0 !important;
    color:#6f606b !important;
    font-size:.74rem !important;
    font-style:normal !important;
    line-height:1.4 !important;
    text-align:left !important;
}
.v2-home-cycle-support {
    position:relative;
    padding:8px;
    overflow:hidden;
    border-radius:14px;
    background:linear-gradient(145deg,rgba(232,220,239,.7),rgba(249,238,239,.58));
}
.v2-home-cycle-support .v2-home-cycle-detail-heading img {
    width:18px !important;
    height:18px !important;
    flex-basis:18px;
    transform:translateY(-1px);
}
.v2-home-cycle-support .v2-home-cycle-detail-heading {
    min-height:0;
}
.v2-home-cycle-support .v2-home-cycle-detail-heading strong {
    transform:translateY(1px);
}
.v2-home-cycle-support-content {
    display:grid;
    grid-template-columns:minmax(0,1fr) 52px;
    align-items:start;
    gap:5px;
    margin-top:5px;
}
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-home-cycle-card .v2-home-cycle-support-content p {
    margin:0 !important;
    padding:0 0 0 4px !important;
}
body.cycle-v2-body .v2-rhythm-cycle-card .v2-home-cycle-support-content p {
    padding-left:4px !important;
}
.v2-home-cycle-support-art {
    position:relative;
    z-index:1;
    width:52px !important;
    height:52px !important;
    margin:0 !important;
    align-self:end;
    object-fit:contain;
    pointer-events:none;
    filter:drop-shadow(0 0 3px rgba(255,255,255,.98)) drop-shadow(0 0 8px rgba(255,255,255,.84)) drop-shadow(0 5px 8px rgba(92,65,88,.14));
}
.v2-home-cycle-learning {
    display:grid;
    grid-template-columns:32px minmax(0,1fr);
    align-items:start;
    gap:11px;
}
.v2-home-cycle-learning > img {
    width:32px !important;
    height:32px !important;
    margin:0 !important;
    object-fit:contain;
}
.v2-home-cycle-learning strong {
    color:#65516e;
    font-size:.86rem;
}
@media (min-width:768px) {
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-home-cycle-card,
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card {
        width:100% !important;
        border-radius:30px !important;
    }
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-home-cycle-card { padding:20px 28px 18px !important; }
    .v2-home-cycle-intro {
        grid-template-columns:minmax(250px,.9fr) minmax(310px,1.2fr);
        align-items:center;
        gap:30px;
    }
    .v2-home-cycle-copy > span { font-size:.82rem; }
    .v2-home-cycle-copy > strong { font-size:1.45rem; white-space:nowrap; }
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-home-cycle-card .v2-home-cycle-day { font-size:.9rem !important; }
    .v2-home-cycle-stage-moon { width:38px; height:38px; }
    .v2-home-cycle-track::before { top:19px; }
    .v2-home-cycle-stage small { font-size:.7rem; }
    .v2-home-cycle-detail-heading { gap:9px; min-height:0; font-size:.84rem; }
    .v2-home-cycle-detail-heading img { width:22px !important; height:22px !important; flex-basis:22px; }
    .v2-home-cycle-patterns li { padding-left:31px; font-size:.84rem; }
    .v2-home-cycle-patterns li::before { width:11px; height:11px; }
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-home-cycle-card .v2-home-cycle-pattern-empty,
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-home-cycle-card .v2-home-cycle-support p,
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-home-cycle-card .v2-home-cycle-learning p { font-size:.82rem !important; }
    .v2-home-cycle-details {
        grid-template-columns:minmax(180px,.72fr) minmax(360px,1.28fr);
        gap:20px;
        margin-top:13px;
        padding-top:10px;
    }
    .v2-home-cycle-patterns { padding:14px 0; }
    .v2-home-cycle-support {
        padding:14px 16px;
    }
    .v2-home-cycle-support .v2-home-cycle-detail-heading img { width:25px !important; height:25px !important; flex-basis:25px; }
    .v2-home-cycle-support-content { grid-template-columns:minmax(0,1fr) 82px; gap:12px; }
    .v2-home-cycle-support-art { width:82px !important; height:82px !important; }
}
@media (max-width:370px) {
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-home-cycle-card,
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card { width:calc(100% - 18px) !important; }
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-home-cycle-card { padding:14px 28px 12px !important; }
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-home-cycle-card.v2-cycle-card--personalized { padding:14px 28px 12px !important; }
    .v2-home-cycle-intro { grid-template-columns:minmax(92px,.75fr) minmax(0,1.25fr); gap:7px; }
    .v2-home-cycle-copy > span { font-size:.62rem; }
    .v2-home-cycle-copy > strong { font-size:.93rem; white-space:nowrap; }
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-home-cycle-card .v2-home-cycle-day { font-size:.68rem !important; white-space:nowrap; }
    .v2-home-cycle-stage-moon { width:23px; height:23px; }
    .v2-home-cycle-track::before { top:11.5px; }
    .v2-home-cycle-stage small { font-size:.42rem; }
    .v2-home-cycle-details { gap:8px; }
    .v2-home-cycle-detail-heading { min-height:3.6em; }
    .v2-home-cycle-patterns { padding:6px 0; }
    .v2-home-cycle-support { padding:6px; }
    .v2-home-cycle-support-content { grid-template-columns:minmax(0,1fr) 46px; gap:3px; }
    .v2-home-cycle-support-art { width:46px !important; height:46px !important; opacity:1; }
}
@media (min-width:768px) {
    body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-home-cycle-card.v2-cycle-card--personalized {
        padding:20px 28px 18px !important;
    }
    body.cycle-v2-body .v2-rhythm-cycle-card,
    body.cycle-v2-body .v2-rhythm-cycle-card.v2-cycle-card--personalized {
        padding:20px 28px 18px !important;
    }
}
@media (max-width:370px) {
    body.cycle-v2-body .v2-rhythm-cycle-card,
    body.cycle-v2-body .v2-rhythm-cycle-card.v2-cycle-card--personalized {
        padding:14px 28px 12px !important;
    }
}
.welluna-trademark {
    color:rgba(102,82,96,.68);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:10px;
    font-weight:600;
    line-height:1;
    letter-spacing:0;
    text-align:center;
    white-space:nowrap;
}
.welluna-trademark--auth {
    display:block;
    justify-self:center;
    margin:0;
}
.v2-bottom-nav {
    padding-top:24px !important;
}
.v2-bottom-nav > .welluna-trademark {
    position:absolute;
    top:6px;
    left:50%;
    transform:translateX(-50%);
    pointer-events:none;
}

/* Nutrition library: shared compact controls for recent, favorites, meals, and search. */
.add-card .add-search-shell { margin-bottom:8px; }
.add-library-tabs {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:4px;
    margin-top:8px;
    padding:4px;
    border:1px solid rgba(115,132,95,.12);
    border-radius:10px;
    background:rgba(255,255,255,.46);
}
.add-library-tab {
    min-width:0;
    min-height:50px;
    display:grid;
    place-items:center;
    align-content:center;
    gap:3px;
    padding:5px 2px;
    border:0;
    border-radius:7px;
    background:transparent;
    color:#6c7765;
    font:inherit;
    font-size:.64rem;
    font-weight:800;
    line-height:1.05;
    cursor:pointer;
}
.add-library-tab img { width:22px; height:22px; object-fit:contain; }
.add-library-tab.is-active {
    background:rgba(226,237,214,.82);
    color:#405437;
    box-shadow:inset 0 0 0 1px rgba(112,135,86,.14);
}
.add-library-panel { display:none; }
.add-library-panel.is-active { display:block; }
.add-search-results-panel { margin-top:8px; }
.add-library-heading {
    position:relative;
    z-index:6;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:34px;
    padding:2px 3px 5px;
}
.add-library-heading h2 { margin:0; color:#405437; font-size:.9rem; line-height:1.1; }
.add-library-filter-menu { position:relative; }
.add-library-filter-menu > summary {
    list-style:none;
    color:#667d4d;
    font-size:.69rem;
    font-weight:800;
    text-decoration:underline;
    text-underline-offset:3px;
    cursor:pointer;
}
.add-library-filter-menu > summary::-webkit-details-marker { display:none; }
.add-library-filter-menu > div {
    position:absolute;
    top:calc(100% + 5px);
    right:0;
    z-index:12;
    width:190px;
    display:grid;
    gap:8px;
    padding:10px;
    border:1px solid rgba(115,132,95,.16);
    border-radius:9px;
    background:rgba(255,253,250,.98);
    box-shadow:0 12px 26px rgba(73,87,66,.16);
}
.add-library-filter-menu label { display:grid; gap:4px; color:#6c7765; font-size:.65rem; font-weight:800; }
.add-library-filter-menu select { min-height:34px; padding:5px 7px; border-radius:7px; font-size:.72rem; }
.add-search-results-heading { justify-content:flex-start; }
.add-search-results-panel .search-empty-state { margin:0 0 5px; padding:6px 4px; background:transparent; }
.saved-meal-card .saved-meal-item-list { display:grid; gap:6px; padding:9px 11px 11px; }
.saved-meal-card .saved-meal-item-list div { display:flex; justify-content:space-between; gap:10px; color:#405437; font-size:.72rem; }
.saved-meal-card .saved-meal-item-list small { color:#75806e; text-align:right; }
.saved-meal-card .saved-meal-quick-add { top:17px; right:8px; }

/* Stacking quantity and unit gives food names and macro text the full readable lane. */
.add-card form.existing-item-card.food-result-card .food-result-details > summary { padding-right:100px; }
.add-card form.existing-item-card.food-result-card > .food-inline-actions {
    top:6px;
    right:6px;
    width:84px;
    grid-template-columns:47px 34px;
    grid-template-rows:28px 28px;
    gap:2px 3px;
}
.add-card form.existing-item-card.food-result-card > .food-inline-actions .field:first-child { grid-column:1; grid-row:1; }
.add-card form.existing-item-card.food-result-card > .food-inline-actions .field:nth-child(2) { grid-column:1; grid-row:2; }
.add-card form.existing-item-card.food-result-card > .food-inline-actions .field input,
.add-card form.existing-item-card.food-result-card > .food-inline-actions .field select {
    min-height:28px;
    height:28px;
    padding:1px 3px;
    font-size:.59rem;
}
.add-card .existing-item-card > .food-inline-actions .local-food-quick-add {
    grid-column:2;
    grid-row:1 / 3;
    width:34px;
    height:34px;
    min-height:34px;
}
.add-card .food-result-summary strong { font-size:.77rem !important; }
.add-card .food-result-summary p.result-meta { font-size:.58rem !important; }
.add-card .food-result-summary .entry-nutrition-preview--inline { font-size:.57rem !important; }

/* Meal favorites and reusable-meal action use the same quiet dashboard styling. */
.entry-card-heading-actions { display:flex; align-items:center; gap:7px; flex:0 0 auto; font-weight:800; }
.entry-favorite-form { margin:0; }
.entry-favorite-button {
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    padding:0;
    border:1px solid rgba(155,127,144,.18);
    border-radius:50%;
    background:rgba(255,255,255,.7);
    color:#9b7f90;
    cursor:pointer;
}
.entry-favorite-button span::before { content:"\2606"; font-size:1.2rem; line-height:1; }
.entry-favorite-button.is-favorite { background:rgba(235,212,226,.72); color:#b35f88; }
.entry-favorite-button.is-favorite span::before { content:"\2605"; }
.nutrition-save-meal { border:1px solid rgba(115,132,95,.18); border-radius:12px; background:rgba(255,255,255,.58); overflow:hidden; }
.nutrition-save-meal > summary {
    min-height:42px;
    justify-content:center;
    gap:8px;
    padding:9px 14px;
    color:#576c46;
    font-size:.82rem;
    font-weight:800;
    cursor:pointer;
}
.nutrition-save-meal-icon { font-size:1.08rem; }
.nutrition-save-meal > form { display:grid; gap:8px; padding:0 10px 10px; }
.nutrition-save-meal > form label { display:grid; gap:4px; color:#707b69; font-size:.68rem; font-weight:800; }
.nutrition-save-meal > form input { min-height:40px; padding:7px 9px; border-radius:9px; font-size:.8rem; }
.nutrition-save-meal > form button { min-height:40px; border:0; border-radius:9px; background:#839b64; color:#fff; font:inherit; font-size:.78rem; font-weight:800; }

@media (max-width:370px) {
    .add-library-tab { font-size:.58rem; }
    .add-library-tab img { width:20px; height:20px; }
    .add-card form.existing-item-card.food-result-card .food-result-details > summary { padding-right:96px; }
}

/* Home customization uses the same restrained controls as hydration preferences. */
.home-page-settings-stack { display:grid; gap:14px; }
.home-settings-group { display:grid; gap:10px; padding:12px; border:1px solid rgba(143,115,150,.12); border-radius:9px; background:rgba(255,255,255,.42); }
.home-settings-heading { display:grid; gap:3px; }
.home-settings-heading h3 { color:#604f61; font-size:.9rem; }
.home-settings-heading p { color:var(--muted); font-size:.72rem; line-height:1.35; }
.home-settings-toggle-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; min-height:54px; padding:8px 10px; border:1px solid rgba(143,115,150,.1); border-radius:8px; background:rgba(255,255,255,.62); }
.home-settings-toggle-row > span { display:grid; gap:3px; }
.home-settings-toggle-row strong { color:#604f61; font-size:.78rem; }
.home-settings-toggle-row small { color:var(--muted); font-size:.66rem; line-height:1.25; }
.home-settings-toggle-row input { width:40px; height:22px; accent-color:#9a7aa1; }
.home-feature-settings-list { display:grid; }
.home-feature-settings-row { display:grid; grid-template-columns:38px minmax(0,1fr) auto 70px; align-items:center; gap:7px; min-height:55px; padding:6px 0; border-top:1px solid rgba(96,79,97,.08); }
.home-feature-settings-row:first-child { border-top:0; }
.home-settings-link-icon { width:34px; height:34px; display:block; background-position:center; background-repeat:no-repeat; background-size:contain; }
.home-settings-link-icon--daily-checkin { background-image:url("../icons/heart.svg"); }
.home-settings-link-icon--daily-rituals { background-image:url("../icons/candle.svg"); }
.home-settings-link-icon--nutrition { background-image:url("../icons/nutrition-apple-nav.png"); }
.home-settings-link-icon--movement { background-image:url("../icons/yoga-person-blue.svg"); }
.home-settings-link-icon--cycle-tracking { background-image:url("../icons/4moons.png"); }
.home-feature-settings-name { min-width:0; color:#604f61; font-size:.76rem; font-weight:800; line-height:1.15; }
.home-feature-visibility-toggle { display:flex; align-items:center; gap:4px; color:var(--muted); font-size:.66rem; font-weight:800; }
.home-feature-visibility-toggle input { width:17px; height:17px; margin:0; accent-color:#9a7aa1; }
.home-feature-order-actions { display:grid; grid-template-columns:repeat(2,32px); gap:4px; }
.home-feature-order-actions button { display:grid; place-items:center; width:32px; height:32px; padding:0; border:1px solid rgba(143,115,150,.16); border-radius:8px; background:#fff; color:#806584; font:inherit; font-size:1rem; font-weight:900; cursor:pointer; }
.home-feature-order-actions button:disabled { opacity:.28; cursor:default; }
.home-nav-settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.home-page-settings-stack > .primary-button { width:100%; }

/* Configurable home-menu destinations retain recognizable native-friendly assets. */
.v2-bottom-nav .nav-icon--rituals::before { --nav-icon-file:url("../icons/candle.svg"); --nav-icon-size:auto 104%; --nav-icon-y:0px; inset:0 !important; }

/* Logged meal items now scan like catalog results while retaining editing controls. */
.nutrition-entry-drawer .entry-card { padding:11px 12px; }
.nutrition-entry-drawer .entry-card-heading { align-items:flex-start; gap:8px; }
.entry-card-result-copy { min-width:0; flex:1 1 auto; }
.entry-card-result-copy > strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#405437; font-size:.84rem; line-height:1.15; }
.entry-card-result-copy p.result-meta { margin-top:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#6e7968; font-size:.62rem; font-weight:700; line-height:1.2; }
.entry-card-result-copy .entry-card-macro-line { color:#526554; font-weight:800; }
.nutrition-entry-drawer .entry-card-heading-actions { padding-top:1px; }
.nutrition-entry-drawer .nutrition-entry-portion-form { grid-template-columns:minmax(70px,.72fr) minmax(112px,1.15fr) auto; margin-top:9px; padding-top:8px; border-top:1px solid rgba(115,132,95,.09); }
.nutrition-entry-drawer .nutrition-entry-facts { margin-top:9px; }

/* Save Meal is a warm companion action to the green Add More control. */
.nutrition-save-meal { border-color:rgba(203,165,73,.24); background:rgba(250,232,170,.68); }
.nutrition-save-meal > summary {
    display:grid;
    grid-template-columns:24px auto 16px;
    justify-content:center;
    align-items:center;
    gap:7px;
    color:#725c28;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.52);
}
.nutrition-save-meal-icon { display:block; width:24px; height:24px; object-fit:contain; }
.nutrition-save-meal-chevron { color:#9b7930; font-size:1.35rem; line-height:1; transition:transform .16s ease; }
.nutrition-save-meal[open] .nutrition-save-meal-chevron { transform:rotate(90deg); }
.nutrition-save-meal > form { padding-top:2px; background:rgba(255,253,245,.42); }

/* A few extra pixels keep "serving" clear of the native select arrow. */
.add-card form.existing-item-card.food-result-card .food-result-details > summary { padding-right:111px; }
.add-card form.existing-item-card.food-result-card > .food-inline-actions { width:95px; grid-template-columns:58px 34px; }

@media (max-width:420px) {
    .home-nav-settings-grid { grid-template-columns:1fr; }
    .add-card form.existing-item-card.food-result-card .food-result-details > summary { padding-right:108px; }
    .add-card form.existing-item-card.food-result-card > .food-inline-actions { width:92px; grid-template-columns:55px 34px; }
}

@media (max-width:370px) {
    .home-feature-settings-row { grid-template-columns:34px minmax(0,1fr) auto 62px; gap:5px; }
    .home-feature-order-actions { grid-template-columns:repeat(2,29px); }
    .home-feature-order-actions button { width:29px; height:29px; }
    .add-card form.existing-item-card.food-result-card .food-result-details > summary { padding-right:104px; }
}

/* Logged foods stay compact until their editing controls are requested. */
.nutrition-entry-drawer details.entry-card {
    padding:0;
    overflow:hidden;
}
.nutrition-entry-drawer details.entry-card > .entry-card-summary {
    display:grid;
    grid-template-columns:minmax(0,1fr) 18px;
    align-items:center;
    gap:8px;
    min-height:68px;
    padding:10px 12px;
    list-style:none;
    cursor:pointer;
}
.nutrition-entry-drawer details.entry-card > .entry-card-summary::-webkit-details-marker { display:none; }
.nutrition-entry-drawer .entry-card-chevron {
    color:#60734d;
    font-size:1.55rem;
    line-height:1;
    text-align:center;
    transition:transform .16s ease;
}
.nutrition-entry-drawer details.entry-card[open] > .entry-card-summary .entry-card-chevron { transform:rotate(90deg); }
.nutrition-entry-drawer .entry-card-expanded {
    padding:0 12px 11px;
    border-top:1px solid rgba(115,132,95,.1);
}
.nutrition-entry-drawer .entry-card-expanded-toolbar {
    display:flex;
    justify-content:flex-end;
    min-height:31px;
    padding-top:7px;
}
.nutrition-entry-drawer .nutrition-entry-action-row {
    display:grid;
    grid-template-columns:minmax(0,1fr) 40px;
    align-items:end;
    gap:7px;
}
.nutrition-entry-drawer .nutrition-entry-action-row .nutrition-entry-portion-form {
    margin-top:0;
    padding-top:0;
    border-top:0;
}
.nutrition-entry-delete-form { margin:0; }
.nutrition-entry-delete-button {
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    min-height:40px;
    padding:0;
    border:1px solid rgba(178,82,76,.22);
    border-radius:9px;
    background:rgba(250,231,229,.94);
    color:#b4524c;
    font:inherit;
    font-size:1.45rem;
    font-weight:500;
    line-height:1;
    cursor:pointer;
}
.nutrition-entry-delete-button:hover,
.nutrition-entry-delete-button:focus-visible { background:#f5d8d5; }

/* Every home card uses the same vertical rhythm, regardless of cycle placement. */
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-shell {
    --home-card-gap:9px;
}
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card {
    margin-bottom:var(--home-card-gap) !important;
}
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-home-cycle-card {
    margin-top:0 !important;
    margin-bottom:var(--home-card-gap) !important;
}
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-card-list {
    gap:var(--home-card-gap) !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
}
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-home-cycle-card--after-links {
    margin-top:var(--home-card-gap) !important;
}

@media (max-width:370px) {
    .nutrition-entry-drawer .nutrition-entry-action-row .nutrition-entry-portion-form {
        grid-template-columns:minmax(54px,.65fr) minmax(88px,1fr) auto;
    }
}

/* Saved meals remain compact while exposing owned meal and item controls on expansion. */
.add-card .saved-meal-card { position:relative; }
.add-card .saved-meal-card .food-result-details > summary {
    min-height:70px;
    padding:7px 54px 6px 10px;
}
.saved-meal-quick-add-form {
    position:absolute;
    top:17px;
    right:8px;
    z-index:4;
    margin:0;
}
.add-card .saved-meal-card .saved-meal-quick-add {
    position:static;
    top:auto;
    right:auto;
    width:34px;
    height:34px;
    min-height:34px;
}
.saved-meal-expanded {
    display:grid;
    gap:9px;
    padding:0 10px 10px;
}
.saved-meal-card .saved-meal-item-list {
    display:grid;
    gap:0;
    padding:0;
    border:1px solid rgba(115,132,95,.12);
    border-radius:8px;
    overflow:hidden;
}
.saved-meal-card .saved-meal-item-list > .saved-meal-item-row {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto 28px;
    align-items:center;
    gap:7px;
    min-height:40px;
    padding:5px 6px 5px 9px;
    border-top:1px solid rgba(115,132,95,.1);
    color:#405437;
    font-size:.68rem;
}
.saved-meal-card .saved-meal-item-list > .saved-meal-item-row:first-child { border-top:0; }
.saved-meal-card .saved-meal-item-list > .saved-meal-item-row > span {
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-weight:800;
}
.saved-meal-card .saved-meal-item-list > .saved-meal-item-row > small {
    color:#75806e;
    font-size:.62rem;
    white-space:nowrap;
}
.saved-meal-item-remove-form { margin:0; }
.saved-meal-item-remove-form button {
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    min-height:28px;
    padding:0;
    border:1px solid rgba(178,82,76,.18);
    border-radius:7px;
    background:rgba(250,231,229,.88);
    color:#b4524c;
    font:inherit;
    font-size:1.1rem;
    line-height:1;
    cursor:pointer;
}
.saved-meal-edit-form {
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(94px,.85fr);
    gap:7px;
    padding:9px;
    border:1px solid rgba(115,132,95,.12);
    border-radius:8px;
    background:rgba(247,250,241,.62);
}
.saved-meal-edit-form > strong {
    grid-column:1 / -1;
    color:#526544;
    font-size:.72rem;
}
.saved-meal-edit-form label {
    display:grid;
    gap:3px;
    min-width:0;
    color:#707b69;
    font-size:.61rem;
    font-weight:800;
}
.saved-meal-edit-form input,
.saved-meal-edit-form select {
    width:100%;
    min-width:0;
    min-height:36px;
    padding:5px 7px;
    border:1px solid rgba(115,132,95,.16);
    border-radius:7px;
    background:rgba(255,255,255,.9);
    color:#405437;
    font:inherit;
    font-size:.72rem;
}
.saved-meal-edit-form > button {
    grid-column:1 / -1;
    min-height:36px;
    padding:6px 10px;
    border:0;
    border-radius:7px;
    background:#839b64;
    color:#fff;
    font:inherit;
    font-size:.72rem;
    font-weight:800;
    cursor:pointer;
}

/* Keep the web app's home and inner-page accents aligned with the native app. */
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card {
    height:auto !important;
    min-height:84px !important;
    padding:11px 28px 9px !important;
    gap:5px !important;
    align-content:center !important;
}
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-affirmation-card p {
    margin:2px auto 0 !important;
}
.v2-affirmation-card .v2-affirmation-sparkle--left { top:40px; }
.v2-affirmation-card .v2-affirmation-sparkle--right { top:7px; }
body.v2-body:not(.checkin-v2-body):not(.cycle-v2-body):not(.insights-v2-body) .v2-home-cycle-card .v2-home-cycle-stage.is-active .v2-home-cycle-stage-moon,
body.cycle-v2-body .v2-rhythm-cycle-card .v2-home-cycle-stage.is-active .v2-home-cycle-stage-moon {
    border-color:transparent !important;
    box-shadow:0 0 0 2px rgba(255,249,225,.96),0 0 11px 5px rgba(241,190,65,.86),0 0 20px 9px rgba(226,167,49,.58) !important;
}
body.rituals-v2-body .v2-section-card .primary-button {
    background:linear-gradient(135deg,#f3d49a 0%,#d4a45f 100%) !important;
    color:#5d4029 !important;
    box-shadow:0 10px 22px rgba(191,139,79,.24) !important;
}
body.checkin-v2-body .v2-page-header--daily-checkin p:not(.v2-page-kicker),
body.cycle-v2-body .v2-page-header--cycle-tracking p:not(.v2-page-kicker),
body.insights-v2-body.movement-v2-body .v2-page-header--movement p:not(.v2-page-kicker),
body.insights-v2-body.rituals-v2-body .v2-page-header--daily-rituals p:not(.v2-page-kicker),
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-page-header--insights p:not(.v2-page-kicker),
body.hydration-v2-body .v2-page-header--hydration p:not(.v2-page-kicker),
body.nutrition-redesign-body:not(.add-redesign-body) .nutrition-title-lockup p {
    color:#3f3f3f !important;
    opacity:1 !important;
}
body.checkin-v2-body .v2-page-header--daily-checkin .page-title-inline-icon { filter:drop-shadow(0 0 8px rgba(231,162,174,1)) drop-shadow(0 0 19px rgba(231,162,174,.88)) drop-shadow(0 0 30px rgba(231,162,174,.58)) !important; }
body.cycle-v2-body .v2-page-header--cycle-tracking .page-title-inline-icon { filter:drop-shadow(0 0 8px rgba(196,167,221,1)) drop-shadow(0 0 19px rgba(196,167,221,.88)) drop-shadow(0 0 30px rgba(196,167,221,.58)) !important; }
body.insights-v2-body.movement-v2-body .v2-page-header--movement .page-title-inline-icon { filter:drop-shadow(0 0 8px rgba(156,196,223,1)) drop-shadow(0 0 19px rgba(156,196,223,.88)) drop-shadow(0 0 30px rgba(156,196,223,.58)) !important; }
body.insights-v2-body.rituals-v2-body .v2-page-header--daily-rituals .page-title-inline-icon { filter:drop-shadow(0 0 8px rgba(244,180,110,1)) drop-shadow(0 0 19px rgba(244,180,110,.88)) drop-shadow(0 0 30px rgba(244,180,110,.58)) !important; }
body.hydration-v2-body .v2-page-header--hydration .page-title-inline-icon { filter:drop-shadow(0 0 8px rgba(135,201,234,1)) drop-shadow(0 0 19px rgba(135,201,234,.88)) drop-shadow(0 0 30px rgba(135,201,234,.58)) !important; }
body.insights-v2-body:not(.movement-v2-body):not(.rituals-v2-body) .v2-page-header--insights .page-title-inline-icon { filter:drop-shadow(0 0 8px rgba(231,190,83,1)) drop-shadow(0 0 19px rgba(231,190,83,.88)) drop-shadow(0 0 30px rgba(231,190,83,.58)) !important; }
body.has-v2-nav.profile-settings-body:not(.v2-body) .settings-header--settings .page-title-inline-icon--settings { filter:drop-shadow(0 0 8px rgba(222,178,216,1)) drop-shadow(0 0 19px rgba(222,178,216,.88)) drop-shadow(0 0 30px rgba(222,178,216,.58)) !important; }
body.nutrition-redesign-body:not(.add-redesign-body) .nutrition-title-apple,
body.add-redesign-body .add-redesign-hero .add-title-icon { filter:drop-shadow(0 0 8px rgba(169,193,136,1)) drop-shadow(0 0 19px rgba(169,193,136,.88)) drop-shadow(0 0 30px rgba(169,193,136,.58)) !important; }
