/* Coach app — light mode patches (import last on all coach HTML pages)
   Palette tokens: shared/design-tokens/tokens.css via main.css (ADR-14) */

/* ── v2: Canvas hierarchy + elevation (Linear / Apple HIG inspired) ─────── */
body.light-mode.sp-coach-app {
  color: var(--text-primary);
  background-color: var(--bg-canvas);
}

body.light-mode .glass-panel,
body.light-mode .modal-content:not(.bg-neutral-900) {
  background: var(--panel-bg);
  border-color: var(--border-color);
  box-shadow: var(--shadow-sm);
}

/* z-0 flat cards — border only; z-1 hover lift; z-2 floating menus; z-3 modals */
body.light-mode .day-column,
body.light-mode .nut-kpi-dashboard,
body.light-mode #program-summary-view .ps-stat-tile,
body.light-mode .wbp-cal-card {
  background: var(--panel-bg);
  border-color: var(--border-color);
  box-shadow: none;
}

body.light-mode .day-column:hover,
body.light-mode .muscle-item:hover,
body.light-mode #client-profile-view .co-active-card:hover {
  box-shadow: var(--shadow-md);
}

body.light-mode .settings-dropdown,
body.light-mode .dropdown-menu,
body.light-mode .wbp-ex-picker {
  box-shadow: var(--shadow-lg);
  border-color: var(--border-color);
}

body.light-mode .modal-content,
body.light-mode .wbp-workout-modal__panel,
body.light-mode .wbp-day-drawer__sheet,
body.light-mode .wtp-modal__panel {
  box-shadow: var(--shadow-lg);
}

/* Inset surfaces (cells, inputs, segment tracks) */
body.light-mode .planner-segment,
body.light-mode .wbp-view-toggle,
body.light-mode .planner-icon-btn-group,
body.light-mode .planner-volume-targets {
  background: var(--surface);
  border-color: var(--border-light);
}

body.light-mode .glass-input,
body.light-mode .wbp-field input,
body.light-mode .wbp-workout-modal__search,
body.light-mode .wtp-modal__search {
  background: var(--input-bg);
  border-color: var(--border-color);
}

body.light-mode .wbp-cal-day,
body.light-mode .muscle-item,
body.light-mode #program-summary-view .ps-detail-panel,
body.light-mode #program-summary-view .ps-week-day {
  background: var(--surface);
  border-color: var(--border-color);
}

body.light-mode .wbp-cal-day__body {
  background: transparent;
}

body.light-mode .wbp-cal-day:hover {
  background: var(--hover-surface);
  border-color: var(--border-strong);
}

body.light-mode .wbp-cal-card,
body.light-mode .wbp-exercise-card,
body.light-mode #program-summary-view .ps-week-day:not(.is-rest) {
  background: var(--panel-bg);
}

body.light-mode .wbp-toolbar {
  background: var(--surface);
  border-bottom-color: var(--border-light);
}

body.light-mode .wbp-lib-tabs__btn--active {
  box-shadow: var(--shadow-sm);
}

/* KPI hero typography */
body.light-mode .nut-kpi-dashboard .nut-kpi-hero-card__number {
  font-size: var(--text-display);
  font-weight: var(--fw-black);
  letter-spacing: -0.02em;
  color: var(--text-primary);
}

body.light-mode .nut-kpi-dashboard .nut-kpi-hero-card--cals .nut-kpi-hero-card__number {
  color: var(--accent);
}

body.light-mode #program-summary-view .ps-stat-value,
body.light-mode #client-profile-view .ps-stat-value {
  font-weight: var(--fw-black);
  letter-spacing: -0.02em;
}

/* Micro-interactions — see styles/coach-buttons.css */

/* Focus rings — outer halo, no layout shift */
body.light-mode .glass-input:focus-visible,
body.light-mode .wbp-field input:focus-visible,
body.light-mode .co-notes-textarea:focus-visible,
body.light-mode .dropdown-trigger:focus-visible,
body.light-mode .app-nav-icon-btn:focus-visible,
body.light-mode .btn:focus-visible {
  outline: 2px solid rgba(var(--accent-rgb), 0.35);
  outline-offset: 2px;
}

body.light-mode.text-neutral-200,
body.light-mode .text-neutral-200 {
  color: var(--text-primary);
}

