/* Appearance layer for member tools. Screen-only, with no light-mode rules.
 * Component tokens are repeated at their actual roots because tools can load
 * after this stylesheet and detached sheets do not inherit their app root. */
@media screen {
  html[data-pb-theme="dark"] {
    --pb-ui-primary: var(--pb-dark-primary);
    --pb-ui-primary-dark: var(--pb-dark-primary);
    --pb-ui-primary-pale: var(--pb-dark-raised);
    --pb-ui-bg: var(--pb-dark-card);
    --pb-ui-text: var(--pb-dark-text);
    --pb-ui-border: var(--pb-dark-border);
    --pb-ui-destructive: #a54f64;
    --pb-ui-destructive-dark: #914359;
    --pb-ui-destructive-pale: #472731;
    --note-honey: #806130;
  }

  /* Planner, including detached confirmation menus and the Add to Plan flow. */
  html[data-pb-theme="dark"] :is(.pb-meal-planner,.pbmp-atp-overlay,.pbpk,.pbmp-chip-drag) {
    --pbmp-primary: var(--pb-dark-primary);
    --pbmp-primary-light: var(--pb-dark-raised);
    --pbmp-primary-dark: var(--pb-dark-accent);
    --pbmp-primary-muted: var(--pb-dark-muted);
    --pbmp-bg: var(--pb-dark-bg);
    --pbmp-bg-wrap: var(--pb-dark-bg);
    --pbmp-surface: var(--pb-dark-card);
    --pbmp-card: var(--pb-dark-card);
    --pbmp-surface-alt: var(--pb-dark-raised);
    --pbmp-muted: var(--pb-dark-secondary);
    --pbmp-accent: var(--pb-dark-accent);
    --pbmp-today-header-bg: var(--pb-dark-raised);
    --pbmp-today-white-bg: var(--pb-dark-raised);
    --pbmp-today-alt-bg: var(--pb-dark-raised);
    --pbmp-mobile-planner-bg: var(--pb-dark-bg);
    --pbmp-leftover-border: var(--pb-dark-outline);
    --pbmp-text: var(--pb-dark-text);
    --pbmp-text-muted: var(--pb-dark-secondary);
    --pbmp-border: var(--pb-dark-border);
    --pbmp-border-light: var(--pb-dark-border);
    --pbmp-danger: var(--pb-dark-danger);
    --pbmp-danger-light: #472731;
    --pbmp-danger-border: #835062;
    --pbmp-row-alt-bg: var(--pb-dark-card);
    --pbmp-today-col-bg: var(--pb-dark-raised);
    --pbmp-grid-line: var(--pb-dark-border);
    --pbmp-shadow: none;
    --pbmp-shadow-hover: none;
    color: var(--pb-dark-text);
  }
  html[data-pb-theme="dark"] :is(#pbmp-overlay .pbmp-ov-sheet,.pb-meal-planner,.pbmp-app,.pbmp-plan-grid,.pbmp-week-view,.pbmp-week-day) {
    background-color: var(--pb-dark-bg) !important;
    color: var(--pb-dark-text) !important;
  }
  html[data-pb-theme="dark"] :is(.pbmp-modal,.pbmp-chooser-card,.pbmp-modal-add-item,.pbmp-note-modal,.pbmp-modal-print,.pbmp-print-option-card,.pbmp-modal-print-bridge,.pbmp-plan-card,.pbmp-item-chip,.pbmp-chip-drag,.pbmp-export-day-card,.pbmp-export-list-selector,.pbmp-atp-modal,.pbmp-atp-plan-select,.pbmp-atp-option-btn,.pbmp-atp-day-btn,.pbmp-atp-btn-ghost,.pbpk,.pbpk-card,.pb-ui-modal,.pb-ui-dropdown,.pb-ui-modal-message) {
    background: var(--pb-dark-card) !important;
    color: var(--pb-dark-text) !important;
    border-color: var(--pb-dark-border) !important;
    box-shadow: none !important;
  }
  html[data-pb-theme="dark"] :is(.pb-meal-planner,.pbmp-atp-modal,.pbpk,.pb-ui-modal) :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select) {
    background-color: var(--pb-dark-card) !important;
    color: var(--pb-dark-text) !important;
    border-color: var(--pb-dark-border) !important;
    caret-color: var(--pb-dark-accent);
    box-shadow: none !important;
  }
  html[data-pb-theme="dark"] :is(.pb-meal-planner,.pbmp-atp-modal,.pbpk,.pb-ui-modal) :is(input,textarea)::placeholder { color: var(--pb-dark-muted) !important; opacity: 1; }
  html[data-pb-theme="dark"] :is(.pb-meal-planner,.pbmp-chip-drag) :is(.pbmp-item-chip-title,.pbmp-chip-srv-num,.pbmp-add-item-result-title,.pbmp-aim-title,.pbmp-note-modal__title,.pbmp-nutrition-panel-name,.pbmp-nutrition-panel-value,.pbmp-week-day-hdr,.pbmp-plan-grid-day-weekday,.pbmp-plan-grid-day-num) { color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] :is(.pbmp-atp-title,.pbmp-atp-success-text,.pbmp-atp-option-btn,.pbmp-atp-day-btn,.pbmp-atp-plan-select) { color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] :is(.pbmp-add-item-result-meta,.pbmp-aim-sub,.pbmp-note-modal__hint,.pbmp-note-modal__eyebrow p,.pbmp-chip-leftover-label,.pbmp-chip-lo-label,.pbmp-pdf-menu-sub,.pbmp-atp-step-label,.pbmp-atp-loading,.pbmp-atp-empty,.pbmp-loading,.pbmp-empty,.pbmp-plan-card-updated) { color: var(--pb-dark-secondary) !important; }
  html[data-pb-theme="dark"] :is(.pb-meal-planner,.pbmp-atp-modal) :is(.pbmp-aim-search-icon,.pbmp-aim-close,.pbmp-aim-search-clear,.pbmp-atp-close,.pbmp-atp-back,.pbmp-atp-view-plan,.pbmp-plan-star-btn,.pbmp-detail-back-btn,.pbmp-plan-dots,.pbmp-pill-btn,.pbmp-mobile-icon-btn,.pbmp-chip-srv-btn,.pbmp-note-btn--ghost,.pbmp-note-modal__x) { color: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] :is(.pbmp-mp__sticky-row,.pbmp-detail-sticky-row,.pbmp-pill-toolbar,.pbmp-detail-actions,.pbmp-view-segmented,.pbmp-export-day-card-header,.pbmp-chooser-icon,.pbmp-nutrition-panel,.pbmp-print-bridge-footer) {
    background: var(--pb-dark-card) !important;
    border-color: var(--pb-dark-border) !important;
    color: var(--pb-dark-text) !important;
    box-shadow: none !important;
  }
  html[data-pb-theme="dark"] :is(.pbmp-add-item-result,.pbmp-add-item-result-add,.pbmp-chip-srv-btn,.pbmp-chip-srv-badge,.pbmp-chip-leftover-tag,.pbmp-chip-lo-label,.pbmp-note-read,.pbmp-note-area,.pbmp-note-chip-textarea,.pbmp-day-nav,.pbmp-cell-add,.pbmp-export-srv-btn,.pbmp-atp-btn-ghost,.pbmp-export-check-btn) { background-color: var(--pb-dark-card) !important; border-color: var(--pb-dark-border) !important; color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] :is(.pbmp-view-toggle-btn.is-active,.pbmp-mobile-view-tab.is-active,.pbmp-atp-option-btn.is-selected,.pbmp-atp-day-btn.is-selected,.pbmp-plan-grid-day-head.is-selected,.pbmp-day-nav.is-today,.pbmp-plan-card.is-selected,.pbmp-aim-close:hover,.pbmp-add-item-result:hover,.pbmp-atp-btn-ghost:hover,.pbmp-note-btn--ghost:hover,.pbmp-pill-btn:hover,.pbmp-plan-dots:hover) { background: var(--pb-dark-raised) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] :is(.pbmp-btn-primary,.pbmp-atp-btn,.pbmp-atp-step-next,.pbmp-atp-confirm,.pbmp-note-btn--primary,.pbmp-note-chip-confirm-btn,.pb-ui-btn-primary,.pbmp-plan-grid-today-pill) { background: var(--pb-dark-primary) !important; border-color: var(--pb-dark-primary) !important; color: #fff !important; box-shadow: none !important; }
  /* The light Add to Plan stylesheet uses !important for this white circle. */
  html[data-pb-theme="dark"] .pbmp-atp-modal .pbmp-atp-close { background: var(--pb-dark-raised) !important; color: var(--pb-dark-accent) !important; border-color: var(--pb-dark-outline) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] .pbmp-atp-modal .pbmp-atp-close:is(:hover,:focus,:active) { background: var(--pb-dark-raised) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-accent) !important; box-shadow: none !important; }
  /* This legacy token is also used for text, so primary fills get their own rule. */
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) :is(.pbmp-today-btn,.pbmp-week-day-name--editable,.pbmp-week-slot-label.is-slot-editable) { color: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] :is(.pbmp-btn-primary:hover:not([disabled]),.pbmp-btn-primary:focus:not([disabled]),.pbss .pbpk-qv-add:hover,.pbss .pbpk-qv-add:focus) { background: var(--pb-dark-primary) !important; border-color: var(--pb-dark-primary) !important; color: #fff !important; }
  html[data-pb-theme="dark"] :is(.pbmp-btn-danger,.pbmp-note-btn--danger,.pbmp-slot-head-error,.pbmp-atp-error-msg,.pbmp-atp-error-inline) { color: var(--pb-dark-danger) !important; }
  html[data-pb-theme="dark"] :is(.pbmp-note-chip,.pbmp-note-chip.pbmp-chip-drag) { color: #fff !important; }
  html[data-pb-theme="dark"] :is(.pbmp-note-chip,.pbmp-note-chip.pbmp-chip-drag) :is(.pbmp-note-chip-textarea,.pbmp-note-drag-handle,.pbmp-note-chip-remove,.pbmp-note-chip-menu-btn) { background: transparent !important; color: #fff !important; }
  html[data-pb-theme="dark"] :is(.pbmp-toast,.pbmp-toast-success,.pbmp-toast-error,.pbmp-session-expired-banner) { background: var(--pb-dark-raised) !important; border-color: var(--pb-dark-border) !important; color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] :is(.pbmp-toast .pbmp-toast-link,.pbmp-session-expired-banner a) { color: var(--pb-dark-accent) !important; }
  /* My Plans has its own local --mp palette, independent of --pbmp. */
  html[data-pb-theme="dark"] .pb-meal-planner:has(.pbmp-mp) { background: var(--pb-dark-bg) !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) .pbmp-mp {
    --mp-mauve: var(--pb-dark-accent); --mp-mauve-dark: var(--pb-dark-accent); --mp-mauve-deep: var(--pb-dark-text);
    --mp-mauve-tint: var(--pb-dark-raised); --mp-cream-soft: var(--pb-dark-card); --mp-cream-line: var(--pb-dark-border);
    --mp-ink: var(--pb-dark-text); --mp-ink-soft: var(--pb-dark-secondary); --mp-ink-muted: var(--pb-dark-secondary); --mp-line: var(--pb-dark-outline);
    --mp-shadow-sm: none; --mp-shadow-md: none; --mp-shadow-lg: none; --mp-shadow-cta: none; --mp-shadow-cta-hover: none;
    color: var(--pb-dark-text);
  }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) :is(.pbmp-mp__title,.pbmp-mpcard__name,.pbmp-mpcard__nameinput) { color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) :is(.pbmp-mpcard,.pbmp-mpcard__menu) { background: var(--pb-dark-card) !important; border-color: var(--pb-dark-border) !important; color: var(--pb-dark-text) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) .pbmp-mpcard__cover.is-empty { background: var(--pb-dark-header) !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) .pbmp-mp__seg { background: var(--pb-dark-card) !important; border-color: var(--pb-dark-outline) !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) .pbmp-mp__segbtn { background: transparent !important; color: var(--pb-dark-secondary) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) .pbmp-mp__segbtn.is-on { background: var(--pb-dark-raised) !important; color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) .pbmp-mp__new { background: var(--pb-dark-primary) !important; color: #fff !important; border-color: var(--pb-dark-primary) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) .pbmp-mpcard__fav { background: rgba(35,39,45,.92) !important; color: var(--pb-dark-accent) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) :is(.pbmp-mpcard__act,.pbmp-mp__close,.pbmp-detail-back-btn) { background: var(--pb-dark-raised) !important; color: var(--pb-dark-accent) !important; border-color: var(--pb-dark-outline) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) :is(.pbmp-mpcard__act:hover,.pbmp-mpcard__act.is-open,.pbmp-mpcard__fav:hover,.pbmp-mpcard__fav:focus-visible) { background: var(--pb-dark-raised) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) .pbmp-mpcard__act.pbmp-mpcard__menudots { background: transparent !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) .pbmp-mpcard__menuitem { background: transparent !important; color: var(--pb-dark-secondary) !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) .pbmp-mpcard__menuitem:is(:hover,:focus-visible) { background: var(--pb-dark-raised) !important; color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) .pbmp-mpcard__menuitem.is-danger { color: var(--pb-dark-danger) !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) :is(.pbmp-mpcard__cover,.pbmp-mpcard__name,.pbmp-mp__close,.pbmp-detail-back-btn):focus-visible { outline-color: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) :is(.pbmp-mp__close,.pbmp-detail-back-btn) { background: transparent !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) .pbmp-detail-back-btn { box-shadow: inset 0 0 0 1px var(--pb-dark-outline) !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) .pbmp-mp__group-title { color: var(--pb-dark-muted) !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) :is(.pbmp-mpcard__fav,.pbmp-mpcard__fav:hover,.pbmp-mpcard__fav:focus-visible,.pbmp-plan-star-btn,.pbmp-plan-star-btn:hover) { color: #fff !important; }

  /* Add-to-Planner shares search controls, but owns its sticky header and tabs. */
  html[data-pb-theme="dark"] #pb-picker-root.pbss.pbpk :is(.pbpk-sticky-header,.pbpk-head,.pbpk-sticky-controls) { background: transparent !important; }
  html[data-pb-theme="dark"] #pb-picker-root.pbss.pbpk :is(.pbpk-title,.pbpk-empty-title) { color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] #pb-picker-root.pbss.pbpk :is(.pbpk-tabs,.pbpk-filterbtn,.pbpk-collapse,.pbpk-btn,.pbpk-target,.pbpk-slot,.pbpk-slot-day,.pbpk-slot-row) { background: var(--pb-dark-card) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-outline) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] #pb-picker-root.pbss.pbpk .pbpk-tab { background: transparent !important; color: var(--pb-dark-secondary) !important; opacity: 1; box-shadow: none !important; }
  html[data-pb-theme="dark"] #pb-picker-root.pbss.pbpk :is(.pbpk-tab.is-on,.pbpk-filterbtn.is-on,.pbpk-slot-day.is-on,.pbpk-slot-row.is-on) { background: var(--pb-dark-raised) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] #pb-picker-root.pbss.pbpk .pbpk-filterbtn svg { color: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] #pb-picker-root.pbss.pbpk .pbpk-filterbtn-n { background: var(--pb-dark-primary) !important; color: #fff !important; }
  html[data-pb-theme="dark"] #pb-picker-root.pbss.pbpk :is(.pbpk-search,.pbss-fdrop-search) { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A39FA8' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.35-4.35'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: 11px center !important; background-size: 14px !important; }

  html[data-pb-theme="dark"] #pb-picker-root.pbss.pbpk .pbss-card-media .pbss-card-rating { background: rgba(35,39,45,.94); color: var(--pb-dark-text); box-shadow: none; }
  html[data-pb-theme="dark"] .pb-meal-planner .pbmp-entry-modal-stage :is(.pbmp-btn-ghost,.pbmp-note-btn--ghost) { background: transparent !important; color: var(--pb-dark-text) !important; border: 1px solid var(--pb-dark-outline) !important; }
  html[data-pb-theme="dark"] .pb-meal-planner .pbmp-entry-modal-stage :is(.pbmp-entry-modal-close,.pbmp-note-modal__x) { background: transparent !important; color: var(--pb-dark-accent) !important; border: 1px solid var(--pb-dark-outline) !important; }
  html[data-pb-theme="dark"] .pb-meal-planner .pbmp-entry-modal-stage .pbmp-note-modal__x :is(svg,path,line) { color: var(--pb-dark-accent) !important; stroke: var(--pb-dark-accent) !important; }

  /* The current detail header and action pills include hardcoded light states. */
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) :is(.pbmp-detail-hdr,.pbmp-detail-hdr-main,.pbmp-actionbar) { background: var(--pb-dark-header) !important; border-color: var(--pb-dark-border) !important; color: var(--pb-dark-text) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) :is(.pbmp-detail-hdr,.pbmp-detail-hdr-main,.pbmp-actionbar) { background: var(--pb-dark-bg) !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) :is(.pbmp-detail-title,.pbmp-plan-name-input,.pbmp-focus-head__title,.pbmp-day-nav-label,.pbmp-day-nav-label-input,.pbmp-pdf-menu-label) { color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) :is(.pbmp-plan-desc-display,.pbmp-edit-toggle-label,.pbmp-add-item-hint) { color: var(--pb-dark-secondary) !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) :is(.pbmp-apill,.pbmp-day-nav-btn,.pbmp-plan-dots,.pbmp-mobile-icon-btn,.pbmp-pill-btn) { background: var(--pb-dark-card) !important; color: var(--pb-dark-accent) !important; border-color: var(--pb-dark-outline) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) :is(.pbmp-apill.is-active,.pbmp-apill:hover,.pbmp-pill-btn:hover,.pbmp-plan-dots:hover) { background: var(--pb-dark-raised) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) :is(.pbmp-detail-actions,.pbmp-plan-dots,.pbmp-plan-dots:hover,.pbmp-plan-dots:focus,.pbmp-plan-dots:active) { background: transparent !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) .pbmp-apill[data-action="open-plan-notes"]:not(.has-notes) { background: var(--pb-dark-card) !important; color: var(--pb-dark-muted) !important; border-color: var(--pb-dark-border) !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) :is(.pbmp-add-recipe-btn,.pbmp-focus-head__tdy,.pbmp-add-slot-commit) { background: var(--pb-dark-primary) !important; color: #fff !important; border-color: var(--pb-dark-primary) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) :is(.pbmp-back-arrow,.pbmp-back-text,.pbmp-jump-today,.pbmp-plan-notes-btn,.pbmp-mp-addrecipe-ic,.pbmp-mp-addnote-ic,.pbmp-menu-edit-layout svg,.pbmp-pdf-save-label,.pbmp-chooser-icon) { color: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) .pbmp-edit-banner { background: var(--pb-dark-raised) !important; color: var(--pb-dark-secondary) !important; border-color: var(--pb-dark-outline) !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) :is(.pbmp-edit-banner svg,.pbmp-edit-banner-exit) { color: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) .pbmp-plan-menu-wrap::before,
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) .pbmp-undo-redo-group::before,
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) .pbmp-pill-divider { background: var(--pb-dark-border) !important; }

  /* New/rename/delete sheets and the body-mounted meal/notes context menu. */
  html[data-pb-theme="dark"] :is(.pbmp-modal,.pbmp-chip-menu) { --pbmp-text: var(--pb-dark-text); --pbmp-text-muted: var(--pb-dark-secondary); --pbmp-surface: var(--pb-dark-card); --pbmp-border: var(--pb-dark-outline); }
  html[data-pb-theme="dark"] :is(.pbmp-modal-title,.pbmp-field-label,.pbmp-chooser-title,.pbmp-chip-menu-srv-count) { color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] :is(.pbmp-chooser-sub,.pbmp-field-optional,.pbmp-delete-modal-desc,.pbmp-note-menu-label,.pbmp-chip-menu-srv-label) { color: var(--pb-dark-secondary) !important; }
  html[data-pb-theme="dark"] :is(.pbmp-modal,.pbmp-chip-menu) :is(input,textarea,select,.pbmp-btn-ghost,.pbmp-modal-x-close,.pbmp-chip-menu-srv-btn) { background: var(--pb-dark-card) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-outline) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] .pbmp-chooser-card:is(:hover,:focus-visible) { background: var(--pb-dark-raised) !important; border-color: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] :is(.pbmp-modal-error,.pbmp-error-banner,.pbmp-atp-error-msg,.pbgl-ai-preview-error) { color: var(--pb-dark-danger) !important; background: var(--pbmp-danger-light,#472731) !important; border-color: var(--pb-dark-danger) !important; }
  html[data-pb-theme="dark"] .pbmp-chip-menu { background: var(--pb-dark-card) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-border) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] :is(.pbmp-chip-menu-item,.pbmp-chip-menu-item svg,.pbmp-chip-menu-chevron,.pbmp-chip-menu-back,.pbmp-chip-menu-back svg) { background: transparent !important; color: var(--pb-dark-secondary) !important; }
  html[data-pb-theme="dark"] .pbmp-chip-menu-item:is(:hover,:focus-visible) { background: var(--pb-dark-raised) !important; color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] :is(.pbmp-chip-menu-item-danger,.pbmp-chip-menu-item-danger svg) { color: var(--pb-dark-danger) !important; }
  html[data-pb-theme="dark"] :is(.pbmp-chip-menu-divider,.pbmp-note-menu-sep) { background: var(--pb-dark-border) !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) :is(.pbmp-modal-adding-overlay,.pbmp-chip-pending-overlay) { background: rgba(35,39,45,.82) !important; color: var(--pb-dark-secondary) !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) :is(.pbmp-item-chip,.pbmp-note-chip)::after { background-color: rgba(35,39,45,.45) !important; }
  /* Current focus view and desktop week grid use a separate visual vocabulary. */
  html[data-pb-theme="dark"] :is(#pb-meal-planner-root,.pb-meal-planner) :is(.pbmp-focus-section,.pbmp-focus,.pbmp-mpday,.wg-panel,.wg-headrow,.pbmp-plan-notes,.pbmp-plan-notes-modal,.pbmp-focus-totals) { background: var(--pb-dark-card) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-border) !important; box-shadow: none !important; }
  /* Only the day/grid cards are painted; controls and weekday rail sit on the page. */
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) :is(.pbmp-actionbar,.pbmp-focus-section,.pbmp-focus,.pbmp-rail) { background: transparent !important; }
  html[data-pb-theme="dark"] :is(#pb-meal-planner-root,.pb-meal-planner) :is(.pbmp-item-chip,.wg-chip,.pbmp-rtile,.pbmp-rtile:not(.on),.pbmp-apill,.pbmp-focus-addrow,.pbmp-focus-note-btn,.pbmp-chip-add,.wg-add,.wg-addrow,.wg-note-btn,.slot__rm) { background: var(--pb-dark-card) !important; color: var(--pb-dark-accent) !important; border-color: var(--pb-dark-border) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] :is(#pb-meal-planner-root,.pb-meal-planner) :is(.pbmp-item-chip:hover,.wg-chip:hover,.pbmp-rtile.on,.pbmp-apill.is-active,.wg-dayhead.today,.wg-cell.drop-ok) { background: var(--pb-dark-raised) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] :is(#pb-meal-planner-root,.pb-meal-planner) :is(.pbmp-item-chip-title,.wg-chip__name,.pbmp-rtile__day,.pbmp-mpday__title,.pbmp-slot__name,.wg-dayhead__day,.wg-totals__val,.wg-totals__name) { color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] :is(#pb-meal-planner-root,.pb-meal-planner) :is(.pbmp-chip-leftover-tag,.wg-chip__lo,.wg-rowlabel,.wg-hint,.wg-totals-sub,.wg-totals__unit,.pbmp-plan-notes-empty,.pbmp-focus-totals__label) { color: var(--pb-dark-secondary) !important; }
  html[data-pb-theme="dark"] :is(#pb-meal-planner-root,.pb-meal-planner) :is(.pbmp-chip-leftover-tag,.wg-chip__lo) { background: var(--pb-dark-raised) !important; color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] :is(#pb-meal-planner-root,.pb-meal-planner) :is(.wg-note,.pbmp-mpday__today,.pbmp-rtile__today-pill,.pbmp-chip-menu-btn,.wg-chip__menu) { color: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] :is(#pb-meal-planner-root,.pb-meal-planner) :is(.wg-cell,.wg-rowlabel,.wg-totals,.pbmp-slot,.pbmp-slot__head) { border-color: var(--pb-dark-border) !important; }
  html[data-pb-theme="dark"] :is(#pb-meal-planner-root,.pb-meal-planner) :is(.wg-chip__srv,.pbmp-chip-srv-badge,.wg-totals) { background: var(--pb-dark-raised) !important; color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] :is(#pb-meal-planner-root,.pb-meal-planner) :is(.pbmp-add-recipe-btn,.pbmp-mobile-add-btn) { background: var(--pb-dark-primary) !important; color: #fff !important; border-color: var(--pb-dark-primary) !important; }
  /* Recipe edges stay visible without changing the reader row's borderless size. */
  html[data-pb-theme="dark"] :is(#pb-meal-planner-root,.pb-meal-planner) .pbmp-focus .pbmp-item-chip { box-shadow: inset 0 0 0 1px var(--pb-dark-outline) !important; }
  /* Reader recipes have one consistent container, including normal and leftover rows. */
  html[data-pb-theme="dark"] :is(#pb-meal-planner-root,.pb-meal-planner) .pbmp-focus .pbmp-mpday .pbmp-chips .pbmp-item-chip { border: 1px solid var(--pb-dark-outline) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] :is(#pb-meal-planner-root,.pb-meal-planner) .pbmp-wg .wg-chip { border-color: var(--pb-dark-outline) !important; }
  @media (max-width: 1023px) {
    html[data-pb-theme="dark"] :is(#pb-meal-planner-root,.pb-meal-planner) .pbmp-focus .pbmp-item-chip { -webkit-tap-highlight-color: transparent; }
    html[data-pb-theme="dark"] :is(#pb-meal-planner-root,.pb-meal-planner) .pbmp-focus .pbmp-item-chip:is(:hover,:focus,:active) { background: var(--pb-dark-card) !important; border-color: var(--pb-dark-outline) !important; }
  }
  html[data-pb-theme="dark"] .pbmp-gpanel-overlay {
    --gp-mauve: var(--pb-dark-accent); --gp-mauve-dark: var(--pb-dark-accent); --gp-mauve-deep: var(--pb-dark-text);
    --gp-mauve-soft: var(--pb-dark-raised); --gp-mauve-tint: var(--pb-dark-raised);
    --gp-cream-light: var(--pb-dark-card); --gp-cream-soft: var(--pb-dark-bg); --gp-cream-deep: var(--pb-dark-raised); --gp-cream-line: var(--pb-dark-border);
    --gp-ink: var(--pb-dark-text); --gp-ink-soft: var(--pb-dark-secondary); --gp-ink-muted: var(--pb-dark-secondary); --gp-ink-warm: var(--pb-dark-secondary);
    --gp-sage: var(--pb-dark-success); --gp-line: var(--pb-dark-border); --gp-line-strong: var(--pb-dark-outline);
    --gp-shadow-cta: none; --gp-shadow-panel: none;
  }
  html[data-pb-theme="dark"] .pbmp-gpanel-overlay :is(.pbmp-gp-optcard,.pbmp-gp-tfield,.pbmp-gp-listrow,.pbmp-gp-menu,.pbmp-gp-tile,.pbmp-gp-more,.pbmp-gp-saved,.pbmp-gp-confirm__ic,.pbmp-gp-check) { background: var(--pb-dark-card) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-border) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] .pbmp-gpanel-overlay :is(.pbmp-gp-destseg button.on,.pbmp-gp-listrow.on,.pbmp-gp-optcard:hover) { background: var(--pb-dark-raised) !important; color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] .pbmp-gpanel-overlay :is(.pbmp-gp-btn--primary,.pbmp-gp-tile--primary) { background: var(--pb-dark-primary) !important; color: #fff !important; border-color: var(--pb-dark-primary) !important; }
  html[data-pb-theme="dark"] .pbmp-gpanel-overlay .pbmp-gp-btn--danger { color: var(--pb-dark-danger) !important; }
  html[data-pb-theme="dark"] .pbe-root {
    --pbe-mauve: var(--pb-dark-accent);
    --pbe-text: var(--pb-dark-text);
    --pbe-muted: var(--pb-dark-secondary);
    --pbe-muted-2: var(--pb-dark-muted);
    --pbe-border: var(--pb-dark-border);
    --pbe-card: var(--pb-dark-card);
    --pbe-header-bg: var(--pb-dark-header);
  }
  html[data-pb-theme="dark"] .pbe-root .pbe-cta { background: var(--pb-dark-primary); color: #fff; }

  /* Grocery review generated from Planner, including the educational notice. */
  html[data-pb-theme="dark"] .pbgs-overlay {
    --pbgs-ink: var(--pb-dark-text);
    --pbgs-muted: var(--pb-dark-secondary);
    --pbgs-plum: var(--pb-dark-accent);
    --pbgs-line: var(--pb-dark-border);
    --pbgs-paper: var(--pb-dark-card);
  }
  html[data-pb-theme="dark"] :is(.pbgs-dialog,.pbgs-close,.pbgs-button,.pbgs-radio,.pbgs-field input,.pbgs-field select,.pbgs-earlier) { background: var(--pb-dark-card) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-border) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] .pbgs-radio:has(input:checked) { background: var(--pb-dark-raised) !important; border-color: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] .pbgs-button.pbgs-primary { background: var(--pb-dark-primary) !important; color: #fff !important; border-color: var(--pb-dark-primary) !important; }
  html[data-pb-theme="dark"] :is(.pbgs-notice,.pbgs-badge) { background: var(--pb-dark-notes) !important; color: var(--pb-dark-warm) !important; }
  html[data-pb-theme="dark"] :is(.pbgs-notice .pbgs-button,.pbgs-current .pbgs-button,.pbgs-notice-dismiss) { color: var(--pb-dark-honey) !important; background: transparent !important; }
  html[data-pb-theme="dark"] :is(.pbgs-current,.pbgs-plan-status) { color: var(--pb-dark-secondary) !important; }
  html[data-pb-theme="dark"] :is(.pbgs-newtag,.pbgs-successmark,.pbgs-progress-steps .is-complete .pbgs-progress-marker) { background: #29382a !important; color: var(--pb-dark-success) !important; }
  html[data-pb-theme="dark"] :is(.pbgs-error,.pbgs-footer .pbgs-error,.pbgs-content .pbgs-error) { color: var(--pb-dark-danger) !important; }

  /* Groceries: index, shopping, item editing and detached source/organize sheets. */
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay,.pbgl-shop-overlay,.pbgl-item-sheet,.pbgl-source-dialog,.pbgl-aspanel,.pbgl-as-detail-dialog,.pbgl-modal,.pbgl-drag-clone--popup) {
    --pbgl-primary: var(--pb-dark-primary);
    --pbgl-primary-light: var(--pb-dark-accent);
    --pbgl-primary-pale: var(--pb-dark-raised);
    --pbgl-bg: var(--pb-dark-card);
    --pbgl-bg-alt: var(--pb-dark-bg);
    --pbgl-text: var(--pb-dark-text);
    --pbgl-text-muted: var(--pb-dark-secondary);
    --pbgl-checked: var(--pb-dark-muted);
    --pbgl-success: var(--pb-dark-success);
    --pbgl-delete: var(--pb-dark-danger);
    --pbgl-border: var(--pb-dark-border);
    --pbgl-shadow: none;
    --pbgl-tools-glass: 35,39,45;
    --pb-tool-surface: var(--pb-dark-bg);
    --mauve: var(--pb-dark-accent);
    --mauve-deep: var(--pb-dark-text);
    --mauve-tint: var(--pb-dark-raised);
    --pb-mauve: var(--pb-dark-accent);
    --pb-bg: var(--pb-dark-card);
    --pb-card: var(--pb-dark-card);
    --pb-border: var(--pb-dark-border);
    --pb-text: var(--pb-dark-text);
    --pb-muted: var(--pb-dark-secondary);
    --pb-soft: var(--pb-dark-raised);
    --pb-error: var(--pb-dark-danger);
    --pb-error-bg: #472731;
  }
  html[data-pb-theme="dark"] :is(#pbgl-page,#pbgl-overlay .pbgl-ov-sheet,.pbgl-shop-overlay,.pbgl-shop-backdrop) { background: var(--pb-dark-bg) !important; color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-page #pbgl-app,#pbgl-overlay #pbgl-app,.pbgl-item-sheet,.pbgl-source-dialog,.pbgl-modal,.pbgl-aspanel-overlay .pbgl-aspanel,.pbgl-as-detail-dialog,.pbgl-print-bridge-panel,.pbgl-print-bridge-header,.pbgl-print-bridge-footer) { background: var(--pb-dark-card) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-border) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay #pbgl-app) :is(.pbgl-list-card,.pbgl-tile,.pbgl-items-card,.pbgl-items,.pbgl-item,.pbgl-item-slidable,.pbgl-section,.pbgl-section-header,.pbgl-section-header-slidable,.pbgl-search-wrap,.pbgl-listtools,.pbgl-more-menu,.pbgl-sort-menu,.pbgl-dropdown,.pbgl-add-item-btn,.pbgl-add-section-btn) { background: var(--pb-dark-card) !important; border-color: var(--pb-dark-border) !important; color: var(--pb-dark-text) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay #pbgl-app) .pbgl-item::after { background: var(--pb-dark-border) !important; }
  html[data-pb-theme="dark"] .pbgl-listtools::before,
  html[data-pb-theme="dark"] .pbgl-item-sheet-overlay.has-keyboard::after { background: var(--pb-dark-card) !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay #pbgl-app,.pbgl-item-sheet,.pbgl-modal,.pbgl-aspanel,.pbgl-as-detail-dialog,.pbgl-shop-overlay) :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select) { background-color: var(--pb-dark-card) !important; border-color: var(--pb-dark-border) !important; color: var(--pb-dark-text) !important; caret-color: var(--pb-dark-accent); box-shadow: none !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,.pbgl-item-sheet,.pbgl-modal,.pbgl-aspanel) :is(input,textarea)::placeholder { color: var(--pb-dark-muted) !important; opacity: 1; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay #pbgl-app,.pbgl-shop-overlay,.pbgl-item-sheet,.pbgl-source-dialog,.pbgl-aspanel) :is(h2,h3,.pbgl-item-name,.pbgl-item-qty,.pbgl-section-name,.pbgl-item-sheet-title,.pbgl-asrev__name,.pbgl-asrev__qty,.pbgl-shop-title,.pbgl-shop-section-name,.pbgl-source-recipe-copy strong,.pbgl-source-summary > strong,.pbgl-source-message > strong) { color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay #pbgl-app,.pbgl-shop-overlay,.pbgl-item-sheet,.pbgl-source-dialog,.pbgl-aspanel) :is(.pbgl-item-notes,.pbgl-section-count,.pbgl-list-count,.pbgl-shop-count,.pbgl-item-sheet-receipt,.pbgl-source-plan,.pbgl-source-incomplete,.pbgl-source-message > span,.pbgl-source-recipe-copy small,.pbgl-as-usage,.pbgl-sort-heading,.pbgl-shop-more-menu__label) { color: var(--pb-dark-secondary) !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay #pbgl-app,.pbgl-shop-overlay,.pbgl-item-sheet,.pbgl-source-dialog) :is(.pbgl-item-source-trigger,.pbgl-source-plan-open,.pbgl-source-recipe-arrow,.pbgl-source-dialog-close,.pbgl-collapse-all-btn,.pbgl-sort-toggle,.pbgl-sort-current,.pbgl-sort-check,.pbgl-section-toggle,.pbgl-search-icon,.pbgl-item-sheet-another,.pbgl-item-sheet-plus,.pbgl-ov-morebtn) { color: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] :is(.pbgl-shop-topbar,.pbgl-shop-footer,.pbgl-shop-more-menu,.pbgl-source-recipe,.pbgl-source-recipe-thumb,.pbgl-item-sheet-check,.pbgl-item-sheet-remove,.pbgl-item-sheet-mult,.pbgl-item-mult,.pbgl-as-detail-foot,.pbgl-aspanel__head,.pbgl-aspanel__foot,.pbgl-as-optcard,.pbgl-asrev__sec,.pbgl-coach) { background: var(--pb-dark-card) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-border) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] :is(.pbgl-shop-icon-btn,.pbgl-shop-font-btn,.pbgl-shop-esc kbd,.pbgl-pill-btn,.pbgl-back-to-top,.pbgl-list-create,.pbgl-detail-add-item,.pbgl-source-plan-open,.pbgl-ov-morebtn,.pbgl-item-sheet-check,.pbgl-section-count) { background-color: var(--pb-dark-raised) !important; color: var(--pb-dark-accent) !important; border-color: var(--pb-dark-border) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] :is(#pbgl-shop-close,#pbgl-shop-expand) { background-color: var(--pb-dark-raised) !important; color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] :is(.pbgl-btn-primary,.pbgl-add-btn,.pbgl-edit-save,.pbgl-floating-add-item:not([hidden]),#pbgl-app button.pbgl-autosort-cta,.pbgl-print-bridge-btn,.pbgl-aspanel .pbgl-btn-primary,.pbgl-as-detail-dialog .pbgl-btn-primary) { background: var(--pb-dark-primary) !important; color: #fff !important; border-color: var(--pb-dark-primary) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay #pbgl-app,.pbgl-shop-overlay,.pbgl-item-sheet) :is(.pbgl-item.checked .pbgl-item-name,.pbgl-item.checked .pbgl-item-qty,.pbgl-item.checked .pbgl-item-notes,.pbgl-shop-item.checked) { color: var(--pb-dark-muted) !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay #pbgl-app,.pbgl-drag-clone--popup) .pbgl-item-checkbox[role="checkbox"]::before { background: var(--pb-dark-card) !important; border-color: var(--pb-dark-muted) !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay #pbgl-app,.pbgl-drag-clone--popup) .pbgl-item-checkbox[aria-checked="true"]::before { background: var(--pb-dark-primary) !important; border-color: var(--pb-dark-primary) !important; }
  html[data-pb-theme="dark"] :is(.pbgl-item-sheet-error,.pbgl-ai-preview-error,.pbgl-btn-danger,.pbgl-more-menu button.danger,.pbgl-dropdown button.danger) { color: var(--pb-dark-danger) !important; }
  html[data-pb-theme="dark"] :is(.pbgl-toast,.pbgl-toast-undo,.pbgl-added-banner,.pbgl-print-status) { background: var(--pb-dark-raised) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-border) !important; }
  html[data-pb-theme="dark"] :is(.pbgl-toast-undo-btn,.pbgl-added-banner-close) { color: var(--pb-dark-accent) !important; }
  /* This legacy dialog uses inline styles rather than the grocery app tokens. */
  html[data-pb-theme="dark"] #pbgl-modal-panel { background: var(--pb-dark-card) !important; color: var(--pb-dark-text) !important; box-shadow: none !important; border: 1px solid var(--pb-dark-border); }
  html[data-pb-theme="dark"] #pbgl-modal-panel :is(h3,p,label,select,input) { color: var(--pb-dark-text) !important; border-color: var(--pb-dark-border) !important; }
  html[data-pb-theme="dark"] #pbgl-modal-panel :is(select,input) { background-color: var(--pb-dark-card) !important; }
  html[data-pb-theme="dark"] :is(#pbgl-x-close,#pbgl-cancel-btn,#pbgl-selector-body > span) { color: var(--pb-dark-secondary) !important; }
  html[data-pb-theme="dark"] #pbgl-confirm-btn { background: var(--pb-dark-primary) !important; color: #fff !important; }

  /* Current Grocery overview, compact toolbar and body-mounted category rail. */
  html[data-pb-theme="dark"] .pb-tool-header .pb-tool-title,
  html[data-pb-theme="dark"] #pbgl-overlay .pb-tool-header .pb-tool-title,
  html[data-pb-theme="dark"] #pbf-saved-overlay .pbf-saved-header #pbf-saved-title { color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] :is(#pbgl-overlay,#pbgl-page,#pbt-overlay,#pbt-primary,#pbcalc-overlay) .pb-tool-header { background: var(--pb-dark-bg) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-border) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay) :is(.pbgl-ov-morebtn,.pbgl-ov-morebtn:hover,.pbgl-list-dots,.pbgl-list-dots:hover),
  html[data-pb-theme="dark"] #pbgl-shop-more-btn,
  html[data-pb-theme="dark"] .pbmp-gpanel-overlay .pbmp-gp-more { background: transparent !important; }
  html[data-pb-theme="dark"] :is(#pbgl-overlay,#pbgl-page,#pbt-overlay,#pbt-primary,#pbcalc-overlay) :is(.pb-tool-title,.pbgl-page-title,.pbgl-header h2) { color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] :is(#pbgl-overlay,#pbgl-page,#pbt-overlay,#pbt-primary,#pbcalc-overlay) .pb-tool-close { background: var(--pb-dark-raised) !important; color: var(--pb-dark-accent) !important; border-color: var(--pb-dark-outline) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] :is(#pbgl-page,#pbgl-app,#pbgl-overlay #pbgl-app) :is(.pbgl-list-card-title,.pbgl-list-title) { color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] :is(#pbgl-page,#pbgl-app,#pbgl-overlay #pbgl-app) :is(.pbgl-page-sub,.pbgl-list-card-meta,.pbgl-list-group > h3,.pbgl-list-card-arrow,.pbgl-shop-toggle-label) { color: var(--pb-dark-secondary) !important; }
  html[data-pb-theme="dark"] :is(#pbgl-page,#pbgl-app,#pbgl-overlay #pbgl-app,.pbgl-aspanel,.pbgl-as-detail-dialog) .pbgl-btn-ghost { background: var(--pb-dark-card) !important; color: var(--pb-dark-accent) !important; border-color: var(--pb-dark-outline) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] :is(#pbgl-page,#pbgl-app,#pbgl-overlay #pbgl-app) :is(.pbgl-list-card.selected,.pbgl-btn-ghost:hover) { background: var(--pb-dark-raised) !important; border-color: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] :is(#pbgl-page,#pbgl-app,#pbgl-overlay #pbgl-app) .pbgl-star-btn:not(.starred) { color: var(--pb-dark-muted) !important; }
  html[data-pb-theme="dark"] :is(#pbgl-page,#pbgl-app,#pbgl-overlay #pbgl-app) .pbgl-empty { background: var(--pb-dark-card) !important; color: var(--pb-dark-secondary) !important; border-color: var(--pb-dark-border) !important; }
  html[data-pb-theme="dark"] :is(#pbgl-page,#pbgl-app,#pbgl-overlay #pbgl-app) :is(.pbgl-list-progress,.pbgl-as-usage-track) { background: var(--pb-dark-raised) !important; }
  html[data-pb-theme="dark"] :is(#pbgl-page,#pbgl-app,#pbgl-overlay #pbgl-app) :is(.pbgl-list-progress,.pbgl-as-usage-track) > span { background: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay #pbgl-app).pbgl-toolbar-layout :is(.pbgl-shop-mode-toggle,#pbgl-sort-toggle,#pbgl-collapse-all,#pbgl-mobile-share-toggle,#pbgl-mobile-search-toggle) { background: var(--pb-dark-card) !important; color: var(--pb-dark-accent) !important; border-color: var(--pb-dark-outline) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay #pbgl-app).pbgl-toolbar-layout :is(.pbgl-sort-menu,#pbgl-mobile-share-menu) { background: var(--pb-dark-card) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-border) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay #pbgl-app).pbgl-toolbar-layout :is(.pbgl-sort-menu,#pbgl-mobile-share-menu) button { color: var(--pb-dark-secondary) !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay #pbgl-app).pbgl-toolbar-layout :is(.pbgl-sort-menu,#pbgl-mobile-share-menu) button:is(:hover,:focus-visible) { background: var(--pb-dark-raised) !important; color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay #pbgl-app).pbgl-toolbar-layout .pbgl-sort-actions [role="separator"] { background: var(--pb-dark-border) !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay #pbgl-app).pbgl-mobile-layout :is(.pbgl-ov-headrow,.pbgl-back-btn) { background: var(--pb-dark-card) !important; color: var(--pb-dark-accent) !important; border-color: var(--pb-dark-border) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay #pbgl-app).pbgl-mobile-layout .pbgl-back-btn,
  html[data-pb-theme="dark"] :is(#pbgl-overlay,#pbgl-page) #pbgl-back { background: transparent !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay #pbgl-app,.pbgl-shop-overlay) .pbgl-shop-toggle-track { background: var(--pb-dark-outline) !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay #pbgl-app,.pbgl-shop-overlay) input:checked + .pbgl-shop-toggle-track { background: var(--pb-dark-primary) !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay #pbgl-app,.pbgl-section-clone,#pbgl-shop-overlay) .pbgl-category-icon { background: var(--pb-dark-raised) !important; color: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay #pbgl-app,.pbgl-section-clone,#pbgl-shop-overlay) .pbgl-category-icon--produce { color: var(--pb-dark-success) !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay #pbgl-app,.pbgl-section-clone,#pbgl-shop-overlay) :is(.pbgl-category-icon--pantry,.pbgl-category-icon--bakery,.pbgl-category-icon--spices) { color: var(--pb-dark-honey) !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay #pbgl-app,.pbgl-section-clone,#pbgl-shop-overlay) :is(.pbgl-category-icon--fridge,.pbgl-category-icon--frozen) { color: #a3d0dd !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay #pbgl-app,.pbgl-section-clone,#pbgl-shop-overlay) .pbgl-section-count { color: var(--pb-dark-secondary) !important; }
  html[data-pb-theme="dark"] body .pbgl-section-nav { background: var(--pb-dark-nav) !important; color: var(--pb-dark-secondary) !important; border-color: var(--pb-dark-border) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] body .pbgl-section-nav::after { background: linear-gradient(to right,transparent,var(--pb-dark-nav)) !important; }
  html[data-pb-theme="dark"] body .pbgl-section-nav button { background: var(--pb-dark-card) !important; color: var(--pb-dark-secondary) !important; border-color: var(--pb-dark-outline) !important; }
  html[data-pb-theme="dark"] body .pbgl-section-nav button[aria-current="location"] { background: var(--pb-dark-raised) !important; color: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] body:not(.pbgl-overlay-active):has(#pbgl-page #pbgl-sections-container) > .pbgl-section-nav button { color: var(--pb-dark-secondary) !important; }
  html[data-pb-theme="dark"] body:not(.pbgl-overlay-active):has(#pbgl-page #pbgl-sections-container) > .pbgl-section-nav button[aria-current="location"] { background: var(--pb-dark-raised) !important; color: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] .pbgl-section-nav-marker { background: var(--pb-dark-outline) !important; }
  html[data-pb-theme="dark"] .pbgl-section-nav button[aria-current="location"] .pbgl-section-nav-marker { background: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] :is(.pbgl-shop-progress,.pbgl-item-sheet-handle span) { background: var(--pb-dark-raised) !important; }
  html[data-pb-theme="dark"] .pbgl-shop-progress-fill { background: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] .pbgl-item-sheet .pbgl-source-disclosure-toggle { color: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] :is(.pbgl-item-sheet-footer,.pbgl-item-sheet-sources .pbgl-source-recipe) { background: var(--pb-dark-card) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-border) !important; }

  /* The newer Add Item/Recipe sheet is separate from the Edit Item sheet. */
  html[data-pb-theme="dark"] :is(.pbgl-add-sheet,.pbgl-add-head,.pbgl-add-footer,.pbgl-add-discard-card) { background: var(--pb-dark-card) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-border) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] .pbgl-add-sheet :is(.pbgl-add-title,.pbgl-add-field,.pbgl-add-ingredient) { color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] .pbgl-add-sheet :is(.pbgl-add-field small,.pbgl-add-field > span > span,.pbgl-add-empty,.pbgl-add-recipe-meta,.pbgl-add-review p,.pbgl-add-ingredient small,.pbgl-add-chip-edit span) { color: var(--pb-dark-secondary) !important; }
  html[data-pb-theme="dark"] :is(.pbgl-add-discard-card p,.pbgl-add-ingredient:has(input:not(:checked))) { color: var(--pb-dark-secondary) !important; }
  html[data-pb-theme="dark"] .pbgl-add-sheet :is(input:not([type="checkbox"]),textarea,select) { background: var(--pb-dark-card) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-outline) !important; caret-color: var(--pb-dark-accent); }
  html[data-pb-theme="dark"] .pbgl-add-sheet :is(input,textarea)::placeholder { color: var(--pb-dark-muted) !important; opacity: 1; }
  html[data-pb-theme="dark"] :is(.pbgl-add-tabs,.pbgl-add-chip,.pbgl-add-servings button,.pbgl-add-sheet .pbgl-add-secondary) { background: var(--pb-dark-raised) !important; color: var(--pb-dark-accent) !important; border-color: var(--pb-dark-outline) !important; }
  html[data-pb-theme="dark"] :is(.pbgl-add-tabs > button,.pbgl-add-filters > button,.pbgl-add-close,.pbgl-add-back,.pbgl-add-search > svg) { color: var(--pb-dark-secondary) !important; }
  html[data-pb-theme="dark"] :is(.pbgl-add-tabs > button[aria-selected="true"],.pbgl-add-tabs > button[aria-pressed="true"],.pbgl-add-filters > button[aria-pressed="true"],.pbgl-add-filters > button[aria-selected="true"],.pbgl-add-chip.is-editing) { background: var(--pb-dark-card) !important; color: var(--pb-dark-accent) !important; border-color: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] .pbgl-add-sheet :is(.pbgl-add-primary,.pbgl-add-primary:hover:not(:disabled)) { background: var(--pb-dark-primary) !important; color: #fff !important; border-color: var(--pb-dark-primary) !important; }
  html[data-pb-theme="dark"] .pbgl-add-sheet :is(.pbgl-add-secondary:hover:not(:disabled),.pbgl-add-close:hover,.pbgl-add-back:hover) { background: var(--pb-dark-raised) !important; color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] .pbgl-add-ingredient input[type="checkbox"] { background: var(--pb-dark-card) !important; border-color: var(--pb-dark-outline) !important; }
  html[data-pb-theme="dark"] .pbgl-add-ingredient input[type="checkbox"]:checked { background: var(--pb-dark-primary) !important; border-color: var(--pb-dark-primary) !important; }
  html[data-pb-theme="dark"] .pbgl-add-sheet .pbgl-add-error { color: var(--pb-dark-danger) !important; }
  html[data-pb-theme="dark"] .pbgl-add-recipe-badge { color: var(--pb-dark-accent) !important; }

  /* Tracker variables also apply to its body-appended meal/custom-metric dialog. */
  html[data-pb-theme="dark"] :is(#pb-daily-tracker,.pbt-modal-root,#pbrm-overlay,.pbrm-export-modal) {
    --mauve: var(--pb-dark-accent);
    --mauve-dark: var(--pb-dark-accent);
    --mauve-deep: var(--pb-dark-text);
    --mauve-deepest: var(--pb-dark-text);
    --mauve-soft: var(--pb-dark-raised);
    --mauve-glow: var(--pb-dark-raised);
    --mauve-tint: var(--pb-dark-raised);
    --cream: var(--pb-dark-card);
    --cream-light: var(--pb-dark-bg);
    --cream-deep: var(--pb-dark-raised);
    --cream-soft: var(--pb-dark-card);
    --cream-line: var(--pb-dark-border);
    --ink: var(--pb-dark-text);
    --ink-soft: var(--pb-dark-secondary);
    --ink-muted: var(--pb-dark-secondary);
    --ink-mute-warm: var(--pb-dark-secondary);
    --sage: var(--pb-dark-success);
    --line: var(--pb-dark-border);
    --line-soft: var(--pb-dark-border);
    --line-strong: var(--pb-dark-outline);
    --shadow-sm: none;
    --shadow-md: none;
    --shadow-lg: none;
    --shadow-cta: none;
  }
  html[data-pb-theme="dark"] :is(#pbt-primary,#pbt-overlay .pbt-ov-sheet,#pb-daily-tracker,.pbt-pagehead) { background: var(--pb-dark-bg) !important; color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] :is(#pb-daily-tracker,.pbt-modal-root) :is(.pbt-card,.pbt-cfgpop,.pbt-tile,.pbt-meal,.pbt-erow,.pbt-mm,.pbt-mm__preview,.pbt-mm__pvpills span,.pbmp-modal-add-item,.pbmp-add-item-result,.pbt-tip) { background: var(--pb-dark-card) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-border) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] :is(#pb-daily-tracker,.pbt-modal-root) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),textarea,select,.pbt-ring__tin,.pbt-tin,.pbt-tile__notein) { background: var(--pb-dark-card) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-border) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] :is(#pb-daily-tracker,.pbt-modal-root) :is(input,textarea)::placeholder { color: var(--pb-dark-muted) !important; opacity: 1; }
  html[data-pb-theme="dark"] :is(#pb-daily-tracker,.pbt-modal-root) :is(.pbt-title,.pbt-total__v b,.pbmp-aim-title,.pbmp-add-item-result-title,.import-cta-title,.pbt-tip__r b) { color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] :is(#pb-daily-tracker,.pbt-modal-root) :is(.pbt-total__l,.pbt-total__v span,.pbmp-aim-sub,.pbmp-add-item-result-meta,.import-cta-body,.pbt-tip__d,.pbt-tip__r) { color: var(--pb-dark-secondary) !important; }
  html[data-pb-theme="dark"] :is(#pb-daily-tracker,.pbt-modal-root) :is(button.pbt-iconbtn,.pbt-serv button,button.pbt-reset,.pbt-stepper button,button.pbt-pill,button.pbt-cal__nav,button.pbt-cal-toggle,button.pbt-cal__today,button.pbt-edit,button.pbt-erow__act,button.pbt-addmetric,button.pbt-hidden__chip,button.pbt-tchip,button.pbt-mm__type,button.pbt-mm__face,button.pbt-mm__choicedel,button.pbt-mm__btn--ghost) { background: var(--pb-dark-card) !important; color: var(--pb-dark-accent) !important; border-color: var(--pb-dark-border) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] :is(#pb-daily-tracker,.pbt-modal-root) :is(button.pbt-pill.on,button.pbt-rseg.on,button.pbt-tchip.on,button.pbt-wpill.on,button.pbt-cal__day.today,button.pbt-cal__day.sel,.pbt-scale__thumb,.pbt-pill__chk,.pbt-cfgrow__chk,.opt.is-selected,.pbmp-add-item-result:hover) { background: var(--pb-dark-raised) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-accent) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] #pb-daily-tracker button.pbt-wpill.on :is(.pbt-wpill__dow,.pbt-wpill__d) { color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] :is(#pb-daily-tracker,.pbt-modal-root) :is(button.pbt-btn--primary,button.pbt-mm__btn--primary,.import-btn) { background: var(--pb-dark-primary) !important; color: #fff !important; border-color: var(--pb-dark-primary) !important; }
  html[data-pb-theme="dark"] #pb-daily-tracker .pbt-hover__d { fill: var(--pb-dark-card); }
  html[data-pb-theme="dark"] #pb-daily-tracker :is(.pbt-chart__xtick,.pbt-chart__ytick) { fill: var(--pb-dark-muted); }
  html[data-pb-theme="dark"] #pb-daily-tracker :is(.pbt-total,button.pbt-wpill,.pbt-ring__t:hover) { background: var(--pb-dark-card) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-border) !important; }
  html[data-pb-theme="dark"] #pb-daily-tracker button.pbt-wpill.on { background: var(--pb-dark-raised) !important; border-color: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] .pbt-modal-root :is(.opt,.opt .opt-dot,.pbmp-btn-ghost,.pbmp-add-item-result-add) { background: var(--pb-dark-card) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-border) !important; }
  html[data-pb-theme="dark"] .pbt-modal-root :is(.opt.is-selected,.opt--own.is-active) { background: var(--pb-dark-raised) !important; border-color: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] #pb-daily-tracker {
    --pbt-series-fib: #e2b77f;
    --pbt-series-pp: #bed399;
    --pbt-series-sleep: var(--pb-dark-accent);
    --pbt-series-energy: var(--pb-dark-honey);
    --pbt-series-mood: #e8adc4;
    --pbt-series-digest: var(--pb-dark-success);
    --pbt-series-hydra: #a3d0dd;
  }

  /* Reader content, plan preview and export menu. Images and media keep their pixels. */
  html[data-pb-theme="dark"] #pbrm-overlay :is(.pbrm-card,.pbrm-top,.pbrm-toolbar,.mp-daypanel,.mp-view--notes,.mp-preview-desktop,.mp-preview-grid thead th,.mp-preview-grid th[scope="row"],.pbrm-preview-scroll,.pbrm-original-guide) { background: var(--pb-dark-bg) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-border) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] #pbrm-overlay :is(.pbrm-ib,.pbrm-esc kbd,.mp-tab,.mp-day,.mp-meal,.mp-action-pill,.mp-totals,.pbrm-plan-menu .pb-rx-card,.pbrm-plan-print-menu,.pbrm-preview-mini__day > div,.pbrm-preview-close,.pbrm-preview-open,.pbrm-plan-print,.pbrm-plan-header-action) { background: var(--pb-dark-card) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-border) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] #pbrm-overlay :is(.mp-tab.is-active,.mp-day.is-active,.mp-meal:hover,.mp-action-pill:hover,.mp-action-pill.is-active,.pbrm-plan-print-option:hover,.pbrm-plan-print-option:focus-visible) { background: var(--pb-dark-raised) !important; color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] #pbrm-overlay :is(.mp-day.is-active span,.mp-day.is-active b,.mp-totals__val,.pbrm-preview-open > span,.ar-byline__who) { color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] #pbrm-overlay :is(.mp-slot-label,.mp-slot-empty,.mp-meal__servings,.mp-meal__leftover,.mp-totals__name,.mp-totals__unit,.pbrm-plan-print-option small,.pbrm-esc) { color: var(--pb-dark-secondary) !important; }
  html[data-pb-theme="dark"] #pbrm-overlay :is(.pbrm-action,.pbrm-ib,.ar-eyebrow,.ar-body a,.mp-about-toggle,.pbrm-plan-print-option,.pbrm-plan-body a) { color: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] #pbrm-overlay :is(.pbrm-action--primary,.pbrm-planner-add-btn,.pbrm-planner-return-btn,.pbrm-nutrition-btn.mp-action-pill.is-active) { background: var(--pb-dark-primary) !important; color: #fff !important; border-color: var(--pb-dark-primary) !important; }
  html[data-pb-theme="dark"] #pbrm-overlay .pbrm-action--primary :is(span,svg) { color: #fff !important; }
  html[data-pb-theme="dark"] :is(.pbrm-xm-card,.pbrm-xm-opt) { background: var(--pb-dark-card) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-border) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] .pbrm-export-modal .pbrm-xm-go { background: var(--pb-dark-primary) !important; color: #fff !important; }

  /* Preferences reuses the existing onboarding field components. */
  html[data-pb-theme="dark"] :is(.pbo-prefs,.pbo-overlay) {
    --pb-mauve: var(--pb-dark-accent);
    --pb-mauve-hover-bg: var(--pb-dark-raised);
    --pb-bg: var(--pb-dark-bg);
    --pb-card: var(--pb-dark-card);
    --pb-border: var(--pb-dark-border);
    --pb-text: var(--pb-dark-text);
    --pb-muted: var(--pb-dark-secondary);
  }
  html[data-pb-theme="dark"] :is(.pbo-prefs,.pbo-overlay) :is(.pbo-seg-btn.is-on,.pbo-chip.is-on,.pbo-check.is-on .pbo-check-box,.pbo-card.is-on,.pbo-pill.is-on) { background: var(--pb-dark-raised) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-accent) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] :is(.pbo-prefs,.pbo-overlay) :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select) { background: var(--pb-dark-card) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-border) !important; }
  html[data-pb-theme="dark"] .pbo-pref-row__status.is-error { color: var(--pb-dark-danger); }
  html[data-pb-theme="dark"] .pbo-flow {
    --pbo-mauve: var(--pb-dark-accent);
    --pbo-mauve-dark: var(--pb-dark-text);
    --pbo-ink: var(--pb-dark-text);
    --pbo-muted: var(--pb-dark-secondary);
    --pbo-bg: var(--pb-dark-bg);
    --pbo-line: var(--pb-dark-border);
    --pbo-green: var(--pb-dark-success);
    --pbo-amber: var(--pb-dark-honey);
    --pbo-card: var(--pb-dark-card);
    --pbo-soft: var(--pb-dark-raised);
  }
  html[data-pb-theme="dark"] .pbo-flow .pbo-cta { background: var(--pb-dark-primary); color: #fff; box-shadow: none; }
  html[data-pb-theme="dark"] .pbo-flow .pbo-cta:hover { background: var(--pb-dark-primary); }
  html[data-pb-theme="dark"] .pbo-flow .pbo-err { color: var(--pb-dark-danger); }
  html[data-pb-theme="dark"] .pbo-flow .pbo-beginbtn.is-sel :is(.pbo-ic,.pbo-tick) { background: var(--pb-dark-raised); color: var(--pb-dark-text); }

  /* Calculator includes authored page CSS, read from staging page 7038072. */
  html[data-pb-theme="dark"] .pb-calc {
    --mauve-900: var(--pb-dark-text);
    --mauve-800: var(--pb-dark-accent);
    --mauve-700: var(--pb-dark-accent);
    --mauve-500: var(--pb-dark-accent);
    --mauve-200: var(--pb-dark-raised);
    --mauve-100: var(--pb-dark-raised);
    --cream: var(--pb-dark-warm);
    --cream-deep: var(--pb-dark-raised);
    --sage-deep: var(--pb-dark-success);
    --ink: var(--pb-dark-text);
    --ink-2: var(--pb-dark-secondary);
    --ink-3: var(--pb-dark-secondary);
    --line: var(--pb-dark-border);
    --line-2: var(--pb-dark-outline);
    --shadow-md: none;
    --shadow-lg: none;
  }
  html[data-pb-theme="dark"] #pbcalc-overlay :is(.pbcalc-ov-sheet,#pb-calc-root) { background: var(--pb-dark-bg) !important; color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] :is(.pb-calc__card,.pbcalc-ov-skel-card) { background: var(--pb-dark-card) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-border) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] .pb-calc__card::before { background: none; }
  html[data-pb-theme="dark"] .pb-calc :is(input,select) { background-color: var(--pb-dark-card) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-border) !important; }
  html[data-pb-theme="dark"] .pb-calc :is(.pb-chips button,.pb-seg button.is-active,.pb-faq__item,.pb-faq__item:hover,.pb-faq__item[open]) { background: var(--pb-dark-card); color: var(--pb-dark-text); border-color: var(--pb-dark-border); box-shadow: none; }
  html[data-pb-theme="dark"] .pb-calc :is(.pb-chips button.is-active,.pb-seg button.is-active) { background: var(--pb-dark-raised); border-color: var(--pb-dark-accent); }
  html[data-pb-theme="dark"] .pb-calc .pb-info-dot::after { background: var(--pb-dark-raised); color: var(--pb-dark-text); }
  html[data-pb-theme="dark"] .pb-calc .pb-results { background: var(--pb-dark-card); color: var(--pb-dark-text); border: 1px solid var(--pb-dark-border); }
  html[data-pb-theme="dark"] .pb-calc :is(.pb-results__title,.pb-results__value,.pb-results__row.is-highlight .pb-results__value,.pb-results__row) { color: var(--pb-dark-text); border-color: var(--pb-dark-border); }
  html[data-pb-theme="dark"] .pb-calc :is(.pb-results__greeting,.pb-results__group-label,.pb-results__note,.pb-results__reset,.pb-results__value small) { color: var(--pb-dark-secondary); }
  html[data-pb-theme="dark"] .pb-calc :is(.pb-results__title em,.pb-results__reset a) { color: var(--pb-dark-accent); }
  html[data-pb-theme="dark"] .pb-calc :is(.pb-results__row.is-highlight,.pb-goal-tag) { background: var(--pb-dark-raised); color: var(--pb-dark-text); }
  html[data-pb-theme="dark"] .pb-calc .pb-soft-note { background: var(--pb-dark-notes); color: var(--pb-dark-warm); border-color: var(--pb-dark-border); }
  html[data-pb-theme="dark"] .pb-calc .pb-soft-note strong { color: var(--pb-dark-honey); }
  html[data-pb-theme="dark"] .pb-calc .pb-error { color: var(--pb-dark-danger); }
  html[data-pb-theme="dark"] .pb-calc .pb-cta { background: var(--pb-dark-primary); color: #fff; box-shadow: none; }
  html[data-pb-theme="dark"] .pb-calc .pb-cta:hover { background: var(--pb-dark-primary); }
  html[data-pb-theme="dark"] :is(#pb-calc-root,body.page-id-7038072) .pb-hero :is(h1,p) { color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] :is(#pb-calc-root,body.page-id-7038072) .pb-hero em { color: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] .pb-results :is(.pbct__hd,.pbct__label,.pbct__replaces) { color: var(--pb-dark-secondary) !important; }

  /* Top bars and bottom controls use their dedicated surface colors. */
  html[data-pb-theme="dark"] :is(.pbgl-shop-topbar,.pbgl-aspanel__head,#pbrm-overlay .pbrm-top) { background: var(--pb-dark-header) !important; border-color: var(--pb-dark-border) !important; }
  /* Sticky page headings blend into the page without showing content through them. */
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,.pb-meal-planner) :is(.pbmp-mp__sticky-row,.pbmp-detail-sticky-row) { background: var(--pb-dark-bg) !important; border-color: var(--pb-dark-border) !important; }
  html[data-pb-theme="dark"] :is(.pbgl-shop-footer,.pbgl-aspanel__foot,#pbrm-overlay .pbrm-toolbar) { background: var(--pb-dark-nav) !important; border-color: var(--pb-dark-border) !important; }
  /* Skeletons use the same dark palette before lazy app styles arrive. */
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,#pbgl-overlay,#pbgl-app,#pbt-overlay,#pbt-primary,#pbcalc-overlay,#pbrm-overlay) :is(.pbmp-ov-sk,.pbgl-ov-sk,.pbt-ov-sk,.pbcalc-ov-sk,.pbrm-skel-sh,.pbrm-skel-hero) { background-image: linear-gradient(90deg,var(--pb-dark-card) 25%,var(--pb-dark-raised) 37%,var(--pb-dark-card) 63%) !important; background-size: 400% 100% !important; }
  html[data-pb-theme="dark"] :is(.pbmp-ov-skel-card,.pbgl-ov-skcard,.pbgl-ov-sktile,.pbgl-ov-sksearch,.pbgl-ov-skgroup,.pbcalc-ov-skel-card) { background-color: var(--pb-dark-card) !important; border-color: var(--pb-dark-border) !important; }
  html[data-pb-theme="dark"] :is(#pbmp-overlay,#pb-meal-planner-root,#pbgl-overlay,#pbgl-app,#pbgl-page) :is(.pbmp-ov-skel-card,.pbgl-ov-skcard,.pbgl-ov-sktile,.pbgl-ov-sksearch,.pbgl-ov-skgroup) { background-color: var(--pb-dark-card) !important; border-color: var(--pb-dark-border) !important; }
  html[data-pb-theme="dark"] :is(.pbmp-ov-loading,.pbt-ov-loading,.pbcalc-ov-loading) { color: var(--pb-dark-secondary) !important; }
  /* Reader day headings use a separate Today badge and divider. */
  html[data-pb-theme="dark"] .pb-meal-planner .pbmp-mpday__today { background:var(--pb-dark-raised);color:var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] .pb-meal-planner .pbmp-mpday__head { border-color:var(--pb-dark-border); }
  /* Some shared primary tokens are also used as text in the original tools. */
  html[data-pb-theme="dark"] :is(.pb-ui-modal-title,.pb-ui-btn-cancel,.pbmp-export-create-list-trigger,.pbgl-shop-qty) { color: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] #pbgl-app button.pbgl-autosort-cta svg { color: #fff !important; stroke: currentColor !important; }
  html[data-pb-theme="dark"] :is(.pb-ui-dropdown button:hover,.pb-meal-planner .pbmp-print-option-icon,.pbgl-btn-secondary,.pbgl-switcher-item.active,.pbgl-switcher-new,.pbgl-ai-preview-title,.pbgl-ai-preview-tagline,.pbgl-ai-preview-section-name) { color: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] .pbgl-btn-secondary { border-color: var(--pb-dark-outline) !important; }
  /* Name sheets and menus also live outside the Grocery app root. */
  html[data-pb-theme="dark"] .pbgl-name-modal-overlay .pbgl-modal h3 { color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] .pbgl-name-modal-overlay .pbgl-modal .pbgl-btn-ghost { background: transparent !important; color: var(--pb-dark-text) !important; border: 1px solid var(--pb-dark-outline) !important; }
  html[data-pb-theme="dark"] #pbgl-app #pbgl-sections-container { border: 1px solid var(--pb-dark-outline) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay .pb-tool-header) .pbgl-more-menu { background: var(--pb-dark-card) !important; color: var(--pb-dark-text) !important; border-color: var(--pb-dark-outline) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay .pb-tool-header) .pbgl-more-menu button { background: transparent !important; color: var(--pb-dark-secondary) !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay .pb-tool-header) .pbgl-more-menu button svg { stroke: var(--pb-dark-accent) !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay .pb-tool-header) .pbgl-more-menu button:is(:hover,:focus-visible) { background: var(--pb-dark-raised) !important; color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay .pb-tool-header) .pbgl-more-menu button:is(.danger,.danger:hover,.danger:focus-visible) { color: var(--pb-dark-danger) !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay .pb-tool-header) .pbgl-more-menu button.danger svg { stroke: var(--pb-dark-danger) !important; }
  html[data-pb-theme="dark"] :is(#pbgl-app,#pbgl-overlay .pb-tool-header) .pbgl-more-menu__sep { background: var(--pb-dark-border) !important; }
  html[data-pb-theme="dark"] .pbgl-shop-overlay :is(#pbgl-shop-close,#pbgl-shop-expand,#pbgl-shop-font-dec,#pbgl-shop-font-inc) { background: transparent !important; color: var(--pb-dark-accent) !important; box-shadow: none !important; }
  html[data-pb-theme="dark"] .pbgl-shop-overlay .pbgl-shop-toggle-label { color: var(--pb-dark-secondary) !important; }
  html[data-pb-theme="dark"] .pbgl-shop-overlay .pbgl-shop-more-menu button { background: transparent !important; color: var(--pb-dark-secondary) !important; }
  html[data-pb-theme="dark"] .pbgl-shop-overlay .pbgl-shop-more-menu button:is(:hover,:focus-visible) { background: var(--pb-dark-raised) !important; color: var(--pb-dark-text) !important; }
  html[data-pb-theme="dark"] .pbgl-shop-overlay .pbgl-shop-more-menu button.active,
  html[data-pb-theme="dark"] .pbgl-shop-overlay .pbgl-shop-more-check { color: var(--pb-dark-accent) !important; }

  /* Welcome, App Download, Goals and the goal pages declare their own light
   * palettes at their roots, so remap them there. The App Download phone is an
   * illustration of the app and keeps its own colors, like photographs do. */
  html[data-pb-theme="dark"] :is(.pb-ad-wrap,.pbg,.pb-welcome-wrap) {
    --mauve: var(--pb-dark-accent);
    --mauve-dark: var(--pb-dark-primary);
    --mauve-deep: var(--pb-dark-accent);
    --mauve-soft: var(--pb-dark-raised);
    --mauve-tint: var(--pb-dark-raised);
    --mauve-glow: var(--pb-dark-raised);
    --cream: var(--pb-dark-bg);
    --cream-light: var(--pb-dark-bg);
    --cream-deep: var(--pb-dark-bg);
    --cream-soft: var(--pb-dark-card);
    --cream-line: var(--pb-dark-border);
    --ink: var(--pb-dark-text);
    --ink-soft: var(--pb-dark-secondary);
    --ink-muted: var(--pb-dark-muted);
    --sage: var(--pb-dark-success);
    --line-soft: var(--pb-dark-border);
    --line-strong: var(--pb-dark-border);
    --shadow-sm: none;
    --shadow-md: none;
    --shadow-lg: none;
    --shadow-card: none;
    --shadow-cta: none;
    --shadow-cta-hover: none;
  }
  html[data-pb-theme="dark"] body.pb-goal-page {
    --pbg-mauve: var(--pb-dark-accent);
    --pbg-mauve-soft: var(--pb-dark-raised);
    --pbg-ink: var(--pb-dark-text);
    --pbg-ink-soft: var(--pb-dark-secondary);
    --pbg-ink-muted: var(--pb-dark-muted);
    --pbg-line: var(--pb-dark-border);
  }
  html[data-pb-theme="dark"] .pb-ad-wrap .pb-ad-ios-device { --mauve: #775973; --mauve-dark: #5e4659; --mauve-deep: #4a2f3d; --mauve-soft: #efe8ec; --mauve-tint: #f1ebee; --ink: #2b2b2b; --ink-soft: #4a4a4a; --ink-muted: #6c726e; }
  html[data-pb-theme="dark"] .pb-welcome-wrap { background: var(--pb-dark-bg); }
  html[data-pb-theme="dark"] :is(.pb-ad-feature,.pb-ad-modal-panel,.pb-ad-modal-footer,.pbg .pbg-goal,.pbg .pbg-goal--quiet,.pbg .pbg-card,.pb-welcome-wrap .pbw-route,.pb-welcome-wrap .pbw-nutri__card,.pb-welcome-wrap .pbw-explore__card) { background: var(--pb-dark-card); border-color: var(--pb-dark-border); box-shadow: none; }
  html[data-pb-theme="dark"] .pb-welcome-wrap .pbw-route--lead { border-color: var(--pb-dark-outline); }
  html[data-pb-theme="dark"] :is(.pb-ad-seg-btn.is-active,.pb-ad-plat-ic,.pbg .pbg-goal__icon) { background: var(--pb-dark-raised); }
  html[data-pb-theme="dark"] .pb-ad-modal-textarea { background: var(--pb-dark-card); color: var(--pb-dark-text); }
  html[data-pb-theme="dark"] .pb-ad-modal-status.is-error { color: var(--pb-dark-danger); }
  html[data-pb-theme="dark"] :is(.pb-ad-help-card,.pb-welcome-wrap .pbw-nutri__panel,.pb-welcome-wrap .pbw-explore__card)::before { background: none; }
  html[data-pb-theme="dark"] .pbg .pbg-admin-note { background: var(--pb-dark-notes); color: var(--pb-dark-honey); border-color: var(--pb-dark-honey); }
  /* Filled actions use the deep plum token; the remapped --mauve is a text color here. */
  html[data-pb-theme="dark"] :is(.pb-ad-wrap .cta-primary,.pb-ad-wrap .cta-primary:hover,.pb-welcome-wrap .cta-primary,.pb-welcome-wrap .cta-primary:hover,.pbg .pbg-btn:not(.pbg-btn--ghost),.pbg .pbg-btn:not(.pbg-btn--ghost):hover,.pb-ad-step-n) { background: var(--pb-dark-primary); color: #fff; }
  html[data-pb-theme="dark"] :is(.pb-welcome-wrap .cta-ghost,.pbg .pbg-btn--ghost) { color: var(--pb-dark-accent); border-color: var(--pb-dark-outline); }
  html[data-pb-theme="dark"] :is(.pb-welcome-wrap .cta-ghost:hover,.pbg .pbg-btn--ghost:hover) { background: var(--pb-dark-raised); }
  html[data-pb-theme="dark"] .pbg .pbg-calc { background: var(--pb-dark-raised); }
  html[data-pb-theme="dark"] :is(.pbg,body.pb-goal-page .entry-content) .pbg-calc .pbg-calc__hd { color: var(--pb-dark-secondary); }
  html[data-pb-theme="dark"] .pb-ad-wrap a.pb-ad-hero__scroll-hint { color: var(--pb-dark-accent); }
  html[data-pb-theme="dark"] .pb-welcome-wrap .pbw-route__tag { color: var(--pb-dark-bg); }
  html[data-pb-theme="dark"] .pbg .pbg-calc .pbg-calc__btn,
  html[data-pb-theme="dark"] .pbg .pbg-calc .pbg-calc__btn:hover { background: var(--pb-dark-card); color: var(--pb-dark-text); }

}
