/* MarketExp Theme Engine V5 — manual palette authority.
 * There is deliberately no runtime contrast calculation. Every theme declares
 * its own explicit admin/page/card/table/form/text palette in theme.json.
 */
body.me-theme-engine-v3.me-theme-v5 {
  --me-v5-page-bg: var(--me-admin-page-bg);
  --me-v5-surface: var(--me-admin-card-bg);
  --me-v5-surface-alt: var(--me-surface-nested);
  --me-v5-line: var(--me-admin-input-border);
  --me-v5-text: var(--me-admin-text);
  --me-v5-muted: var(--me-admin-muted);
  --me-v5-heading: var(--me-admin-heading);
  --me-v5-link: var(--me-link-text);
  --me-safe: var(--me-admin-heading, var(--me-accent-2, var(--me-text)));
}
body.me-theme-engine-v3.me-theme-v5 #wpbody-content {
  background: var(--me-admin-page-bg) !important;
  color: var(--me-admin-text) !important;
}
body.me-theme-engine-v3.me-theme-v5 :is(.marketexp-wrap,.marketexp-admin-wrap,.me-admin-v5,.me-regression-v5,#wpbody-content>.wrap) {
  color: var(--me-admin-text) !important;
  -webkit-text-fill-color: currentColor !important;
  opacity:1 !important; filter:none !important; mix-blend-mode:normal !important;
}
body.me-theme-engine-v3.me-theme-v5 :is(.marketexp-wrap,.marketexp-admin-wrap,.me-admin-v5,.me-regression-v5,#wpbody-content>.wrap)
:is(h1,h2,h3,h4,h5,h6,.me-theme-card__name,.me-settings-card__title) {
  color: var(--me-accent-2, var(--me-safe)) !important;
  -webkit-text-fill-color: currentColor !important;
  opacity:1 !important; filter:none !important; text-shadow:none !important;
}
body.me-theme-engine-v3.me-theme-v5 :is(.marketexp-wrap,.marketexp-admin-wrap,.me-admin-v5,.me-regression-v5,#wpbody-content>.wrap)
:is(p,li,td,th,label,strong,b,em,span,summary,details) {
  -webkit-text-fill-color: currentColor !important;
  opacity:1 !important; filter:none !important; mix-blend-mode:normal !important; text-shadow:none !important;
}
body.me-theme-engine-v3.me-theme-v5 :is(.marketexp-wrap,.marketexp-admin-wrap,.me-admin-v5,.me-regression-v5,#wpbody-content>.wrap)
:is(p,li,td,label,strong,b,em,span,summary,details):not(.me-ui-gradient-text):not(.dashicons) {
  color: var(--me-accent) !important;
}
body.me-theme-engine-v3.me-theme-v5 :is(.description,p.description,small,.muted,.help,.hint,.subsubsub,.displaying-num) {
  color: var(--me-admin-muted) !important;
  -webkit-text-fill-color: currentColor !important;
  opacity:1 !important;
}
body.me-theme-engine-v3.me-theme-v5 :is(.marketexp-wrap,.marketexp-admin-wrap,.me-admin-v5,.me-regression-v5,#wpbody-content>.wrap)
a:not(.button):not(.page-title-action):not(.me-ui-gradient-text) {
  color: var(--me-link-text) !important;
  -webkit-text-fill-color: currentColor !important;
  opacity:1 !important;
}
body.me-theme-engine-v3.me-theme-v5 :is(.me-settings-card,.me-module-card,.me-panel,.me-box,.me-admin-box,.postbox,.card,.me-v5-surface) {
  background: var(--me-admin-card-bg) !important;
  color: var(--me-admin-text) !important;
  border-color: var(--me-admin-input-border) !important;
  opacity:1 !important; filter:none !important; mix-blend-mode:normal !important;
}
body.me-theme-engine-v3.me-theme-v5 :is(input[type=text],input[type=number],input[type=email],input[type=date],input[type=url],input[type=password],select,textarea) {
  background: var(--me-admin-input-bg) !important;
  color: var(--me-admin-input-text) !important;
  -webkit-text-fill-color: currentColor !important;
  border-color: var(--me-admin-input-border) !important;
  opacity:1 !important; filter:none !important; mix-blend-mode:normal !important;
}
body.me-theme-engine-v3.me-theme-v5 :is(input,textarea)::placeholder { color:var(--me-admin-input-placeholder)!important; opacity:1!important; }
body.me-theme-engine-v3.me-theme-v5 :is(.button-primary,.me-button-primary,.me-sticky-btn,.me-theme-action--primary) {
  color: var(--me-admin-button-text) !important;
  -webkit-text-fill-color: currentColor !important;
}
body.me-theme-engine-v3.me-theme-v5 :is(.widefat,.wp-list-table,.form-table) {
  background: var(--me-admin-card-bg) !important;
  color: var(--me-admin-text) !important;
  border:1px solid var(--me-admin-input-border)!important;
  border-radius:14px!important; overflow:hidden!important;
}
body.me-theme-engine-v3.me-theme-v5 :is(.widefat,.wp-list-table) thead :is(tr,th,td) {
  background: var(--me-table-head-bg) !important;
  color: var(--me-table-head-text) !important;
  -webkit-text-fill-color: currentColor !important;
  border-color: var(--me-admin-input-border) !important;
  opacity:1 !important; filter:none!important;
}
body.me-theme-engine-v3.me-theme-v5 :is(.widefat,.wp-list-table) tbody tr { background:var(--me-table-row-bg)!important; opacity:1!important; }
body.me-theme-engine-v3.me-theme-v5 :is(.widefat,.wp-list-table).striped tbody tr:nth-child(odd) { background:var(--me-surface-nested)!important; }
body.me-theme-engine-v3.me-theme-v5 :is(.widefat,.wp-list-table) tbody tr:hover { background:var(--me-table-row-hover)!important; }
body.me-theme-engine-v3.me-theme-v5 :is(.widefat,.wp-list-table) tbody :is(td,th),
body.me-theme-engine-v3.me-theme-v5 :is(.widefat,.wp-list-table) tbody :is(td,th) *:not(.dashicons) {
  color:var(--me-admin-text)!important;
  -webkit-text-fill-color:currentColor!important;
  border-color:var(--me-admin-input-border)!important;
  opacity:1!important; filter:none!important; mix-blend-mode:normal!important; text-shadow:none!important;
}
body.me-theme-engine-v3.me-theme-v5 :is(.widefat,.wp-list-table) code,
body.me-theme-engine-v3.me-theme-v5 code {
  background:var(--me-surface-nested)!important;
  color:var(--me-admin-text)!important;
  -webkit-text-fill-color:currentColor!important;
  border:1px solid var(--me-admin-input-border)!important;
  border-radius:6px; padding:2px 6px; opacity:1!important;
}
body.me-theme-engine-v3.me-theme-v5 .notice-success { background:var(--me-notice-success-bg)!important;color:var(--me-notice-success-text)!important;border-color:var(--me-notice-success-border)!important; }
body.me-theme-engine-v3.me-theme-v5 .notice-warning { background:var(--me-notice-warning-bg)!important;color:var(--me-notice-warning-text)!important;border-color:var(--me-notice-warning-border)!important; }
body.me-theme-engine-v3.me-theme-v5 .notice-error { background:var(--me-notice-error-bg)!important;color:var(--me-notice-error-text)!important;border-color:var(--me-notice-error-border)!important; }
/* Regression Suite uses explicit status palettes, independent of the active theme. */
.me-regression-v5 .me-regression-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 0 22px}
.me-regression-v5 .me-regression-summary{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin:14px 0 18px}
.me-regression-v5 .me-regression-stat{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid var(--me-admin-input-border);border-radius:12px;background:var(--me-admin-card-bg);color:var(--me-admin-text);font-weight:700}
.me-regression-v5 .me-regression-stat strong{font-size:24px;line-height:1}
.me-regression-v5 .me-regression-stat--pass{background:#eaf7ee!important;color:#166534!important}
.me-regression-v5 .me-regression-stat--warning{background:#fff4d6!important;color:#854d0e!important}
.me-regression-v5 .me-regression-stat--fail{background:#fff0ef!important;color:#991b1b!important}
.me-regression-v5 .me-regression-stat--time{background:#071a2e!important;color:#f8fafc!important}
.me-regression-v5 .me-regression-status{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:.02em}
.me-regression-v5 .me-regression-status--passed{background:#eaf7ee!important;color:#166534!important;-webkit-text-fill-color:#166534!important}
.me-regression-v5 .me-regression-status--warning{background:#fff4d6!important;color:#854d0e!important;-webkit-text-fill-color:#854d0e!important}
.me-regression-v5 .me-regression-status--failed{background:#fff0ef!important;color:#991b1b!important;-webkit-text-fill-color:#991b1b!important}
@media(max-width:900px){.me-regression-v5 .me-regression-summary{grid-template-columns:repeat(2,minmax(130px,1fr))}}
@media(max-width:520px){.me-regression-v5 .me-regression-summary{grid-template-columns:1fr}}


/* Theme Engine V5.1 — explicit component palettes. No runtime contrast logic. */
body.me-theme-engine-v3.me-theme-v5 .me-sticky-bar .me-sticky-discard,
body.me-theme-engine-v3.me-theme-v5 .marketexp-admin .me-sticky-discard,
body.me-theme-engine-v3.me-theme-v5 .marketexp-wrap .me-sticky-discard {
  background: var(--me-sticky-discard-bg, #eef2f6) !important;
  color: var(--me-sticky-discard-text, #172033) !important;
  -webkit-text-fill-color: var(--me-sticky-discard-text, #172033) !important;
  border-color: var(--me-sticky-discard-border, #94a3b8) !important;
  opacity: 1 !important;
  filter: none !important;
  text-shadow: none !important;
}
body.me-theme-engine-v3.me-theme-v5 .me-sticky-bar .me-sticky-discard:hover {
  background: var(--me-sticky-discard-text, #172033) !important;
  color: var(--me-sticky-discard-bg, #eef2f6) !important;
  -webkit-text-fill-color: var(--me-sticky-discard-bg, #eef2f6) !important;
}
body.me-theme-engine-v3.me-theme-v5 .me-admin-footer {
  background: var(--me-footer-bg, #fff) !important;
  color: var(--me-footer-text, #172033) !important;
  border-color: var(--me-admin-input-border, #cbd5e1) !important;
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}
body.me-theme-engine-v3.me-theme-v5 .me-admin-footer :is(.me-admin-footer__brand,.me-admin-footer__version) {
  color: var(--me-footer-text, #172033) !important;
  -webkit-text-fill-color: var(--me-footer-text, #172033) !important;
  opacity: 1 !important;
}
body.me-theme-engine-v3.me-theme-v5 .me-admin-footer__version,
body.me-theme-engine-v3.me-theme-v5 .me-admin-footer__links,
body.me-theme-engine-v3.me-theme-v5 .me-admin-footer__links span {
  color: var(--me-footer-muted, #475569) !important;
  -webkit-text-fill-color: var(--me-footer-muted, #475569) !important;
  opacity: 1 !important;
}
body.me-theme-engine-v3.me-theme-v5 .me-admin-footer__links a {
  color: var(--me-footer-link, #1d4ed8) !important;
  -webkit-text-fill-color: var(--me-footer-link, #1d4ed8) !important;
  opacity: 1 !important;
}
body.me-theme-engine-v3.me-theme-v5 .me-admin-footer__license--active {
  background: var(--me-footer-license-bg, #eaf7ee) !important;
  color: var(--me-footer-license-text, #166534) !important;
  -webkit-text-fill-color: var(--me-footer-license-text, #166534) !important;
  border-radius: 999px !important;
  padding: 5px 10px !important;
  opacity: 1 !important;
}
body.me-theme-engine-v3.me-theme-v5 .me-admin-footer__license--trial {
  background: var(--me-footer-trial-bg, #fff4d6) !important;
  color: var(--me-footer-trial-text, #854d0e) !important;
  -webkit-text-fill-color: var(--me-footer-trial-text, #854d0e) !important;
  border-radius: 999px !important;
  padding: 5px 10px !important;
  opacity: 1 !important;
}

/* Operational pages use a fixed neutral palette so diagnostics remain readable in every theme. */
.me-system-page {
  --me-admin-page-bg: #f6f8fb;
  --me-admin-card-bg: #ffffff;
  --me-surface-nested: #f1f5f9;
  --me-admin-text: #172033;
  --me-admin-muted: #475569;
  --me-admin-heading: #0f172a;
  --me-link-text: #1d4ed8;
  --me-admin-input-bg: #ffffff;
  --me-admin-input-text: #172033;
  --me-admin-input-placeholder: #64748b;
  --me-admin-input-border: #cbd5e1;
  --me-table-head-bg: #0891b2;
  --me-table-head-text: #ffffff;
  --me-table-row-bg: #ffffff;
  --me-table-row-hover: #eef6f8;
  background: #f6f8fb !important;
  color: #172033 !important;
  padding: 22px !important;
  border-radius: 16px !important;
}
.me-system-page,
.me-system-page :is(h1,h2,h3,h4,h5,h6,p,li,label,strong,b,span,td,th,summary,details) {
  color: #172033 !important;
  -webkit-text-fill-color: currentColor !important;
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  text-shadow: none !important;
}
.me-system-page :is(h1,h2,h3,h4,h5,h6) { color:#0f172a!important; }
.me-system-page :is(.description,p.description,small,.muted,.help,.hint) { color:#475569!important; }
.me-system-page a:not(.button) { color:#1d4ed8!important; -webkit-text-fill-color:#1d4ed8!important; }
.me-system-page :is(.widefat,.wp-list-table) { background:#fff!important;color:#172033!important;border-color:#cbd5e1!important; }
.me-system-page :is(.widefat,.wp-list-table) thead :is(tr,th,td) { background:#0891b2!important;color:#fff!important;-webkit-text-fill-color:#fff!important; }
.me-system-page :is(.widefat,.wp-list-table) tbody tr { background:#fff!important; }
.me-system-page :is(.widefat,.wp-list-table).striped tbody tr:nth-child(odd) { background:#f8fafc!important; }
.me-system-page :is(.widefat,.wp-list-table) tbody tr:hover { background:#eef6f8!important; }
.me-system-page :is(.widefat,.wp-list-table) tbody :is(td,th),
.me-system-page :is(.widefat,.wp-list-table) tbody :is(td,th) *:not(.dashicons) { color:#172033!important;-webkit-text-fill-color:#172033!important;opacity:1!important; }
.me-system-page code { background:#f1f5f9!important;color:#172033!important;-webkit-text-fill-color:#172033!important;border:1px solid #cbd5e1!important; }
.me-system-page .button:not(.button-primary) { background:#fff!important;color:#0f7490!important;-webkit-text-fill-color:#0f7490!important;border-color:#06b6d4!important; }
.me-system-page .button-primary { background:#0891b2!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#0891b2!important; }
.me-system-page .me-regression-stat--pass,
.me-system-page .me-regression-stat--pass * { color:#166534!important;-webkit-text-fill-color:#166534!important; }
.me-system-page .me-regression-stat--warning,
.me-system-page .me-regression-stat--warning * { color:#854d0e!important;-webkit-text-fill-color:#854d0e!important; }
.me-system-page .me-regression-stat--fail,
.me-system-page .me-regression-stat--fail * { color:#991b1b!important;-webkit-text-fill-color:#991b1b!important; }
.me-system-page .me-regression-stat--time,
.me-system-page .me-regression-stat--time * { color:#f8fafc!important;-webkit-text-fill-color:#f8fafc!important; }

/* Theme Engine V2: unified component contract (26.7.403). */
body.me-theme-engine-v3.me-theme-v5 {
  --me-component-surface: var(--me-admin-card-bg, var(--me-surface, #fff));
  --me-component-surface-nested: var(--me-surface-nested, color-mix(in srgb, var(--me-component-surface) 92%, var(--me-admin-text, #172033) 8%));
  --me-component-text: var(--me-admin-text, var(--me-text, #172033));
  --me-component-muted: var(--me-admin-muted, var(--me-muted, #64748b));
  --me-component-heading: var(--me-admin-heading, var(--me-component-text));
  --me-component-border: var(--me-admin-input-border, var(--me-border, rgba(148,163,184,.38)));
  --me-component-radius: var(--me-radius-lg, 18px);
  --me-component-shadow: var(--me-shadow, 0 18px 50px rgba(15,23,42,.16));
  --me-component-heading-weight: 700;
  --me-component-heading-tracking: -0.015em;
  --me-component-body-weight: 400;
  --me-component-border-width: 1px;
  --me-component-hover-lift: 2px;
  --me-component-transition: 180ms;
  --me-component-glow: 0 0 0 1px rgba(15,23,42,.02);
  --me-component-overlay: linear-gradient(180deg,rgba(255,255,255,.035),transparent 42%);
}

/* Shared shell: admin cards, tooltip and recovery cards use one surface contract. */
body.me-theme-engine-v3.me-theme-v5 :is(
  .me-settings-card,
  .me-theme-card,
  .me-tt-popup,
  #me-recovery-modal .me-recovery-modal__card,
  .me-cart-modal .me-cart-modal__card,
  .me-cart-recovery-modal .me-cart-modal__card
) {
  background: var(--me-component-surface) !important;
  color: var(--me-component-text) !important;
  border-color: var(--me-component-border) !important;
  border-width: var(--me-component-border-width) !important;
  border-radius: var(--me-component-radius) !important;
  box-shadow: var(--me-component-shadow), var(--me-component-glow) !important;
  font-weight: var(--me-component-body-weight);
  transition: transform var(--me-component-transition) ease, box-shadow var(--me-component-transition) ease, border-color var(--me-component-transition) ease !important;
  position: relative;
  isolation: isolate;
}
body.me-theme-engine-v3.me-theme-v5 :is(.me-settings-card,.me-theme-card,.me-tt-popup,#me-recovery-modal .me-recovery-modal__card,.me-cart-modal .me-cart-modal__card,.me-cart-recovery-modal .me-cart-modal__card)::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: var(--me-component-overlay);
  z-index: -1;
}
body.me-theme-engine-v3.me-theme-v5 .me-theme-card:hover {
  transform: translateY(calc(var(--me-component-hover-lift) * -1));
}

body.me-theme-engine-v3.me-theme-v5 :is(
  .me-settings-card,
  .me-theme-card,
  .me-tt-popup,
  #me-recovery-modal .me-recovery-modal__card,
  .me-cart-modal .me-cart-modal__card,
  .me-cart-recovery-modal .me-cart-modal__card
) :is(h1,h2,h3,h4,h5,h6,.me-theme-card__name,.me-cart-modal-title,.me-recovery-modal__hero-title) {
  color: var(--me-component-heading) !important;
  -webkit-text-fill-color: currentColor;
  font-family: var(--me-font-heading, var(--me-font-ui, inherit));
  font-weight: var(--me-component-heading-weight) !important;
  letter-spacing: var(--me-component-heading-tracking);
}

body.me-theme-engine-v3.me-theme-v5 :is(
  .me-settings-card,
  .me-theme-card,
  .me-tt-popup,
  #me-recovery-modal .me-recovery-modal__card,
  .me-cart-modal .me-cart-modal__card,
  .me-cart-recovery-modal .me-cart-modal__card
) :is(p,li,label,span,td,th,strong) {
  color: inherit;
}

body.me-theme-engine-v3.me-theme-v5 :is(
  .me-settings-card,
  .me-theme-card,
  .me-tt-popup,
  #me-recovery-modal .me-recovery-modal__card,
  .me-cart-modal .me-cart-modal__card,
  .me-cart-recovery-modal .me-cart-modal__card
) :is(.description,p.description,small,.muted,.me-theme-card__desc,.me-tt-sub,.me-recovery-modal__eyebrow + p) {
  color: var(--me-component-muted) !important;
  -webkit-text-fill-color: currentColor !important;
  opacity: 1 !important;
}

/* Nested content panels share the same secondary surface. */
body.me-theme-engine-v3.me-theme-v5 :is(
  .me-settings-card,
  .me-tt-popup,
  #me-recovery-modal .me-recovery-modal__card,
  .me-cart-modal .me-cart-modal__card,
  .me-cart-recovery-modal .me-cart-modal__card
) :is(.me-recovery-modal__item,.me-cart-modal__item,.me-tt-row,.me-inner-card,.me-preview-panel) {
  background: var(--me-component-surface-nested) !important;
  color: var(--me-component-text) !important;
  border-color: var(--me-component-border) !important;
}

/* Sticky save bar follows the exact same semantic contrast model. */
body.me-theme-engine-v3.me-theme-v5 :is(.me-sticky-save,.me-sticky-bar,.me-sticky-btn-wrap,.me-admin-sticky-save) {
  background: var(--me-component-surface) !important;
  color: var(--me-component-text) !important;
  border-color: var(--me-component-border) !important;
  box-shadow: 0 -12px 36px color-mix(in srgb, var(--me-component-text) 14%, transparent) !important;
}
body.me-theme-engine-v3.me-theme-v5 :is(.me-sticky-save,.me-sticky-bar,.me-sticky-btn-wrap,.me-admin-sticky-save) :is(span,p,strong,label) {
  color: var(--me-component-text) !important;
  -webkit-text-fill-color: currentColor !important;
}

/* Preserve intentional animated gradient titles while making static fallback readable. */
body.me-theme-engine-v3.me-theme-v5.me-animations-enabled :is(.me-ui-gradient-text,.me-cart-modal-title,#me-recovery-modal .me-recovery-modal__hero-title) {
  background-image: var(--me-gradient-text, linear-gradient(90deg,var(--me-accent),var(--me-accent-2),var(--me-accent))) !important;
  background-size: 220% 100% !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}
body.me-theme-engine-v3.me-theme-v5:not(.me-animations-enabled) :is(.me-ui-gradient-text,.me-cart-modal-title,#me-recovery-modal .me-recovery-modal__hero-title,.me-recovery-modal__message strong,.me-recovery-modal__discount) {
  background-image: var(--me-gradient-text, linear-gradient(90deg,var(--me-accent),var(--me-accent-2),var(--me-accent))) !important;
  background-size: 100% 100% !important;
  background-position: 50% 50% !important;
  background-repeat: no-repeat !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}

/* Buttons use semantic foregrounds instead of theme-specific accidental inheritance. */
body.me-theme-engine-v3.me-theme-v5 :is(.me-settings-card,.me-tt-popup,#me-recovery-modal,.me-cart-modal,.me-cart-recovery-modal) :is(.button-primary,.me-btn-primary,.me-recovery-modal__cta,.me-cart-modal__cta) {
  background: var(--me-accent) !important;
  border-color: var(--me-accent) !important;
  color: var(--me-accent-contrast, #fff) !important;
  -webkit-text-fill-color: currentColor !important;
}
body.me-theme-engine-v3.me-theme-v5 :is(.me-settings-card,.me-tt-popup,#me-recovery-modal,.me-cart-modal,.me-cart-recovery-modal) :is(.button:not(.button-primary),.me-btn-secondary,.me-recovery-modal__later) {
  background: var(--me-component-surface-nested) !important;
  border-color: var(--me-component-border) !important;
  color: var(--me-component-text) !important;
  -webkit-text-fill-color: currentColor !important;
}

/* ============================================================
 * v26.7.409 — Component-local Theme Runtime authority
 * Components rendered on the front end carry their own Theme Engine
 * classes. They must not wait for the BODY to receive those classes.
 * ============================================================ */
:is(
  .me-theme-host.me-theme-engine-v3.me-theme-v5,
  .me-component-membership-recovery.me-theme-engine-v3.me-theme-v5,
  .me-component-cart-recovery.me-theme-engine-v3.me-theme-v5,
  .me-component-price-tooltip.me-theme-engine-v3.me-theme-v5
) {
  --me-component-surface: var(--me-tooltip-surface, var(--me-surface, var(--me-admin-card-bg, #fff)));
  --me-component-text: var(--me-text-primary, var(--me-text, #111827));
  --me-component-muted: var(--me-text-secondary, var(--me-muted, #667085));
  --me-component-heading: var(--me-heading-text, var(--me-component-text));
  --me-component-border: var(--me-border, rgba(15,23,42,.12));
  --me-component-radius: var(--me-radius-lg, var(--me-radius, 22px));
  --me-component-shadow: var(--me-shadow, 0 18px 50px rgba(15,23,42,.16));
}

:is(
  .me-recovery-modal__card.me-theme-host.me-theme-engine-v3.me-theme-v5,
  .me-cart-modal-inner.me-theme-host.me-theme-engine-v3.me-theme-v5,
  .me-tt-popup.me-theme-host.me-theme-engine-v3.me-theme-v5
) {
  background: var(--me-component-surface) !important;
  color: var(--me-component-text) !important;
  border-color: var(--me-component-border) !important;
  border-radius: var(--me-component-radius) !important;
  box-shadow: var(--me-component-shadow), var(--me-component-glow, 0 0 0 1px rgba(15,23,42,.02)) !important;
  font-family: var(--me-font-ui, inherit) !important;
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

:is(
  .me-recovery-modal__card.me-theme-host.me-theme-engine-v3.me-theme-v5,
  .me-cart-modal-inner.me-theme-host.me-theme-engine-v3.me-theme-v5,
  .me-tt-popup.me-theme-host.me-theme-engine-v3.me-theme-v5
) :is(h1,h2,h3,h4,h5,h6,.me-recovery-modal__hero-title,.me-cart-modal-title) {
  color: var(--me-component-heading) !important;
}

:is(
  .me-recovery-modal__card.me-theme-host.me-theme-engine-v3.me-theme-v5,
  .me-cart-modal-inner.me-theme-host.me-theme-engine-v3.me-theme-v5,
  .me-tt-popup.me-theme-host.me-theme-engine-v3.me-theme-v5
) :is(p,.description,small,.muted,.me-cart-modal-sub,.me-recovery-modal__expiry-text,.me-recovery-modal__new-expiry) {
  color: var(--me-component-muted) !important;
}

/* Exact shared CTA used by the admin sticky Save Changes button. */
:is(
  .me-recovery-modal__button.me-sticky-btn,
  .me-cart-modal-cta.me-sticky-btn,
  .me-sticky-bar .me-sticky-btn
) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  background: linear-gradient(90deg,var(--me-accent,#4f46e5),var(--me-accent-2,#22c55e)) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border: 0 !important;
  border-radius: 100px !important;
  padding: 10px 24px !important;
  min-height: 40px !important;
  font-family: "DM Sans",var(--me-font-ui,inherit) !important;
  font-size: 14px !important;
  line-height: 20px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-shadow: 0 10px 24px color-mix(in srgb,var(--me-accent-2,#22c55e) 22%,transparent) !important;
  transition: transform .18s ease,box-shadow .18s ease,background .18s ease !important;
}
:is(
  .me-recovery-modal__button.me-sticky-btn,
  .me-cart-modal-cta.me-sticky-btn,
  .me-sticky-bar .me-sticky-btn
):hover {
  background: linear-gradient(90deg,var(--me-accent-2,#22c55e),var(--me-accent,#4f46e5)) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 32px color-mix(in srgb,var(--me-accent,#4f46e5) 26%,transparent) !important;
}

/* v26.7.410 — Recovery CTAs use the admin sticky Save Changes visual contract verbatim.
   This terminal rule is component-local so frontend rendering never depends on admin wrappers
   or on body theme hydration. */
:is(
  #me-recovery-modal .me-recovery-modal__button.me-sticky-btn,
  .me-cart-modal .me-cart-modal-cta.me-sticky-btn,
  .me-cart-recovery-modal .me-cart-modal-cta.me-sticky-btn
) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
  background: linear-gradient(90deg,var(--me-accent,#4f46e5),var(--me-accent-2,#22c55e)) !important;
  background-image: linear-gradient(90deg,var(--me-accent,#4f46e5),var(--me-accent-2,#22c55e)) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border: 0 !important;
  border-radius: 100px !important;
  padding: 10px 24px !important;
  font-family: "DM Sans",sans-serif !important;
  font-size: 14px !important;
  line-height: normal !important;
  font-weight: 600 !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  filter: none !important;
  transform: none !important;
  box-shadow: 0 10px 24px color-mix(in srgb,var(--me-accent-2,#22c55e) 22%,transparent) !important;
  transition: transform .18s ease,box-shadow .18s ease,background .18s ease !important;
}
:is(
  #me-recovery-modal .me-recovery-modal__button.me-sticky-btn,
  .me-cart-modal .me-cart-modal-cta.me-sticky-btn,
  .me-cart-recovery-modal .me-cart-modal-cta.me-sticky-btn
):hover,
:is(
  #me-recovery-modal .me-recovery-modal__button.me-sticky-btn,
  .me-cart-modal .me-cart-modal-cta.me-sticky-btn,
  .me-cart-recovery-modal .me-cart-modal-cta.me-sticky-btn
):focus {
  background: linear-gradient(90deg,var(--me-accent-2,#22c55e),var(--me-accent,#4f46e5)) !important;
  background-image: linear-gradient(90deg,var(--me-accent-2,#22c55e),var(--me-accent,#4f46e5)) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  transform: translateY(-1px) !important;
  filter: none !important;
  box-shadow: 0 14px 32px color-mix(in srgb,var(--me-accent,#4f46e5) 26%,transparent) !important;
}


/* v26.7.413 — Universal primary CTA contract.
   Every current or future module can use .me-ui-primary-action (or the legacy
   .me-theme-primary-action alias) to inherit the exact sticky Save Changes look.
   Add .me-ui-large-cta for full-width modal/recovery actions. */
:is(
  .me-ui-primary-action,
  .me-theme-primary-action
) {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  box-sizing: border-box !important;
  min-height: 40px !important;
  background: linear-gradient(90deg,var(--me-accent,#4f46e5),var(--me-accent-2,#22c55e)) !important;
  background-image: linear-gradient(90deg,var(--me-accent,#4f46e5),var(--me-accent-2,#22c55e)) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border: 0 !important;
  border-radius: 100px !important;
  padding: 10px 24px !important;
  font-family: "DM Sans",var(--me-font-ui,system-ui,sans-serif) !important;
  font-size: 14px !important;
  line-height: 20px !important;
  font-weight: 600 !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  filter: none !important;
  box-shadow: 0 10px 24px color-mix(in srgb,var(--me-accent-2,#22c55e) 22%,transparent) !important;
  transition: transform .18s ease,box-shadow .18s ease,background .18s ease !important;
}
:is(
  .me-ui-primary-action,
  .me-theme-primary-action
):is(:hover,:focus-visible) {
  background: linear-gradient(90deg,var(--me-accent-2,#22c55e),var(--me-accent,#4f46e5)) !important;
  background-image: linear-gradient(90deg,var(--me-accent-2,#22c55e),var(--me-accent,#4f46e5)) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  transform: translateY(-1px) !important;
  filter: none !important;
  box-shadow: 0 14px 32px color-mix(in srgb,var(--me-accent,#4f46e5) 26%,transparent) !important;
}
:is(.me-ui-primary-action,.me-theme-primary-action):focus-visible {
  outline: 2px solid color-mix(in srgb,var(--me-accent-2,#22c55e) 70%,#fff) !important;
  outline-offset: 3px !important;
}
:is(.me-ui-primary-action,.me-theme-primary-action):is(:disabled,[aria-disabled="true"],.is-disabled) {
  opacity: .55 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}
.me-ui-large-cta {
  width: 100% !important;
}