/* ── Tailwind utilities baked for dark chrome ───────────────────────────── */
body.light-mode .border-white\/5 {
  border-color: var(--border-light) !important;
}

body.light-mode .border-white\/10,
body.light-mode .border-white\/20 {
  border-color: var(--border-color) !important;
}

body.light-mode .ring-white\/5 {
  --tw-ring-color: var(--border-light) !important;
}

body.light-mode .bg-neutral-900,
body.light-mode .bg-neutral-900\/95 {
  background-color: var(--chrome-surface) !important;
}

body.light-mode .bg-black\/20,
body.light-mode .bg-black\/25,
body.light-mode .bg-black\/30,
body.light-mode .bg-black\/35,
body.light-mode .bg-black\/40,
body.light-mode .bg-black\/50 {
  background-color: var(--input-bg) !important;
}

body.light-mode .bg-white\/5,
body.light-mode .bg-white\/10 {
  background-color: var(--hover-surface) !important;
}

body.light-mode .text-white,
body.light-mode .text-neutral-100 {
  color: var(--text-primary) !important;
}

body.light-mode .text-neutral-400,
body.light-mode .text-neutral-500 {
  color: var(--text-secondary) !important;
}

body.light-mode .placeholder-white\/30::placeholder {
  color: var(--text-muted) !important;
  opacity: 0.85;
}

body.light-mode .hover\:bg-white\/10:hover {
  background-color: var(--hover-surface) !important;
}

body.light-mode .hover\:bg-white\/20:hover {
  background-color: var(--chrome-active-bg) !important;
}

/* ── Glass panels & cards ───────────────────────────────────────────────── */
body.light-mode .modal-overlay {
  background: var(--backdrop-scrim);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.light-mode .modal-content.bg-neutral-900,
body.light-mode .composition-cheat-modal.bg-neutral-900 {
  background: var(--chrome-surface) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary);
}

/* ── Planner volume board ───────────────────────────────────────────────── */
body.light-mode .day-column:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}

body.light-mode .day-column-header:hover {
  background: var(--hover-surface-subtle);
}

body.light-mode .muscle-item {
  background: var(--surface);
  border-color: var(--border-color);
}

body.light-mode .muscle-item:hover {
  background: var(--hover-surface);
  border-color: rgba(var(--accent-rgb), 0.25);
  box-shadow: var(--shadow-sm);
}

body.light-mode .vol-summary-chip {
  background: var(--surface);
  border-color: var(--border-color);
  color: var(--text-secondary);
}

body.light-mode .vol-summary-chip--ghost {
  color: var(--text-muted);
}

body.light-mode .planner-volume-targets__level {
  background: var(--surface);
  border-color: var(--border-color);
}

body.light-mode .planner-icon-btn-group {
  background: var(--surface);
}

body.light-mode .planner-icon-btn:hover:not(:disabled) {
  background: var(--hover-surface);
}

/* ── Dropdowns ──────────────────────────────────────────────────────────── */
body.light-mode .dropdown-menu {
  background: var(--chrome-surface);
  border-color: var(--border-color);
  box-shadow: var(--shadow-lg);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.light-mode .dropdown-item.selected {
  color: var(--on-accent);
}

/* ── Client hub (L2) ────────────────────────────────────────────────────── */
body.light-mode #client-profile-view .co-quick-action {
  border-color: var(--border-color);
  background: var(--surface);
  color: var(--text-secondary);
}

body.light-mode #client-profile-view .co-quick-action:hover {
  color: var(--text-primary);
  border-color: var(--border-strong);
}

body.light-mode #client-profile-view .co-notes-textarea {
  border-color: var(--border-color);
  background: var(--input-bg);
  color: var(--text-primary);
}

/* ── Workout builder toolbar & calendar (state accents) ─────────────────── */
body.light-mode .wbp-col-header {
  color: var(--text-muted);
}

body.light-mode .wbp-cal-day--selected {
  background: var(--surface);
  border-color: rgba(var(--accent-rgb), 0.45);
  box-shadow: 0 0 0 1px rgba(var(--accent-rgb), 0.12);
}

body.light-mode .wbp-cal-day__num {
  color: var(--text-secondary);
}

