/* A separate palette; photographs, avatars and Vio artwork retain their colors. */
:root[data-theme="monochrome"] {
  color-scheme: dark;
  --page: #101010;
  --surface: #1d1d1d;
  --text: #f5f5f5;
  --muted: #b5b5b5;
  --line: #414141;
  --violet: #ededed;
  --violet-text: #ededed;
  --violet-soft: #303030;
  --violet-ink: #101010;
  --coral: #707070;
  --mint: #454545;
  --cream: #454545;
  --progress-base: #bfbfbf;
  --progress-near: #d1d1d1;
  --progress-target: #ededed;
  --progress-over: #a0a0a0;
  --progress-track: #363636;
  --shadow: #00000040;
}
:root[data-theme="monochrome"] .team-ui {
  --team-violet: #ededed;
  --team-violet-2: #c5c5c5;
  --team-green: #ededed;
  --team-green-soft: #363636;
  --team-red: #d5d5d5;
}
:root[data-theme="monochrome"] :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,
 .product-moderation-status, .diary-import-dialog [data-import-error]) { color: var(--text); }
:root[data-theme="monochrome"] :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[data-theme="monochrome"] .avatar:not(.has-photo):not(:has(> img)) { background: var(--violet); color: var(--violet-ink); }
:root[data-theme="monochrome"] .nutrition-card :is(small, strong, b, label, i) { color: var(--text); }
:root[data-theme="monochrome"] .water-drop { background: var(--violet-soft); color: var(--text); }
:root[data-theme="monochrome"] .water-drop svg { opacity: .9; }
:root[data-theme="monochrome"] :is(.recipe-ingredient-edit-banner, .pending-recipe-actions .is-choosing-ingredient,
 .planned-meal.is-logged, .vio-food-recommendation, .vio-photo-result) { border-color: #b5b5b5; background: var(--violet-soft); color: var(--text); }
:root[data-theme="monochrome"] :is(.vio-message-avatar, .vio-header-mini .vio-mini, .team-vio-mini) {
  border-color: var(--line); background-color: var(--surface); box-shadow: none;
}
:root[data-theme="monochrome"] .vio-feedback button[aria-pressed="true"] { background: var(--violet-soft); }
/* Graph colors are encoded in local styles; limit grayscale to charts, never media. */
:root[data-theme="monochrome"] :is(.progress-line-chart, .macro-track, .micronutrient-bar, .nutrition-ring) { filter: grayscale(1); }
:root[data-theme="monochrome"] .team-ui :is(.primary, .team-primary) { box-shadow: none; }
:root[data-theme="monochrome"] :is(.water-progress, .water-actions button) { background: var(--progress-track); }
:root[data-theme="monochrome"] :is(.water-progress i, .goal-track i) { background: var(--progress-target); }
:root[data-theme="monochrome"] :is(.saved-meal-delete, .food-swipe-delete) { background: var(--coral); }
:root[data-theme="monochrome"] :is(.notice, .saved-meal-card > button.is-added, .trainer-assignment-status[data-status="completed"]) { background: var(--violet-soft); color: var(--text); }
:root[data-theme="monochrome"] .progress-hero-card { background: linear-gradient(135deg, #383838, #202020); border-color: var(--line); }
:root[data-theme="monochrome"] .progress-chart-stats > span.is-change > i { background: var(--violet-soft); color: var(--text); }
:root[data-theme="monochrome"] .progress-hero-card::after { background: #ffffff22; }
:root[data-theme="monochrome"] .weight-current p:is(.is-positive, .is-negative) { color: var(--text); }
:root[data-theme="monochrome"] .team-vio-orbit { background: radial-gradient(circle, #ffffff25, transparent 69%); }
:root[data-theme="monochrome"] .water-glass { color: var(--progress-target); }
