
.custom-plan-build{margin:4px 0 14px;min-height:52px;border-radius:18px}.custom-plan-button{min-height:44px;padding:10px 14px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--violet-text);font:inherit}.custom-plan-item{display:grid;grid-template-columns:48px minmax(0,1fr) 36px;gap:8px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.custom-plan-item img{width:48px;height:48px;border-radius:12px;object-fit:cover}.custom-plan-item strong{font-size:14px}.custom-plan-item small{grid-column:2;color:var(--muted)}.custom-plan-item input{grid-column:2;grid-row:3;min-height:44px;width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:12px;padding:8px;background:var(--surface-strong,var(--surface));color:var(--text);font:inherit;font-size:16px}.custom-plan-item button{grid-column:3;grid-row:1;min-width:36px}.adaptive-plan-days{display:flex;overflow-x:auto;gap:7px;padding:7px 3px 12px;scrollbar-width:none;touch-action:pan-y;user-select:none;-webkit-touch-callout:none}.adaptive-plan-days::-webkit-scrollbar{display:none}.adaptive-plan-day{flex:1 0 39px;min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:17px;color:var(--muted);font-size:12px;transition:background .2s ease,transform .2s ease}.adaptive-plan-day strong{font-size:20px;color:var(--text)}.adaptive-plan-day[aria-pressed=true]{background:var(--violet);color:white;box-shadow:0 4px 14px rgba(111,80,190,.2)}.adaptive-plan-day[aria-pressed=true] strong{color:white}.adaptive-plan-day[aria-current=date]:not([aria-pressed=true]){border-color:var(--violet)}.adaptive-plan-day:active{transform:scale(.96)}@media(prefers-reduced-motion:no-preference){.adaptive-plan-meal{animation:studio-day-in .22s ease-out}@keyframes studio-day-in{from{opacity:.4;transform:translateX(8px)}to{opacity:1;transform:none}}}

.training-finish-dialog{box-sizing:border-box;width:calc(100% - 32px);max-width:420px;max-height:calc(100dvh - 80px);overflow:auto;padding:24px 20px;border:1px solid var(--line);border-radius:28px;background:var(--page);color:var(--text);}.training-finish-dialog::backdrop{background:#0009;}.training-finish-dialog h2{font-size:23px;line-height:1.25;margin:4px 0 14px;}.training-finish-dialog p{font-size:13px;line-height:1.5;color:var(--muted);}.training-finish-dialog small{color:var(--muted);font-size:11px;line-height:1.5;}.training-finish-mark{display:grid;place-items:center;width:56px;height:56px;margin-bottom:20px;background:var(--violet-soft);color:var(--violet-text);border-radius:20px;font-size:28px;}.training-finish-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0;}.training-finish-stats>div{display:grid;gap:6px;padding:16px;border:1px solid var(--line);background:var(--surface);border-radius:18px;}.training-finish-stats strong{font-size:27px;color:var(--violet-text);}.training-finish-dialog .training-finish-change{padding:14px;background:var(--violet-soft);color:var(--text);border-radius:16px;}.training-finish-dialog button{font-family:inherit;min-height:46px;cursor:pointer;}.training-finish-primary,.training-finish-close{display:block;width:100%;margin-top:12px;padding:12px;border-radius:16px;font-size:14px;font-weight:650;}.training-finish-primary{background:var(--violet);color:#fff;border:0;}.training-finish-close{background:var(--surface);color:var(--text);border:1px solid var(--line);}.plan-choice-option{display:grid;width:100%;text-align:left;gap:6px;padding:16px;margin:12px 0;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--text);}.plan-choice-option strong{font-size:15px;}.training-finish-dialog button:focus-visible{outline:2px solid var(--violet);outline-offset:3px;}@media(prefers-reduced-motion:no-preference){.training-finish-mark{animation:dnevio-finish-in .3s ease-out;}@keyframes dnevio-finish-in{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}}

[data-plans-dialog]{width:calc(100% - 24px);max-width:460px;max-height:calc(100dvh - 48px - var(--dnevio-safe-top,0px) - var(--dnevio-safe-bottom,0px));padding:18px;border:1px solid var(--line);border-radius:28px;background:var(--page);color:var(--text);overflow-y:auto;}
[data-plans-dialog] header{position:sticky;top:-18px;z-index:2;background:var(--page);padding:12px 0;display:flex;align-items:center;justify-content:space-between;gap:8px;}[data-plans-dialog] #plans-title{font-size:21px;margin:0;}[data-close-plans]{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--text);font-size:24px;}
[data-plans-dialog] .plans-hero{padding:20px 18px;margin:4px 0 18px;border-radius:22px;background:linear-gradient(130deg,var(--violet-soft),var(--surface));border:1px solid var(--line);}[data-plans-dialog] .plans-eyebrow{font-size:10px;letter-spacing:.08em;font-weight:750;color:var(--violet-text);}[data-plans-dialog] h3{font-size:23px;line-height:1.2;margin:12px 0;}[data-plans-dialog] p{font-size:13px;line-height:1.5;color:var(--muted);}[data-plans-dialog] .plans-tabs{display:flex;gap:4px;padding:5px;border-radius:17px;background:var(--surface);margin:0 0 12px;}[data-plans-dialog] .plans-tabs button{flex:1;min-height:44px;border:0;border-radius:13px;background:transparent;color:var(--muted);font-weight:700;}[data-plans-dialog] .plans-tabs button[aria-selected=true]{background:var(--violet-soft);color:var(--violet-text);}
[data-plans-dialog] .plans-featured{padding:22px 18px;border:1px solid var(--line);border-radius:24px;background:var(--surface);}[data-plans-dialog] .plans-price{display:flex;align-items:baseline;gap:8px;margin:22px 0 4px;}[data-plans-dialog] .plans-price strong{font-size:36px;letter-spacing:-1px;}[data-plans-dialog] .plans-price span,[data-plans-dialog] small{font-size:11px;color:var(--muted);line-height:1.5;}[data-plans-dialog] .plans-benefits{display:grid;gap:14px;list-style:none;padding:0;margin:24px 0;}[data-plans-dialog] .plans-benefits li{display:flex;gap:10px;font-size:13px;line-height:1.4;}[data-plans-dialog] .plans-feature-icon{color:var(--violet-text);}[data-plans-dialog] .plans-included{padding:14px;border-radius:15px;text-align:center;background:var(--violet-soft);color:var(--violet-text);font-size:13px;font-weight:700;}
[data-plans-dialog] .plans-comparison,[data-plans-dialog] .plans-promo{margin-top:14px;border:1px solid var(--line);padding:15px;border-radius:18px;background:var(--surface);}[data-plans-dialog] summary{font-size:13px;font-weight:650;min-height:24px;cursor:pointer;}[data-plans-dialog] .plans-compare-row{padding:14px 0;border-bottom:1px solid var(--line);}[data-plans-dialog] .plans-compare-row:last-child{border-bottom:0;}[data-plans-dialog] .plans-compare-row p{margin:6px 0;}[data-plans-dialog] .plans-coach{margin-top:18px;padding:20px 16px;border:1px solid var(--line);border-radius:24px;background:var(--surface);}[data-plans-dialog] .plans-coach h3{font-size:21px;}[data-plans-dialog] .plans-seat-label{display:grid;grid-template-columns:1fr auto;gap:12px;margin:20px 0;font-size:13px;}[data-plans-dialog] .plans-seat-label strong{color:var(--violet-text);font-size:22px;}[data-plans-dialog] input[type=range]{grid-column:1/-1;width:100%;min-height:44px;accent-color:var(--violet);}[data-plans-dialog] .plans-seat-total{font-size:20px;font-weight:750;margin-bottom:12px;color:var(--violet-text);}[data-plans-dialog] .plans-footnote{font-size:11px;padding:8px 6px;margin-bottom:0;}[data-plans-dialog] .plans-usage{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0;}[data-plans-dialog] .plans-usage-item{display:grid;gap:6px;padding:10px;background:var(--violet-soft);border-radius:12px;}[data-plans-dialog] .plans-usage-item span{font-size:11px;}[data-plans-dialog] .plans-usage-item strong{font-size:20px;}[data-plans-dialog] button:focus-visible,[data-plans-dialog] input:focus-visible{outline:2px solid var(--violet);outline-offset:3px;}

[data-screen="progress"] .progress-tabs{display:flex;overflow-x:auto;scrollbar-width:none;gap:4px;}[data-screen="progress"] .progress-tabs button{flex:1 0 auto;min-width:66px;padding-left:12px;padding-right:12px;}
.sleep-period{font-size:11px;color:var(--muted)}.sleep-food-card{margin-top:16px;padding:20px 16px;border:1px solid var(--line);border-radius:26px;background:var(--surface);}.sleep-food-card h3{margin:0 0 12px;font-size:18px}.sleep-food-card p{font-size:14px;line-height:1.5}.sleep-food-card>small{display:block;font-size:11px;color:var(--muted);line-height:1.5}.sleep-food-groups{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.sleep-food-groups>div{display:grid;gap:8px;background:var(--violet-soft);padding:12px;border-radius:16px}.sleep-food-groups strong{font-size:19px;color:var(--violet-text)}.sleep-food-groups small,.sleep-food-groups span{font-size:11px;color:var(--muted)}[data-sleep-chart]>p{font-size:12px;color:var(--muted);line-height:1.5}

.water-liquid{transform:translateY(var(--water-level,27px));transition:transform .7s cubic-bezier(.2,.7,.2,1);}
.water-wave{fill:currentColor;}.water-wave-back{opacity:.3;}.water-wave-front{opacity:.78;}
.water-bubble{fill:#fff;opacity:0;transform-box:fill-box;transform-origin:center;}
.diary-flame{display:block;width:22px;height:28px;transform-origin:center bottom;}
@media(prefers-reduced-motion:no-preference){
 .water-reacting .water-wave-front{animation:dnevio-water-wave .85s ease-in-out 3;}
 .water-reacting .water-wave-back{animation:dnevio-water-wave 1.1s ease-in-out 2 reverse;}
 .water-reacting .water-bubble{animation:dnevio-water-bubble 1.2s ease-out 2;}
 .water-reacting .water-bubble-two{animation-delay:.18s;}.water-reacting .water-bubble-three{animation-delay:.3s;}
 [data-goal-flame].flame-reacting .diary-flame{animation:dnevio-flame .6s ease-in-out 3;filter:drop-shadow(0 0 3px #ffac5b66);}
 @keyframes dnevio-water-wave{50%{transform:translateX(-8px) translateY(-.7px);}}
 @keyframes dnevio-water-bubble{0%{opacity:0;transform:translateY(0) scale(.5);}30%{opacity:.7;}100%{opacity:0;transform:translateY(-14px) scale(1);}}
 @keyframes dnevio-flame{30%{transform:scaleX(.9) scaleY(1.07) rotate(-4deg);}70%{transform:scaleX(1.04) scaleY(.97) rotate(3deg);}}
}
@media(prefers-reduced-motion:reduce){.water-liquid{transition:none;}.diary-flame,.water-wave,.water-bubble{animation:none!important;}}

[data-weight-chart-card], [data-weight-chart-card] *, [data-progress-panel="weight"] .weight-summary, [data-progress-panel="weight"] .weight-summary * { -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; }

[data-progress-panel="weight"] .weight-summary { padding:22px 20px; border-radius:26px; background:linear-gradient(130deg,#7054d1,#493785 65%,#342b58); box-shadow:0 12px 32px color-mix(in srgb,var(--violet) 15%,transparent); }
[data-progress-panel="weight"] .weight-current > strong { font-size:clamp(42px,12vw,52px); font-variant-numeric:tabular-nums; }
[data-progress-panel="weight"] .weight-current p { font-size:12px; min-height:32px; }
[data-progress-panel="weight"] .weight-current p.is-negative { color:#e0d4ff; }
[data-weight-chart-card] { padding:20px 16px 16px; border-radius:26px; }
[data-weight-chart-card] .progress-line-chart { width:100%; height:auto; aspect-ratio:320 / 175; overflow:visible; touch-action:pan-y; outline:none; }
[data-weight-chart-card] .actual-line { stroke:url(#dnevio-weight-gradient); stroke-width:3.6; fill:none; stroke-linecap:round; stroke-linejoin:round; }
[data-weight-chart-card] [data-weight-area] { fill:url(#dnevio-weight-fill); stroke:none; }
[data-weight-chart-card] [data-weight-points] circle { fill:var(--surface); stroke:#ae93f5; stroke-width:1.8; }
[data-weight-chart-card] [data-weight-cursor] { stroke:var(--muted); stroke-dasharray:3 5; stroke-width:1; }
[data-weight-chart-card] [data-weight-cursor-dot] { fill:#ccb8ff; stroke:var(--surface); stroke-width:3; }
[data-weight-chart-card] [data-weight-cursor], [data-weight-chart-card] [data-weight-cursor-dot] { opacity:0; }
[data-weight-chart-card] svg[data-exploring] [data-weight-cursor], [data-weight-chart-card] svg[data-exploring] [data-weight-cursor-dot] { opacity:1; }
[data-weight-chart-card] svg:focus-visible { outline:2px solid var(--violet); outline-offset:4px; border-radius:14px; }
.weight-explore-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:22px; color:var(--muted); font-size:11px; }
.weight-explore-footer strong { color:var(--text); font-size:12px; font-weight:600; }
[data-screen="progress"] button:active { transform:scale(.97); }
.progress-awaiting { opacity:0; transform:translateY(10px); }
.progress-arrived { animation:dnevio-progress-arrive 240ms cubic-bezier(.2,.7,.3,1) both; }
@keyframes dnevio-progress-arrive { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) { .progress-awaiting { opacity:1; transform:none; } .progress-arrived { animation:none; } }

.body-metric-card {padding:20px 16px 16px;border-radius:26px;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;}
.body-metric-card * {-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;}
.body-metric-unit{color:var(--muted);font-size:12px;white-space:nowrap;}
.body-metric-reading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:18px 0 6px;}
.body-metric-reading strong{font-size:34px;letter-spacing:-1px;font-variant-numeric:tabular-nums;}
.body-metric-reading span{font-size:12px;color:var(--muted);}
.body-metric-card svg{width:100%;height:auto;aspect-ratio:320/144;touch-action:pan-y;outline:none;}
.body-metric-card svg:focus-visible{outline:2px solid var(--violet);outline-offset:4px;border-radius:14px;}
.body-metric-card [data-metric-line]{fill:none;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round;}
.body-metric-card [data-metric-points] circle{fill:var(--surface);stroke:#ae93f5;stroke-width:1.8;}
.body-metric-card [data-metric-cursor]{stroke:var(--muted);stroke-dasharray:3 5;stroke-width:1;}
.body-metric-card [data-metric-cursor-dot]{fill:#ccb8ff;stroke:var(--surface);stroke-width:3;}
.body-metric-card [data-metric-cursor],.body-metric-card [data-metric-cursor-dot]{opacity:0;}
.body-metric-card svg[data-exploring] [data-metric-cursor],.body-metric-card svg[data-exploring] [data-metric-cursor-dot]{opacity:1;}
.body-metric-footer{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin:4px 0 12px;}
.body-metric-caption{display:block;color:var(--muted);font-size:11px;line-height:1.5;}
.body-metric-empty{color:var(--muted);font-size:13px;line-height:1.5;min-height:44px;}
.body-metric-action{margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--violet-soft);color:var(--violet);font:inherit;font-size:13px;}

.rhythm-screen .rhythm-header{margin-bottom:12px;}
.rhythm-screen .rhythm-hero{padding:12px 0 6px;gap:18px;}
.rhythm-gauge{position:relative;width:210px;height:210px;display:grid;place-items:center;}
.rhythm-gauge>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform:rotate(-90deg);}
.rhythm-gauge circle{fill:none;stroke-width:7;}
.rhythm-gauge-track{stroke:var(--line);opacity:.7;}
.rhythm-gauge [data-rhythm-gauge]{stroke:url(#dnevio-rhythm-gradient);stroke-linecap:round;}
.rhythm-gauge>div{display:grid;justify-items:center;gap:8px;}
.rhythm-gauge strong{font-size:56px;line-height:1;letter-spacing:-2px;font-variant-numeric:tabular-nums;}
.rhythm-gauge span{font-size:13px;color:var(--muted);}
.rhythm-message{max-width:280px;margin:0;text-align:center;font-size:14px;line-height:1.5;color:var(--text);min-height:42px;}
.rhythm-screen .rhythm-card{border-radius:26px;padding:20px 14px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 95%,var(--violet)),var(--surface));}
.rhythm-screen .rhythm-card h2{margin-bottom:8px;}
.rhythm-screen .rhythm-card p{margin:0 0 16px;font-size:12px;}
.rhythm-screen .rhythm-week{gap:5px;}
.rhythm-screen .rhythm-week li{padding:10px 0;gap:8px;border:1px solid transparent;border-radius:15px;font-size:11px;}
.rhythm-screen .rhythm-week li.is-completed{background:var(--violet-soft);}
.rhythm-screen .rhythm-week li.is-today{border-color:var(--violet);background:transparent;}
.rhythm-screen .rhythm-week li.is-today.is-completed{background:var(--violet-soft);}
.rhythm-screen .rhythm-day-dot{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);font-size:14px;line-height:1;color:var(--violet);}
.rhythm-screen .is-completed .rhythm-day-dot{border-color:transparent;background:var(--violet);color:#fff;}
.rhythm-screen .rhythm-week small{font-size:13px;font-variant-numeric:tabular-nums;}
.rhythm-screen .rhythm-note{font-size:12px;line-height:1.5;}
.rhythm-screen .rhythm-plant{margin:24px auto 12px;padding:0;width:140px;height:140px;border-radius:40px;color:var(--violet);background:radial-gradient(circle at 50% 50%,var(--violet-soft),transparent 72%);}
.rhythm-screen .rhythm-plant svg{width:96px;height:96px;}
.rhythm-screen .rhythm-plant.is-flowering{color:#8edbcf;}
.rhythm-screen .rhythm-plant.is-flowering svg{width:112px;height:112px;}
@media(max-width:360px){.rhythm-screen .rhythm-week{gap:3px;}.rhythm-screen .rhythm-card{padding:18px 10px;}.rhythm-gauge{width:190px;height:190px;}}

[data-screen="training"] .training-library-tabs{padding:5px;gap:5px;border:1px solid var(--line);border-radius:22px;}
[data-screen="training"] .training-library-tabs button{border-radius:17px;transition:background .18s ease,color .18s ease;}
[data-screen="training"] .training-library-tabs button[aria-selected="true"]{background:var(--violet-soft);color:var(--violet-text);}
[data-screen="training"] .training-plans{margin:20px 0 14px;gap:14px;}
[data-screen="training"] .training-plans-head h2{font-size:17px;}
[data-screen="training"] .training-plans-actions{display:flex;align-items:center;gap:14px;flex-shrink:0;}[data-screen="training"] .training-plans-create{min-height:44px;padding:8px 0;font-size:14px;color:var(--violet-text);font-weight:650;white-space:nowrap;}
[data-screen="training"] .training-plans-list,[data-screen="training"] .training-v2-list{gap:12px;}
[data-screen="training"] .training-workout-swipe{border-radius:22px;}
[data-screen="training"] .training-swipe-delete{border-radius:0 22px 22px 0;}
[data-screen="training"] .training-plan-card{padding:16px;gap:14px;border-radius:22px;background:linear-gradient(140deg,color-mix(in srgb,var(--surface) 94%,var(--violet)),var(--surface));border-color:color-mix(in srgb,var(--violet) 30%,var(--line));}
[data-screen="training"] .training-plan-card>div:first-child{min-width:0;}
[data-screen="training"] .training-plan-card>div:first-child strong{font-size:16px;line-height:1.35;overflow-wrap:anywhere;}
[data-screen="training"] .training-plan-card>div:first-child small{display:block;margin-top:5px;font-size:12px;}
[data-screen="training"] .training-plan-card-actions{gap:8px;}
[data-screen="training"] .training-plan-card-actions button{border-radius:16px;min-height:46px;}
[data-screen="training"] .training-card-exercises{gap:7px;}
[data-screen="training"] .training-card-exercises small{font-size:12px;line-height:1.55;}
[data-screen="training"] .training-import-cta{border-radius:20px;min-height:50px;}
[data-screen="training"] .training-history-title{margin-top:26px;margin-bottom:14px;font-size:20px;}
[data-screen="training"] .training-v2-card{padding:16px 40px 16px 16px;border-radius:22px;gap:5px;}
[data-screen="training"] .training-v2-card>strong{color:var(--muted);font-size:12px;font-weight:500;}
[data-screen="training"] .training-v2-card>span{font-size:16px;line-height:1.35;overflow-wrap:anywhere;}
[data-screen="training"] .training-v2-card>.training-card-exercises{margin-top:8px;}
[data-screen="training"] .assigned-plan-card{border-radius:22px;padding:18px;}
[data-screen="training"] .training-library-card{border-radius:22px;padding:18px;}
[data-screen="training"] button:focus-visible{outline:2px solid var(--violet);outline-offset:3px;}
@media(max-width:360px){[data-screen="training"] .training-plan-card{grid-template-columns:minmax(0,1fr);}[data-screen="training"] .training-plan-card-actions{grid-row:3;justify-content:flex-end;}}
@media(prefers-reduced-motion:no-preference){
  [data-screen="training"].is-active>.training-plans,[data-screen="training"].is-active>[data-training-panel="history"],[data-screen="training"].is-active>[data-training-library-content]{animation:dnevio-training-appear .24s ease-out;}
  @keyframes dnevio-training-appear{from{opacity:.4;}to{opacity:1;}}
}
@media(prefers-reduced-motion:reduce){[data-screen="training"] .training-library-tabs button{transition:none;}}

[data-screen="today"] .nutrition-card{--progress-over:var(--violet-text);}
[data-screen="today"] .vio-insight{margin:16px 0;border-radius:20px;padding:13px;}
[data-screen="today"] .meal-list{padding:0;border:0;background:transparent;overflow:visible;gap:12px;}
[data-screen="today"] .meal-global-labels{padding:0 13px;min-height:28px;border:0;color:var(--muted);}
[data-screen="today"] .meal-section{margin:0;padding:14px 13px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:none;}
[data-screen="today"] .meal-section:last-child{border-bottom:1px solid var(--line);}
[data-screen="today"] .meal-heading-row{min-height:36px;}
[data-screen="today"] .meal-footer-actions button{border-radius:12px;min-height:34px;}
[data-screen="today"] .diary-water-card,[data-screen="today"] .today-activity-card{border-radius:22px;box-shadow:none;}
@media(prefers-reduced-motion:no-preference){
  [data-screen="today"].is-active>.nutrition-card,[data-screen="today"].is-active>.meal-list,[data-screen="today"].is-active>.diary-water-card,[data-screen="today"].is-active>.today-activity-card{animation:dnevio-today-appear .25s ease-out;}
  @keyframes dnevio-today-appear{from{opacity:.4;}to{opacity:1;}}
}
@media(prefers-reduced-motion:reduce){[data-screen="today"],[data-screen="today"] .macros em i{animation:none;transition:none;}}

.team-ui{--team-violet:var(--violet);--team-violet-2:var(--violet-text);}
.team-ui .team-header{margin-bottom:10px;}
.team-ui .team-title-button strong{font-size:19px;}
.team-ui .team-tabs{padding:5px;border:1px solid var(--line);border-radius:22px;}
.team-ui .team-tabs button{min-height:44px;border-radius:17px;font-size:13px;font-weight:600;}
.team-ui .team-tabs button[aria-selected=true]{background:var(--violet-soft);color:var(--violet-text);box-shadow:none;}
.team-ui [data-team-panel]{gap:14px;padding-top:16px;}
.team-ui .card{border-radius:24px;box-shadow:none;}
.team-ui .streak-card{padding:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 94%,var(--violet)),var(--surface));}
.team-ui .streak-head strong{font-size:17px;}
.team-ui .streak-head span{font-size:16px;font-variant-numeric:tabular-nums;}
.team-ui .progress-track{height:5px;}
.team-ui .member-list,.team-ui .activity-list{gap:10px;border:0;border-radius:0;background:transparent;overflow:visible;}
.team-ui .member-row{grid-template-columns:42px minmax(0,1fr);align-items:start;padding:16px;border:1px solid var(--line);border-radius:22px;gap:12px;}
.team-ui .member-row:has(.goal-score){grid-template-columns:42px minmax(0,1fr) 44px;align-items:center;}
.team-ui .member-copy strong{font-size:14px;line-height:1.4;white-space:normal;overflow-wrap:anywhere;}
.team-ui .team-status-badges{gap:6px;margin-top:8px;}
.team-ui .team-status-badges span{padding:6px 8px;border-radius:10px;background:var(--page);font-size:11px;}
.team-ui .team-status-badges .is-complete{background:var(--violet-soft);color:var(--violet-text);}
.team-ui .team-nudge{min-height:44px;max-width:100%;margin-top:12px;padding:9px 13px;border:1px solid color-mix(in srgb,var(--violet) 30%,var(--line));border-radius:14px;color:var(--violet-text);background:var(--violet-soft);font-size:12px;font-weight:600;white-space:normal;overflow-wrap:anywhere;text-align:left;}
.team-ui .team-nudge:disabled{color:var(--muted);border-color:var(--line);background:transparent;}
.team-ui .activity-row{padding:16px;border:1px solid var(--line);border-radius:22px;align-items:start;}
.team-ui .activity-row p{margin:0 0 6px;font-size:14px;}
.team-ui .reactions{gap:6px;margin-top:12px;}
.team-ui .reaction{min-width:44px;min-height:44px;height:auto;padding:8px;border-radius:14px;color:var(--text);font-size:14px;}
.team-ui .reaction.selected{color:var(--violet-text);border-color:var(--violet);background:var(--violet-soft);}
.team-ui .system-event,.team-ui .activity-empty{border:1px solid var(--line);border-radius:22px;}
.team-ui .week-score .ring{background:conic-gradient(var(--violet) var(--score),var(--line) 0);}
.team-ui button:focus-visible{outline:2px solid var(--violet);outline-offset:3px;}
.team-ui .team-primary,.team-ui .primary{background:var(--violet);box-shadow:none;}
@media(max-width:360px){.team-ui .member-row,.team-ui .activity-row{padding:14px 12px;gap:10px;}.team-ui .streak-head{gap:8px}.team-ui .streak-head strong{font-size:15px;}}
@media(prefers-reduced-motion:no-preference){.team-ui .team-tabs button,.team-ui .reaction{transition:background .18s ease,border-color .18s ease}.team-ui.is-active .team-space{animation:dnevio-team-appear .24s ease-out}@keyframes dnevio-team-appear{from{opacity:.4}to{opacity:1}}}
@media(prefers-reduced-motion:reduce){.team-ui{animation:none}}

.coach-connect-inline input[name="code"]{width:100%;min-height:52px;box-sizing:border-box;padding:12px 16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);font:inherit;font-size:16px;}
.coach-connect-inline input[name="code"]:focus-visible{outline:2px solid var(--violet);outline-offset:2px;}
.coach-connect-inline>.primary{width:100%;min-height:52px;padding:12px 16px;border:0;border-radius:16px;background:var(--violet);color:var(--violet-ink);font:inherit;font-size:16px;font-weight:750;}
.coach-connect-inline>.primary:disabled{opacity:.6;}
[data-profile-menu]{padding-left:16px;padding-right:16px;}
[data-profile-menu] .account-profile-header{position:sticky;top:0;z-index:3;padding:8px 0 14px;background:var(--page);}
[data-profile-menu] .account-profile-header h1{font-size:22px;}
[data-profile-menu] .account-profile-header::before,.device-settings.profile-menu>div:first-child::before{content:"";position:absolute;bottom:100%;left:-16px;right:-16px;height:calc(20px + var(--dnevio-safe-top,0px));background:var(--page);}
[data-profile-menu] .account-profile-hero{padding:18px 0 22px;}
[data-profile-menu] .account-profile-avatar{width:84px;height:84px;margin-bottom:14px;font-size:28px;box-shadow:0 0 0 5px var(--surface);}
[data-profile-menu] .account-profile-hero h2{font-size:20px;line-height:1.3;}
[data-profile-menu] .account-profile-hero p{font-size:12px;margin:6px 0 18px;}
[data-profile-menu] .account-profile-plan{min-height:64px;padding:14px 16px;border-radius:20px;background:linear-gradient(130deg,var(--violet-soft),var(--surface));}
[data-profile-menu]>button,[data-profile-menu]>a{min-height:64px;padding:13px 16px;background:var(--surface);border:1px solid var(--line);border-top:0;border-radius:0;margin-top:0;}
[data-profile-menu]>button strong,[data-profile-menu]>a strong{font-size:14px;line-height:1.4;}
[data-profile-menu]>button small,[data-profile-menu]>a small{font-size:11px;line-height:1.4;margin-top:2px;}
[data-profile-menu]>.profile-group-start{margin-top:18px;border-top:1px solid var(--line);border-top-left-radius:20px;border-top-right-radius:20px;}
[data-profile-menu]>.profile-group-first{margin-top:0;}
[data-profile-menu]>.profile-group-end{border-bottom:1px solid var(--line);border-bottom-left-radius:20px;border-bottom-right-radius:20px;}
[data-profile-menu]>[data-native-delete-account]{background:transparent;}
[data-profile-menu] [data-account-version]{margin:26px 0 0;padding-bottom:8px;text-align:center;font-size:11px;}
[data-profile-menu] button:focus-visible,.device-settings button:focus-visible{outline:2px solid var(--violet);outline-offset:3px;}
.device-settings.profile-menu{padding-left:16px;padding-right:16px;}
.device-settings .device-content>h3{font-size:15px!important;color:var(--muted);margin:24px 4px 10px!important;}
.device-settings .device-content>p{color:var(--muted);font-size:13px;line-height:1.5;}
.device-settings.profile-menu .device-action{border-radius:18px;min-height:60px;padding:14px 16px;}
.device-settings .device-action span{flex:1;min-width:0;}
.device-settings .device-action strong{font-size:14px;line-height:1.4;}
.device-settings .device-action small{font-size:11px;white-space:normal;line-height:1.4;}
.device-settings .device-action[role=switch]>b,
.device-settings .device-action[aria-pressed]>b{position:relative;display:block;width:46px;height:28px;flex:0 0 46px;border-radius:20px;background:var(--line);font-size:0;}
.device-settings .device-action[role=switch]>b::after,
.device-settings .device-action[aria-pressed]>b::after{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:white;box-shadow:0 1px 3px #0002;}
.device-settings .device-action[aria-checked=true]>b,
.device-settings .device-action[aria-pressed=true]>b{background:var(--violet);}
.device-settings .device-action[aria-checked=true]>b::after,
.device-settings .device-action[aria-pressed=true]>b::after{transform:translateX(18px);}
.device-settings .device-reminder{margin:12px 0;padding:0 0 12px;border:1px solid var(--line);border-radius:20px;background:var(--surface);}
.device-settings.profile-menu .device-reminder .device-action{margin:0;border:0;background:transparent;}
.device-settings .device-reminder label{display:flex!important;justify-content:space-between;align-items:center;gap:12px;padding:0 16px!important;color:var(--muted);font-size:12px;}
.device-settings .device-reminder input{min-height:44px;max-width:155px;}
.device-settings .device-reminder input:focus-visible{outline:2px solid var(--violet);outline-offset:2px;}
.device-settings .device-source-card{padding:18px;border-radius:22px;}
.device-settings .device-metrics small{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.4;}
[data-profile-sheet].is-settings-only .theme-settings{border:0;padding:0;}
[data-profile-sheet].is-settings-only .theme-selector{gap:10px;}
[data-profile-sheet].is-settings-only .theme-selector span{min-height:66px;border-radius:18px;}
@media(prefers-reduced-motion:no-preference){.device-settings .device-action b::after{transition:transform .18s ease;}}

.trainer-context-open [data-today-date],.trainer-context-open [data-meal-plan-chip]{display:none;}
.trainer-context-open .today-heading{display:flex;align-items:center;gap:12px;}
.trainer-context-open .today-meta-row{margin:0;}
.trainer-workspace-heading{gap:12px;align-items:center;}
.trainer-workspace-heading>div{min-width:0;flex:1 1 180px;}
.trainer-workspace-heading span{font-size:10px;letter-spacing:.1em;}
.trainer-workspace-heading p,.trainer-section-title small,.trainer-loading,.trainer-empty p{font-size:13px;line-height:1.5;}
.trainer-client-footer{display:flex;justify-content:center;margin-top:20px;}
.trainer-add-client,.trainer-empty [data-empty-create-coach-invite]{display:flex;align-items:center;justify-content:center;align-self:center;width:100%;max-width:320px;min-height:50px;padding:12px 20px;border:0;border-radius:18px;background:var(--violet);color:#fff;font:inherit;font-size:14px;font-weight:650;line-height:1.3;}
.trainer-screen:has([data-trainer-empty]:not([hidden])) .trainer-client-footer{display:none;}
.trainer-search{border-radius:20px;margin-top:18px;padding:0 15px;}
.trainer-search input{min-height:50px;}
.trainer-screen [data-trainer-filter="attention"]{display:flex;align-items:center;justify-content:center;gap:6px;}
.trainer-attention-filter-label{min-width:0;}
.trainer-attention-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:22px;height:22px;padding:0 5px;border-radius:50%;background:var(--violet);color:#fff;font-size:11px;font-weight:750;line-height:1;}
.trainer-attention-badge[hidden]{display:none;}
.trainer-screen .trainer-training-switch,.trainer-client-tabs,.trainer-client-screen .trainer-training-switch{padding:5px;gap:5px;border:1px solid var(--line);border-radius:22px;background:var(--surface);}
.trainer-screen .trainer-training-switch button,.trainer-client-tabs button,.trainer-client-screen .trainer-training-switch button{min-height:44px;border-radius:17px;font-size:13px;line-height:1.25;}
.trainer-client-tabs button[aria-selected="true"],.trainer-client-screen .trainer-training-switch button[aria-selected="true"],.trainer-screen .trainer-training-switch button[aria-pressed="true"]{background:var(--violet-soft);color:var(--violet-text);box-shadow:none;}
[data-trainer-client-list]{gap:12px;}
.trainer-client-row,.trainer-attention-row{grid-template-columns:46px minmax(0,1fr) auto;padding:16px;gap:12px;border-radius:22px;background:linear-gradient(140deg,color-mix(in srgb,var(--surface) 96%,var(--violet)),var(--surface));}
.trainer-client-avatar{width:46px;height:46px;border-radius:16px;font-size:14px;}
.trainer-client-row strong,.trainer-attention-row strong{font-size:16px;}
.trainer-client-row small,.trainer-attention-row small{font-size:12px;white-space:normal;overflow-wrap:anywhere;line-height:1.5;}
.trainer-client-screen .screen-heading{gap:12px;align-items:center;}
.trainer-client-screen .screen-heading>div{min-width:0;}
.trainer-client-screen .screen-heading .round-action{width:44px;height:44px;min-width:44px;border:1px solid var(--line);border-radius:50%;background:var(--surface);font-size:22px;}
.trainer-client-screen h1{overflow-wrap:anywhere;}
.trainer-client-screen .screen-heading p{font-size:13px;line-height:1.5;}
.trainer-client-body,.trainer-detail-grid{gap:14px;}
.trainer-detail-card{padding:18px;border-radius:22px;gap:12px;}
.trainer-detail-card h3{font-size:17px;line-height:1.35;}
.trainer-detail-stats,.trainer-nutrition-targets{gap:9px;}
.trainer-detail-stats span,.trainer-nutrition-targets span{padding:12px;border-radius:16px;min-width:0;}
.trainer-detail-stats strong,.trainer-nutrition-targets strong{font-size:18px;overflow-wrap:anywhere;}
.trainer-detail-stats small,.trainer-detail-note,.trainer-readonly-note,.trainer-nutrition-targets small,.trainer-section-caption{font-size:12px;line-height:1.5;}
.trainer-assign-cta{min-height:50px;border:0;border-radius:18px;background:var(--violet);color:#fff;font-size:14px;margin-bottom:14px;}
.trainer-assignment-card,.trainer-workout-card{padding:16px;border-radius:22px;gap:10px;}
.trainer-assignment-card strong,.trainer-workout-card strong{font-size:16px;line-height:1.35;overflow-wrap:anywhere;}
.trainer-assignment-card small,.trainer-workout-card small,.trainer-plan-row small,.trainer-comparison-row small{font-size:12px;line-height:1.5;}
.trainer-assignment-status{font-size:12px;padding:5px 11px;}
.trainer-assignment-actions button{min-height:44px;border-radius:15px;font-size:13px;}
.trainer-plan-option,.trainer-plan-templates{border-radius:22px;}
.trainer-plan-import{display:flex;align-items:center;min-height:50px;padding:16px;border:1px solid var(--line);border-radius:22px;background:var(--surface);color:var(--text);font:inherit;font-size:14px;font-weight:650;text-align:left;}
.trainer-plan-choice{padding:16px;}
.trainer-plan-select,.trainer-plan-confirm,.trainer-plan-back,.trainer-text-action{min-height:44px;}
.trainer-plan-preview{padding:0 16px 16px;}
.trainer-plan-confirm{border-radius:18px;min-height:50px;}
.trainer-comparison-label,.trainer-plan-row ul,.trainer-comparison-row ul{font-size:12px;line-height:1.5;}
.trainer-invite-link{font-size:12px;line-height:1.5;}
.trainer-screen button:focus-visible,.trainer-client-screen button:focus-visible,[data-my-coach-sheet] button:focus-visible{outline:2px solid var(--violet);outline-offset:3px;}
[data-my-coach-sheet] .connected-trainer-card{padding:18px;background:linear-gradient(140deg,color-mix(in srgb,var(--surface) 93%,var(--violet)),var(--surface));}
[data-my-coach-sheet] .connected-trainer-card small{font-size:12px;}
[data-my-coach-sheet] .coach-permissions-summary{gap:0;padding:4px 14px;border:1px solid var(--line);border-radius:20px;}
[data-my-coach-sheet] .coach-permissions-summary span{padding:12px 0;font-size:13px;border-bottom:1px solid var(--line);}
[data-my-coach-sheet] .coach-permissions-summary span:last-child{border-bottom:0;}
[data-my-coach-sheet] .coach-access-form{padding:16px;border-radius:22px;}
[data-my-coach-sheet] .permission-row{min-height:48px;gap:12px;}
[data-my-coach-sheet] .permission-row strong{font-size:14px;}
[data-my-coach-sheet] .permission-row small,[data-my-coach-sheet] .coach-connect-inline>label,[data-my-coach-sheet] .coach-empty-card p{font-size:13px;line-height:1.5;}
[data-my-coach-sheet] .permission-row input{width:22px;height:22px;accent-color:var(--violet);flex-shrink:0;}
@media(max-width:360px){.trainer-client-tabs{gap:2px;padding:4px;}.trainer-client-tabs button{font-size:12px;padding:8px 2px;}.trainer-detail-card{padding:15px;}.trainer-workspace-heading>.trainer-add-client{width:100%;}.trainer-assignment-actions button{flex:1 1 auto;}}
@media(prefers-reduced-motion:no-preference){.trainer-client-row,.trainer-assignment-card,.trainer-workout-card{animation:dnevio-trainer-card .22s ease-out;}@keyframes dnevio-trainer-card{from{opacity:.5;}to{opacity:1;}}}
[data-analytics-refresh]{min-height:48px;width:100%;padding:12px 16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);font:inherit;font-weight:600}[data-analytics-refresh]:disabled{opacity:.6}.analytics-header a{min-width:44px;min-height:44px}.analytics-header p{line-height:1.4}.analytics-shell .metric-grid strong{overflow-wrap:anywhere;}
.measurement-body{margin-top:14px;padding:18px 16px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 95%,var(--violet)),var(--surface))}
.measurement-body>header{display:flex;justify-content:space-between;align-items:center;font-size:16px}
.measurement-body>header small{color:var(--muted);font-size:11px}
.measurement-body-layout{display:grid;grid-template-columns:minmax(80px,.85fr) minmax(130px,1.15fr);gap:14px;align-items:center;margin-top:14px}
.measurement-silhouette{background:radial-gradient(ellipse,var(--violet-soft),transparent 70%);border-radius:50%}
.measurement-body-highlight{filter:drop-shadow(0 0 4px var(--violet));opacity:1}
.measurement-body svg{display:block;width:100%;height:240px;max-width:130px;margin:auto}
[data-body-values]{display:grid;gap:6px}
.body-metric{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid transparent;border-radius:13px;padding:9px 10px;color:var(--text);background:color-mix(in srgb,var(--page) 60%,transparent);font:inherit;text-align:left}
.body-metric span{font-size:12px;color:var(--muted)}
.body-metric strong{font-size:17px;font-variant-numeric:tabular-nums}
.body-metric[aria-pressed=true]{border-color:var(--violet);background:var(--violet-soft)}
.body-metric[aria-pressed=true] span{color:var(--violet-text)}
.body-metric:focus-visible{outline:2px solid var(--violet);outline-offset:2px}
.measurement-reading-history{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
.measurement-reading-history h3{margin:0 0 8px;font-size:14px}
.measurement-reading-history>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}
.measurement-reading-history>div:last-child{border-bottom:0}
.measurement-reading-history span{color:var(--muted)}
.measurement-reading-history strong{font-weight:600;font-variant-numeric:tabular-nums}
@media(max-width:360px){.measurement-body{padding:16px 12px}.measurement-body-layout{gap:10px}.body-metric{padding:9px 8px}}
@media(prefers-reduced-motion:no-preference){.body-metric{transition:background .18s ease,border-color .18s ease}.measurement-body-highlight{animation:dnevio-measurement-glow 1.2s ease-in-out 2}@keyframes dnevio-measurement-glow{0%,100%{opacity:1}50%{opacity:.4}}}
.assigned-plan-card[hidden]{display:none!important}
.day-strip{display:flex!important;position:relative;overflow-x:auto;overflow-y:hidden;gap:2px;touch-action:pan-x;overscroll-behavior:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.day-strip::-webkit-scrollbar{display:none}.day-strip .day-button{flex:0 0 calc((100% - 12px)/7)}[data-diary-calendar]{border:0;padding:0;min-height:32px;background:transparent;color:var(--muted);font:inherit;text-align:left;cursor:pointer}[data-diary-calendar]::after{content:' ▾';color:var(--violet-text)}.diary-calendar{width:min(360px,calc(100% - 32px));padding:20px;border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--text);box-shadow:0 20px 80px #0005}.diary-calendar::backdrop{background:#0007;backdrop-filter:blur(5px)}.diary-calendar header{display:flex;align-items:center;gap:4px;margin-bottom:16px}.diary-calendar header strong{flex:1;text-align:center;text-transform:capitalize;font-size:17px}.diary-calendar button{min-height:42px;min-width:38px;border:0;border-radius:12px;background:transparent;color:var(--text);font:inherit}.diary-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:12px}.diary-calendar-grid small{text-align:center;padding:6px 0;color:var(--muted)}.diary-calendar-grid button[data-adjacent=true]{color:var(--muted);opacity:.55}.diary-calendar-grid button[aria-pressed=true]{background:var(--violet);color:#fff;opacity:1}.diary-calendar>button:last-child{width:100%;background:var(--violet-soft);color:var(--violet-text)}.day-strip .day-button[data-today=true],.diary-calendar-grid button[data-today=true]{position:relative;box-shadow:inset 0 0 0 1.5px var(--violet);opacity:1}body:not(.trainer-context-open) .app-header:not(.is-utility) .today-heading{display:flex;align-items:center;gap:6px;width:calc(100% - 50px);min-height:42px;flex-wrap:nowrap}body:not(.trainer-context-open) .app-header:not(.is-utility) .today-title-row,body:not(.trainer-context-open) .app-header:not(.is-utility) .today-meta-row{display:contents}body:not(.trainer-context-open) .app-header:not(.is-utility) .today-title-row h1{display:none}body:not(.trainer-context-open) .today-heading [data-diary-calendar]{order:1;font-size:12px;white-space:nowrap;flex-shrink:0;min-height:42px;color:var(--text)}body:not(.trainer-context-open) .today-heading .rhythm-chip{order:2;gap:3px;font-size:11px;min-height:42px}body:not(.trainer-context-open) .today-heading .rhythm-chip svg{width:16px;height:16px}body:not(.trainer-context-open) .today-heading .context-switcher{order:3;font-size:11px;padding:4px 6px;white-space:nowrap}body:not(.trainer-context-open) .today-heading .meal-plan-chip{order:4;max-width:62px;padding:0 7px;font-size:11px;flex-shrink:1}@media(max-width:360px){body:not(.trainer-context-open) .app-header:not(.is-utility) .today-heading{gap:4px}body:not(.trainer-context-open) .today-heading .rhythm-chip svg{display:none}}@media(min-width:361px){body:not(.trainer-context-open) .today-heading [data-diary-calendar]{font-size:14px}}/* Optional palettes. The stored monochrome key remains the Black theme. */
:root[data-theme="green"] {
  color-scheme: light;
  --page:#f6f4ed; --surface:#fffdf8; --text:#17342c; --muted:#5d705f; --line:#d4ddcc;
  --violet:#234b3e; --violet-text:#2b5944; --violet-soft:#e1e9d8; --violet-ink:#ffffff;
  --mint:#dbe9d2; --cream:#ede4ce; --coral:#aa4b47;
  --progress-base:#52785c; --progress-near:#587a64; --progress-target:#356646;
  --progress-over:#a05542; --progress-track:#dde4d5; --shadow:#17342c1a;
}
:root[data-theme="white"] {
  color-scheme: light;
  --page:#ffffff; --surface:#f5f5f5; --text:#171717; --muted:#616161; --line:#d6d6d6;
  --violet:#222222; --violet-text:#222222; --violet-soft:#e6e6e6; --violet-ink:#ffffff;
  --mint:#dedede; --cream:#e9e9e9; --coral:#626262;
  --progress-base:#555555; --progress-near:#444444; --progress-target:#222222;
  --progress-over:#777777; --progress-track:#dddddd; --shadow:#00000014;
}
:root[data-theme="green"] .team-ui {
  --team-violet:#234b3e; --team-violet-2:#52785c; --team-green:#356646;
  --team-green-soft:#e1e9d8; --team-red:#aa4b47;
}
:root[data-theme="white"] .team-ui {
  --team-violet:#222222; --team-violet-2:#555555; --team-green:#333333;
  --team-green-soft:#e6e6e6; --team-red:#616161;
}
:root:is([data-theme="green"],[data-theme="white"]) :is(.day-button,.day-button strong,.meal-title,
 .meal-collapse,.food-actions>summary,.food-nutrient-value,.food-entry-details small,
 .meal-summary-value small,.empty-meal>span,.vio-message-author,.nutrition-card small,
 .nutrition-card strong,.nutrition-card b,.nutrition-card label,.nutrition-card i) {color:var(--text);}
:root:is([data-theme="green"],[data-theme="white"]) :is(.primary,.team-primary,.team-ui .primary,
 .day-button[aria-pressed="true"],.day-button[aria-pressed="true"] strong,
 .adaptive-plan-day[aria-pressed="true"],.planned-meal button,
 .vio-message[data-role="user"] .vio-message-bubble,.vio-composer .vio-send,
 .vio-food-recommendation>button,.vio-photo-result>button,
 .recipe-filter-row button[aria-pressed="true"],.recipe-detail-tabs button[aria-selected="true"],
 .recipe-detail-nutrition span:first-child,.trainer-assignment-actions button.is-primary) {
  background:var(--violet);color:var(--violet-ink);box-shadow:none;
}
:root:is([data-theme="green"],[data-theme="white"]) .avatar:not(.has-photo):not(:has(>img)) {background:var(--violet);color:var(--violet-ink);}
:root:is([data-theme="green"],[data-theme="white"]) .water-drop {background:var(--violet-soft);color:var(--violet-text);}
:root:is([data-theme="green"],[data-theme="white"]) :is(.recipe-ingredient-edit-banner,.pending-recipe-actions .is-choosing-ingredient,
 .planned-meal.is-logged,.vio-food-recommendation,.vio-photo-result) {border-color:var(--line);background:var(--violet-soft);color:var(--text);}
:root:is([data-theme="green"],[data-theme="white"]) :is(.vio-message-avatar,.vio-header-mini .vio-mini,.team-vio-mini) {
 border-color:var(--line);background-color:var(--surface);box-shadow:none;
}
:root:is([data-theme="green"],[data-theme="white"]) .vio-feedback button[aria-pressed="true"] {background:var(--violet-soft);}
:root:is([data-theme="green"],[data-theme="white"]) :is(.water-progress,.water-actions button) {background:var(--progress-track);}
:root:is([data-theme="green"],[data-theme="white"]) :is(.water-progress i,.goal-track i) {background:var(--progress-target);}
:root:is([data-theme="green"],[data-theme="white"]) :is(.saved-meal-delete,.food-swipe-delete) {background:var(--coral);}
:root:is([data-theme="green"],[data-theme="white"]) :is(.notice,.saved-meal-card>button.is-added,.trainer-assignment-status[data-status="completed"]) {background:var(--violet-soft);color:var(--text);}
:root:is([data-theme="green"],[data-theme="white"]) .progress-hero-card {background:linear-gradient(135deg,var(--violet-soft),var(--surface));border-color:var(--line);}
:root:is([data-theme="green"],[data-theme="white"]) .progress-hero-card :is(h2,strong,p,small,span) {color:var(--text);}
:root:is([data-theme="green"],[data-theme="white"]) .progress-chart-stats>span.is-change>i {background:var(--violet-soft);color:var(--text);}
:root:is([data-theme="green"],[data-theme="white"]) .progress-hero-card::after {background:var(--violet-soft);}
:root:is([data-theme="green"],[data-theme="white"]) .water-glass {color:var(--progress-target);}
:root[data-theme="green"] .team-vio-orbit {background:radial-gradient(circle,#52785c25,transparent 69%);}
:root[data-theme="white"] .team-vio-orbit {background:radial-gradient(circle,#55555525,transparent 69%);}
/* Limit monochrome treatment to graphs and illustrations, never food or portraits. */
:root[data-theme="white"] :is(.progress-line-chart,.macro-track,.micronutrient-bar,.nutrition-ring,.training-program-cover) {filter:grayscale(1);}
:root[data-theme="white"] :is(.product-moderation-status,.diary-import-dialog [data-import-error],.weight-current p.is-positive,.weight-current p.is-negative) {color:var(--text);}
.theme-selector span{font-size:12px;min-height:60px;}
:root:is([data-theme="green"],[data-theme="white"]) [data-progress-panel="weight"] .weight-summary {background:linear-gradient(130deg,var(--violet-soft),var(--surface));color:var(--text);}
:root:is([data-theme="green"],[data-theme="white"]) [data-progress-panel="weight"] .weight-summary :is(p,strong,span,small,b) {color:var(--text);}
:root[data-theme="green"] :is([data-weight-chart-card],.body-metric-card) svg stop {stop-color:var(--progress-target);}
:root[data-theme="green"] [data-weight-chart-card] :is([data-weight-cursor-dot],[data-weight-points] circle) {stroke:var(--progress-target);}
:root[data-theme="green"] [data-weight-chart-card] [data-weight-cursor-dot] {fill:var(--progress-target);}
:root[data-theme="white"] :is([data-weight-chart-card] svg,.body-metric-card svg,.water-glass,.diary-flame) {filter:grayscale(1);}