body.light-mode .wbp-cal-day__num--today:not(.wbp-cal-day__num--selected) {
  background: var(--accent-soft);
  color: var(--accent);
}

body.light-mode .wbp-cal-day__num--selected {
  background: var(--accent);
  color: var(--on-accent);
  box-shadow: var(--shadow-chrome-today);
}

body.light-mode .wbp-cal-card {
  box-shadow: var(--shadow-sm);
}

body.light-mode .wbp-cal-card__menu {
  color: var(--text-muted);
}

body.light-mode .wbp-cal-card__menu:hover {
  background: var(--hover-surface);
  color: var(--text-primary);
}

body.light-mode .wbp-cal-exercise {
  background: var(--surface);
  border-color: var(--border-light);
}

body.light-mode .wbp-cal-exercise__sets,
body.light-mode .wbp-cal-exercise__detail {
  color: var(--text-muted);
}

body.light-mode .wbp-cal-exercise__name {
  color: var(--text-primary);
}

body.light-mode .wbp-cal-repeat-hint {
  color: var(--text-muted);
}

body.light-mode .wbp-cal-card__more {
  color: var(--text-muted);
}

body.light-mode .wbp-cal-card__foot {
  border-top-color: var(--border-light);
}

/* ── Workout builder drawers & modals ───────────────────────────────────── */
body.light-mode .wbp-day-drawer__backdrop {
  background: var(--backdrop-scrim);
}

body.light-mode .wbp-day-drawer__sheet {
  background: var(--chrome-surface);
  border-color: var(--border-color);
  box-shadow: var(--shadow-lg);
}

body.light-mode .wbp-day-drawer__head {
  border-bottom-color: var(--border-light);
}

body.light-mode .wbp-day-summary {
  color: var(--text-secondary);
}

body.light-mode .wbp-empty {
  color: var(--text-muted);
}

body.light-mode .wbp-exercise-card {
  background: var(--surface);
  border-color: var(--border-color);
}

body.light-mode .wbp-field input {
  border-color: var(--border-color);
  background: var(--input-bg);
  color: var(--text-primary);
}

body.light-mode .wbp-workout-modal__backdrop,
body.light-mode .wtp-modal__backdrop {
  background: var(--backdrop-scrim);
  backdrop-filter: none;
}

body.light-mode .wbp-workout-modal__panel {
  background: var(--chrome-surface);
  border-color: var(--border-color);
  box-shadow: var(--shadow-lg);
  color: var(--text-primary);
}

body.light-mode .wbp-workout-modal__header,
body.light-mode .wbp-workout-modal__body,
body.light-mode .wbp-workout-modal__library-head {
  border-color: var(--border-light);
}

body.light-mode .wbp-workout-modal__library {
  background: var(--surface);
  border-inline-end-color: var(--border-light);
}

body.light-mode .wbp-workout-modal__subtitle,
body.light-mode .wbp-workout-modal__library-label {
  color: var(--text-muted);
}

body.light-mode .wbp-workout-modal__title-input::placeholder {
  color: var(--text-muted);
}

body.light-mode .wbp-workout-modal__close {
  border-color: var(--border-color);
  background: var(--surface);
  color: var(--text-secondary);
}

body.light-mode .wbp-workout-modal__close:hover {
  background: var(--hover-surface);
  color: var(--text-primary);
}

body.light-mode .wbp-workout-modal__search {
  border-color: var(--border-color);
  background: var(--input-bg);
}

body.light-mode .wbp-lib-card__thumb {
  background: var(--surface);
  border-color: var(--border-light);
}

body.light-mode .wbp-lib-card__thumb--yt {
  background:
    linear-gradient(160deg, rgba(var(--accent-rgb), 0.08) 0%, var(--surface) 50%, var(--hover-surface-subtle) 100%);
}

body.light-mode .wbp-lib-card__meta {
  color: var(--text-muted);
}

body.light-mode .wbp-workout-modal__lib-empty,
body.light-mode .wbp-workout-modal__empty {
  color: var(--text-muted);
}

body.light-mode .wbp-workout-modal__desc-label {
  color: var(--text-muted);
}

body.light-mode .wbp-workout-modal__desc {
  border-color: var(--border-color);
  background: var(--input-bg);
}

body.light-mode .wbp-blocks-add-bar {
  border-top-color: var(--border-light);
}

body.light-mode .wbp-block-shell-empty {
  color: var(--text-muted);
}

body.light-mode .wbp-block-exercise__thumb {
  background: var(--surface);
}

body.light-mode .wbp-block-exercise__name-input {
  border-color: var(--border-color);
  background: var(--input-bg);
}

body.light-mode .wbp-block-exercise__kebab {
  border-color: transparent;
  background: transparent;
  color: var(--text-secondary);
}

body.light-mode .wbp-block-exercise__kebab:hover,
body.light-mode .wbp-block-exercise__kebab:focus-visible {
  background: rgba(var(--accent-rgb), 0.08);
  border-color: transparent;
  color: var(--text-primary);
}

body.light-mode .wbp-video-modal__head {
  border-bottom-color: var(--border-light);
}

body.light-mode .wbp-video-modal__close {
  border-color: var(--border-color);
}

body.light-mode .wbp-block-card {
  background: var(--card-bg);
  border-color: var(--border-color);
  box-shadow: var(--shadow-sm);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.light-mode .wbp-block-card__thumb {
  background: var(--surface);
}

body.light-mode .wbp-set-table-wrap {
  border-color: var(--border-color);
}

body.light-mode .wbp-block-exercise__bar {
  border-color: var(--border-color);
  background: var(--surface);
}

body.light-mode .wbp-block-exercise__bar:has(.wbp-block-exercise__open:hover),
body.light-mode .wbp-block-exercise__bar:has(.wbp-block-exercise__open:focus-visible),
body.light-mode .wbp-block-exercise__bar:has(.wbp-block-exercise__kebab:hover),
body.light-mode .wbp-block-exercise__bar:has(.wbp-block-exercise__kebab:focus-visible) {
  background: var(--hover-surface);
}

body.light-mode .wbp-block-exercise--active .wbp-block-exercise__bar {
  background: var(--accent-soft);
  border-color: rgba(var(--accent-rgb), 0.35);
}

body.light-mode .wbp-block-exercise__open {
  border-color: transparent;
  background: transparent;
  color: var(--text-primary);
}

body.light-mode .wbp-block-exercise__open:hover,
body.light-mode .wbp-block-exercise__open:focus-visible {
  background: transparent;
  color: var(--text-primary);
}

body.light-mode .wbp-block-exercise--active .wbp-block-exercise__open {
  background: transparent;
  border-color: transparent;
}

body.light-mode .wbp-block-exercise__badge {
  background: var(--accent-soft);
  color: var(--accent);
}

body.light-mode .wbp-block-exercise__note-input,
body.light-mode .wbp-block-exercise__note-preview {
  color: var(--text-secondary);
  background: var(--input-bg);
  border-color: var(--border-color);
}

body.light-mode .wbp-block-exercise__note-input:focus {
  background: var(--surface);
  color: var(--text-primary);
}

body.light-mode .wbp-section-card {
  background: var(--surface);
  border-color: var(--border-color);
}

body.light-mode .wbp-section-card:hover {
  background: var(--accent-soft);
  border-color: rgba(var(--accent-rgb), 0.25);
}

body.light-mode .wbp-pair-link {
  background: var(--panel-bg);
  border-color: var(--border-strong);
  color: var(--text-muted);
}

body.light-mode .wbp-pair-link--active {
  background: var(--accent-soft);
  border-color: rgba(var(--accent-rgb), 0.45);
  color: var(--accent);
}

body.light-mode .wbp-inline-search {
  background: var(--surface);
  border-color: rgba(var(--accent-rgb), 0.2);
}

body.light-mode .wbp-inline-search__item {
  background: var(--panel-bg);
}

body.light-mode .wbp-inline-search__item:hover,
body.light-mode .wbp-inline-search__item:focus-visible {
  background: var(--accent-soft);
}

body.light-mode .wbp-day-add-menu__divider {
  border-top-color: var(--border-light);
  color: var(--text-muted);
}

body.light-mode .wbp-drag-handle {
  color: var(--text-muted);
}

body.light-mode .wbp-drag-handle:hover {
  color: var(--accent);
  background: var(--accent-soft);
}

body.light-mode .wbp-block-coach-note,
body.light-mode .wbp-block-exercise__note-preview {
  background: var(--surface);
}

body.light-mode .wbp-ex-detail__close {
  border-color: var(--border-color);
  background: var(--surface);
  color: var(--text-secondary);
}

body.light-mode .wbp-ex-detail__close:hover,
body.light-mode .wbp-ex-detail__close:focus-visible {
  background: var(--hover-surface);
  color: var(--text-primary);
}

body.light-mode .wbp-ex-detail-modal__panel {
  background: var(--chrome-surface);
  border-color: var(--border-color);
}

body.light-mode .wbp-ex-detail__media-col,
body.light-mode .wbp-ex-detail__foot {
  background: #f4f7fb;
}

body.light-mode .wbp-ex-detail__alt {
  background: var(--surface);
}

body.light-mode .wbp-lib-pick-hint {
  color: var(--accent);
}

body.light-mode .wbp-block-card__badge,
body.light-mode .wbp-cal-exercise__badge {
  background: var(--accent-soft);
  color: var(--accent);
  border-color: rgba(var(--accent-rgb), 0.22);
}

body.light-mode .wbp-section-card__icon {
  background: var(--accent-soft);
  color: var(--accent);
  border-color: rgba(var(--accent-rgb), 0.18);
}

body.light-mode .wbp-section-card:hover {
  background: var(--accent-soft);
  border-color: rgba(var(--accent-rgb), 0.28);
}

body.light-mode .wbp-cal-workout__menu:hover,
body.light-mode .wbp-cal-workout__menu:focus-visible {
  background: var(--hover-surface);
  color: var(--text-primary);
}

body.light-mode .wbp-cal-workout__more {
  color: var(--accent);
}

body.light-mode .wbp-cal-line__tag {
  background: var(--accent-soft);
  color: var(--accent);
}

body.light-mode .wbp-cal-day--empty .wbp-cal-day__quick-add {
  border-color: var(--border-color);
  color: var(--text-muted);
}

body.light-mode .wbp-day-add-menu__item--danger {
  color: #dc2626;
}

body.light-mode .wbp-day-add-menu__item--danger:hover,
body.light-mode .wbp-day-add-menu__item--danger:focus-visible {
  background: rgba(220, 38, 38, 0.08);
  color: #b91c1c;
}

body.light-mode .wbp-exercise-card__remove {
  color: #dc2626;
  background: rgba(220, 38, 38, 0.08);
  border-color: rgba(220, 38, 38, 0.22);
}

body.light-mode .wbp-exercise-card__remove:hover,
body.light-mode .wbp-exercise-card__remove:focus-visible {
  background: rgba(220, 38, 38, 0.14);
  color: #b91c1c;
}

body.light-mode .wbp-block-card__remove {
  color: #dc2626;
  background: rgba(220, 38, 38, 0.08);
  border-color: rgba(220, 38, 38, 0.22);
}

body.light-mode .wbp-block-card__remove:hover,
body.light-mode .wbp-block-card__remove:focus-visible {
  background: rgba(220, 38, 38, 0.14);
  color: #b91c1c;
  border-color: rgba(220, 38, 38, 0.35);
}

/* ── Nutrition KPI dashboard ────────────────────────────────────────────── */
body.light-mode .nut-kpi-dashboard .nut-kpi-hero-card {
  background: var(--card-bg);
  border-color: var(--border-color);
}

body.light-mode .nut-kpi-dashboard .nut-kpi-hero-card--cals {
  border-color: rgba(var(--accent-rgb), 0.35);
  background:
    radial-gradient(160% 100% at 100% 0%, var(--accent-soft) 0%, transparent 65%),
    var(--card-bg);
}

body.light-mode .nut-kpi-dashboard .nut-kpi-macros__bar {
  background: var(--border-light);
}

body.light-mode .nut-kpi-dashboard .nut-kpi-section__line {
  background: linear-gradient(to left, transparent, var(--border-color));
}

html[dir="ltr"] body.light-mode .nut-kpi-dashboard .nut-kpi-section__line {
  background: linear-gradient(to right, transparent, var(--border-color));
}

body.light-mode .nut-kpi-dashboard .nut-kpi-card,
body.light-mode .nut-kpi-dashboard .nut-kpi-journey-table__row {
  background: var(--surface);
  border-color: var(--border-light);
}

body.light-mode .nut-kpi-dashboard .nut-kpi-card:hover {
  background: var(--hover-surface-subtle);
  border-color: var(--border-color);
}

body.light-mode .nut-kpi-dashboard .nut-kpi-journey-ratio-wrap {
  background: var(--surface);
  border-color: var(--border-color);
}

body.light-mode .nut-kpi-dashboard .nut-journey-trend-delta {
  text-shadow: none;
}

body.light-mode .nut-kpi-dashboard .nut-journey-trend--positive {
  color: rgb(5 150 105);
}

body.light-mode .nut-kpi-dashboard .nut-journey-trend--negative {
  color: rgb(220 38 38);
}

body.light-mode .nut-kpi-dashboard .nut-journey-weeks-badge {
  color: var(--accent);
}

/* ── Nutrition calculator (#view-nutrition) ─────────────────────────────── */
body.light-mode #view-nutrition .nut-panel,
body.light-mode #view-nutrition .nut-results-panel {
  background: var(--card-bg);
  border-color: var(--border-color);
  box-shadow: var(--shadow-sm);
}

body.light-mode #view-nutrition .nut-sub-card,
body.light-mode #view-nutrition .nut-breakdown-details,
body.light-mode #view-nutrition .nut-wa-preview {
  background: var(--surface);
  border-color: var(--border-light);
  color: var(--text-primary);
}

body.light-mode #view-nutrition .nut-sub-card__highlight {
  background: var(--panel-bg);
  border-color: var(--border-color);
}

body.light-mode #view-nutrition .nut-proj-banner {
  background: var(--accent-soft);
  border-color: rgba(var(--accent-rgb), 0.2);
}

body.light-mode #view-nutrition .nut-hint--info {
  color: rgb(37 99 235);
}

body.light-mode #view-nutrition .nut-hint--success {
  color: rgb(22 163 74);
}

body.light-mode #view-nutrition .nut-proj-label {
  color: var(--accent);
}

body.light-mode #view-nutrition .nut-stall-hint {
  color: rgb(180 83 9);
}

body.light-mode .composition-cheat-modal__close {
  background: var(--surface);
  border-color: var(--border-color);
}

body.light-mode #volume-cheat-modal .vol-cheat-grid-wrap {
  border-color: var(--border-color);
}

body.light-mode #volume-cheat-modal .vol-cheat-grid__row {
  border-bottom-color: var(--border-light);
}

body.light-mode #volume-cheat-modal .vol-cheat-grid__row--head {
  background: var(--surface);
  box-shadow: 0 1px 0 var(--border-color);
}

body.light-mode #volume-cheat-modal .vol-cheat-evidence-card {
  background: var(--card-bg);
  border-color: var(--border-color);
}

/* ── Program summary (client L2 + hub) ──────────────────────────────────── */
body.light-mode #program-summary-view .ps-stat-tile {
  background: var(--card-bg);
  border-color: var(--border-color);
}

body.light-mode #program-summary-view .ps-stat-hero {
  background: linear-gradient(135deg, var(--accent-soft), var(--card-bg));
  border-color: rgba(var(--accent-rgb), 0.25);
}

body.light-mode #program-summary-view .ps-stat-value {
  color: var(--text-primary);
}

body.light-mode #program-summary-view .ps-stat-value--sm {
  color: var(--text-secondary);
}

body.light-mode #program-summary-view .ps-detail-panel {
  background: var(--card-bg);
  border-color: var(--border-color);
}

body.light-mode #program-summary-view .ps-week-day {
  background: var(--surface);
  border-color: var(--border-color);
}

body.light-mode #program-summary-view .ps-week-day:not(.is-rest) {
  background: var(--card-bg);
  border-color: var(--border-strong);
}

body.light-mode #program-summary-view .ps-week-day-head {
  border-bottom-color: var(--border-light);
}

body.light-mode #program-summary-view .ps-week-day-label {
  color: var(--text-primary);
}

/* ── Tooltips ─────────────────────────────────────────────────────────────── */
body.light-mode #global-tooltip {
  background: var(--chrome-surface);
  border-color: var(--border-color);
  box-shadow: var(--shadow-lg);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* ── Planner vertical calendar ──────────────────────────────────────────── */
body.light-mode .calendar-week__header {
  background: var(--panel-bg);
  border-color: var(--border-color);
  box-shadow: var(--shadow-sm);
}

body.light-mode .calendar-week--anchor .calendar-week__header {
  border-color: rgba(var(--accent-rgb), 0.28);
}

body.light-mode .planner-calendar-jump {
  background: var(--surface);
  border-color: var(--border-color);
  color: var(--accent);
}

body.light-mode .calendar-day-preview {
  border-color: var(--border-color);
  background: var(--card-bg);
}

body.light-mode .calendar-day-preview--today {
  border-color: rgba(var(--accent-rgb), 0.35);
  background: var(--accent-soft);
}

/* ── Workout template picker & library list ─────────────────────────────── */
body.light-mode .wtp-modal__panel {
  background: var(--chrome-surface);
  border-color: var(--border-color);
  color: var(--text-primary);
}

body.light-mode .wtp-modal__header,
body.light-mode .wtp-modal__toolbar,
body.light-mode .wtp-modal__footer {
  border-color: var(--border-light);
}

body.light-mode .wtp-modal__close {
  border-color: var(--border-color);
  background: var(--surface);
}

body.light-mode .wtp-modal__close:hover {
  background: var(--hover-surface);
}

body.light-mode .wtp-modal__search {
  border-color: var(--border-color);
  background: var(--input-bg);
  color: var(--text-primary);
}

body.light-mode .wtp-list {
  background: var(--surface);
}

body.light-mode .wtp-list-item {
  border-color: var(--border-color);
  background: var(--card-bg);
}

body.light-mode .wtp-list-item:hover {
  border-color: rgba(var(--accent-rgb), 0.4);
  background: var(--accent-soft);
}

body.light-mode .wtp-list-item--active {
  border-color: rgba(var(--accent-rgb), 0.55);
  background: var(--accent-soft);
}

body.light-mode .wtp-list-item__meta,
body.light-mode .wtp-list-item__time {
  color: var(--text-muted);
}

body.light-mode .wtp-preview-wrap {
  background: var(--hover-surface-subtle);
}

body.light-mode .wtp-preview-phone {
  border-color: var(--border-color);
  background: var(--chrome-surface);
  box-shadow: var(--shadow-md);
}

body.light-mode .wtl-item {
  border-bottom-color: var(--border-light);
}

body.light-mode .wtl-item__meta {
  color: var(--text-muted);
}

/* ── Exercise catalog admin (base.css dark :root) ───────────────────────── */
body.light-mode.resource-editor-page {
  --black: var(--bg-end);
  --surface: var(--panel-bg);
  --surface-2: var(--card-bg);
  --surface-3: var(--surface);
  --white: var(--text-primary);
  --muted: var(--text-secondary);
  --muted-2: var(--text-muted);
  --blue: var(--accent);
  --blue-bright: var(--accent-hover);
  --blue-dark: var(--accent-hover);
  --blue-dim: var(--accent-soft);
  --blue-glow: var(--accent-soft);
  --border: var(--border-color);
  --border-strong: var(--border-strong);
  --shadow-soft: var(--shadow-md);
}

body.light-mode.resource-editor-page .btn-primary {
  background: var(--accent);
  color: var(--on-accent);
  box-shadow: var(--btn-primary-shadow);
}

body.light-mode.resource-editor-page .btn-ghost {
  background: var(--btn-ghost-bg);
  border-color: var(--border-color);
  color: var(--text-primary);
}

body.light-mode.resource-editor-page .resource-search__input {
  background: var(--input-bg);
  border-color: var(--border-color);
}

body.light-mode.resource-editor-page .admin-modal__backdrop {
  background: var(--backdrop-scrim);
  backdrop-filter: none;
}

body.light-mode.resource-editor-page .admin-item:hover,
body.light-mode.resource-editor-page .admin-item.is-active {
  background: var(--hover-surface);
}

/* ── Misc chrome ────────────────────────────────────────────────────────── */
body.light-mode .feedback-backdrop {
  background: var(--backdrop-scrim);
}

body.light-mode .feedback-sheet {
  box-shadow: var(--shadow-sheet-up);
}

body.light-mode .custom-scrollbar::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.15);
}

body.light-mode .coolicon {
  filter: none;
}
