/* MarketVista readable theme
 * Shared palette and typography for the public site, workspace, and administration.
 * Legacy templates contain unlayered !important rules. This named layer gives the
 * presentation contract a predictable priority without changing component layout,
 * visibility, or financial state. New components should consume these tokens.
 */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/inter-latin-variable.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@layer mv-readability {
  :root {
    color-scheme: dark !important;
    --mv-font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif !important;
    --mv-nav-font: var(--mv-font) !important;
    --mv-bg: #171e1c !important;
    --mv-bg-soft: #1c2622 !important;
    --mv-shell-bg: var(--mv-bg) !important;
    --mv-surface: #222d28 !important;
    --mv-surface-2: #2b3831 !important;
    --mv-card: var(--mv-surface) !important;
    --mv-card-2: var(--mv-surface-2) !important;
    --mv-panel: var(--mv-surface) !important;
    --mv-text: #f0f2eb !important;
    --mv-muted: #c1cdc3 !important;
    --mv-faint: #a9b9ae !important;
    --mv-border: #52665a !important;
    --mv-border-strong: #809786 !important;
    --mv-primary: #9bceb0 !important;
    --mv-cyan: #add2bd !important;
    --mv-blue: #b0c9dc !important;
    --mv-green: #a7d7b2 !important;
    --mv-red: #ffb3aa !important;
    --mv-danger: var(--mv-red) !important;
    --mv-amber: #edcb8e !important;
    --mv-warning: var(--mv-amber) !important;
    --mv-violet: #c9b9e5 !important;
    --mv-purple: var(--mv-violet) !important;
    --mv-action-bg: #a8cdb5 !important;
    --mv-action-hover: #c1ddcb !important;
    --mv-action-text: #19271f !important;
    --mv-focus: #efc885 !important;
    --mv-input-bg: #19241f !important;
    --mv-positive-bg: #263e2f !important;
    --mv-negative-bg: #462e2b !important;
    --mv-warning-bg: #403726 !important;
    --mv-info-bg: #2a3740 !important;
    --mv-radius: 12px !important;
    --mv-radius-sm: 8px !important;
    --mv-shadow: 0 6px 22px rgb(0 0 0 / 12%) !important;
    --mv-wayfinding-workspace: var(--mv-amber) !important;
    --mv-wayfinding-market: var(--mv-cyan) !important;
    --mv-wayfinding-research: var(--mv-violet) !important;
    --mv-wayfinding-tools: var(--mv-red) !important;
    /* Older standalone pages use these aliases. */
    --bg: var(--mv-bg) !important;
    --panel: var(--mv-surface) !important;
    --panel2: var(--mv-surface-2) !important;
    --text: var(--mv-text) !important;
    --muted: var(--mv-muted) !important;
    --line: var(--mv-border) !important;
    --cyan: var(--mv-cyan) !important;
    --blue: var(--mv-blue) !important;
    --green: var(--mv-green) !important;
    --warn: var(--mv-warning) !important;
    --bad: var(--mv-danger) !important;
  }

  /* Retain the user's light preference with warm surfaces and dark ink. */
  html:is([data-theme="light-pro"], [data-theme="light"]) {
    color-scheme: light !important;
    --mv-bg: #f1f2eb !important;
    --mv-bg-soft: #e8ece3 !important;
    --mv-surface: #fafbf6 !important;
    --mv-surface-2: #e6ece2 !important;
    --mv-text: #202c24 !important;
    --mv-muted: #45594b !important;
    --mv-faint: #526657 !important;
    --mv-border: #94a491 !important;
    --mv-border-strong: #667e6a !important;
    --mv-primary: #285d41 !important;
    --mv-cyan: #285d41 !important;
    --mv-blue: #355d78 !important;
    --mv-green: #25603b !important;
    --mv-red: #9b352c !important;
    --mv-amber: #775117 !important;
    --mv-violet: #654780 !important;
    --mv-action-bg: #315e44 !important;
    --mv-action-hover: #234d35 !important;
    --mv-action-text: #ffffff !important;
    --mv-focus: #80571c !important;
    --mv-input-bg: #ffffff !important;
    --mv-positive-bg: #dcebdd !important;
    --mv-negative-bg: #f8e2dc !important;
    --mv-warning-bg: #f2e8cd !important;
    --mv-info-bg: #e1eaf0 !important;
    --mv-shadow: 0 4px 18px rgb(32 44 36 / 7%) !important;
  }

  html { background: var(--mv-bg) !important; }
  :where(html, body, body *) { scrollbar-color: var(--mv-border-strong) var(--mv-bg) !important; }
  body {
    background: var(--mv-bg) !important;
    color: var(--mv-text) !important;
    font-family: var(--mv-font) !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    letter-spacing: normal !important;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    font-optical-sizing: auto;
  }
  :where(p, li, dt, dd, label, input, select, textarea, button, summary, th, td, a, small, strong, b, em, span) {
    font-family: var(--mv-font) !important;
    font-weight: inherit !important;
    letter-spacing: normal !important;
  }
  :where(p, li, dt, dd) { line-height: 1.65 !important; font-weight: 400 !important; }
  :where(.mv-content div, .mv-content section, .mv-content article) { font-weight: 400 !important; }
  :where(.mvpt span) { color: inherit !important; font-size: max(.8125rem, 1em) !important; }
  :where(.mvpt b, .mvpt strong, .mvpt summary, .mvpt legend) { color: var(--mv-text) !important; }
  :where(.mvpt p, .mvpt legend) { font-size: .875rem !important; }
  :where(p, dt) { color: var(--mv-muted) !important; }
  :where(strong, b) { font-weight: 650 !important; }
  :where(h1, h2, h3, h4, h5, h6) {
    color: var(--mv-text) !important;
    font-family: var(--mv-font) !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
    letter-spacing: -.025em !important;
    text-transform: none !important;
    text-wrap: balance;
    overflow-wrap: break-word;
    background-image: none !important;
    -webkit-text-fill-color: currentColor !important;
  }
  h1 { font-size: clamp(1.875rem, 1.45rem + 1.7vw, 2.875rem) !important; }
  h2 { font-size: clamp(1.375rem, 1.2rem + .65vw, 1.875rem) !important; }
  h3 { font-size: 1.1875rem !important; }
  h4 { font-size: 1.0625rem !important; }
  h5, h6 { font-size: 1rem !important; }
  :where(small, .mv-code, .mv-kpi-note, .mv-kpi-label, .mv381-market-meta) {
    font-size: .8125rem !important;
    line-height: 1.5 !important;
    color: var(--mv-faint) !important;
  }
  :where(code, pre, kbd, samp, .mv-code) {
    font-family: ui-monospace, "Cascadia Code", Consolas, monospace !important;
    letter-spacing: normal !important;
  }
  :where(.mv-pro-metric > span, .mv-clean-kpi > span, .mv246-metric > span,
    .mv-prefs-kpi > span, .mvpt-status-grid span, .mv312-stat-row em, .mv312-kpi em,
    .mvpt-metric-card span, .mvpt-overview-asof, .mvpt-gauge > span,
    .mvpt-connect-badge, .mvpt-connect-checks span, .mvpt-agent-status-grid span) {
    color: var(--mv-muted) !important;
    font-size: .8125rem !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    text-transform: none !important;
  }
  :where(.mv-clean-loading, .mv-clean-empty, .mv-clean-error, .mv312-empty) {
    color: var(--mv-muted) !important;
    background: var(--mv-surface) !important;
    border-color: var(--mv-border) !important;
  }
  :where(.mv-prefs-control-head > span, .mv-prefs-stat-grid b) {
    color: var(--mv-muted) !important;
    font-size: .8125rem !important;
    text-transform: none !important;
  }
  :where(.mv-prefs-control-head strong, .mv-prefs-stat-grid strong) { color: var(--mv-text) !important; }
  :where(.mv-prefs-stat-grid > *, .mv-prefs-mini-list span) {
    background: var(--mv-surface-2) !important;
    color: var(--mv-muted) !important;
    border-color: var(--mv-border) !important;
  }
  :where(.mv-agent-desk) {
    --ad-line: var(--mv-border) !important;
    --ad-panel: var(--mv-surface) !important;
    --ad-muted: var(--mv-muted) !important;
    --ad-text: var(--mv-text) !important;
    --ad-good: var(--mv-green) !important;
    --ad-warn: var(--mv-amber) !important;
    --ad-bad: var(--mv-red) !important;
  }
  :where(.mv-ad-footer-note, .mv428-checkout-summary, .mv1832-account-summary > *,
    .mv1832-receipt-summary > *, .mv1832-receipt-facts > *, .mv1832-summary > *, .mv1832-receipt-meta > *,
    .mv-analytics-metrics > article, .mv-tv-command-strip, .mv-tv-metrics > article,
    .mv-tv-official-shell, .mv-tv-bottom-grid > article, .mv-tv-widget-head,
    .mv-tv-mi-zones > *, .mv-tv-modal-panel, .mv-tv-modal-head,
    .mv-tv-control-form label, .mv-tv-chart-topline, .mv-tv-status) {
    background: var(--mv-surface) !important;
    color: var(--mv-text) !important;
    border-color: var(--mv-border) !important;
    box-shadow: none !important;
  }
  :where(.mv-ad-footer-note strong, .mv1832-money strong, .mv1832-receipt-total,
    .mv-analytics-metrics strong, .mv-analytics-metrics span) { color: var(--mv-text) !important; }
  :where(.mv1832-receipt-meta dt) { font-size: .8125rem !important; }
  :where(.mv-tv-official-page span, .mv-tv-official-page strong, .mv-tv-official-page b,
    .mv-tv-official-page em, .mv428-account-billing-page span, .mv428-account-billing-page strong) {
    color: inherit !important;
  }
  :where(.mv-tv-official-page span, .mv-tv-official-page em, .mv-tv-eyebrow,
    .mv-analytics-metrics > article > span) {
    font-size: max(.8125rem, 1em) !important;
    line-height: 1.5 !important;
  }
  /* Pricing has server-rendered plan bands outside the standard card classes. */
  :where(.mv1043-free-banner, .mv1043-free-left, .mv1043-free-features,
    .mv1043-free-usage, .mv1043-free-action, .mv1045-best, .mv1045-usage > *, .mv1045-tags > *) {
    background: var(--mv-surface) !important;
    color: var(--mv-text) !important;
    border-color: var(--mv-border) !important;
    box-shadow: none !important;
  }
  :where(.mv1043-free-banner strong, .mv1043-free-banner li,
    .mv1043-price, .mv1045-price-row strong, .mv1045-card strong,
    .mv1045-description, .mv1045-features li, .mv1045-best div,
    .mv1045-tags span, .mv1045-usage span) { color: var(--mv-text) !important; }
  :where(.mv1043-section-title, .mv1043-kicker, .mv1045-best small) {
    color: var(--mv-amber) !important;
    font-size: .8125rem !important;
    font-weight: 600 !important;
  }
  :where(.mv1045-old-price, .mv1045-renewal, .mv1045-discount) { color: var(--mv-muted) !important; }
  :where(.mv1045-trial, .mv1045-feature-pill) { background: var(--mv-warning-bg) !important; color: var(--mv-amber) !important; border-color: var(--mv-amber) !important; }
  :where(.mv-eyebrow, [class$="-kicker"], [class*="-kicker "], .kicker, .k, .mv-nav-heading) {
    color: var(--mv-amber) !important;
    font-size: .75rem !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    letter-spacing: .07em !important;
  }
  :where(.mv-kpi-value, .mv-pro-metric strong, .mv-clean-kpi strong, .mv312-kpi b, .mv312-stat-row b) {
    color: var(--mv-text) !important;
    font-weight: 650 !important;
    letter-spacing: -.025em !important;
    line-height: 1.25 !important;
    font-variant-numeric: tabular-nums;
  }

  /* Surfaces: match complete class-name suffixes, never card titles or controls.
     Geometry and show/hide behavior remain owned by each component. */
  :where(.mv-shell, .mv-pro-shell, .mv-main, .mv-content, .mv-pro-content, .mv-modal-embed-content, .mv-phase-page, .mv943-main) {
    background: var(--mv-bg) !important;
    color: var(--mv-text) !important;
  }
  :where([class$="-card"], [class*="-card "], [class$="-panel"], [class*="-panel "],
    [class$="-hero"], [class*="-hero "], .card, .journey-step, .mv312-kpi,
    .mv-pro-metric, .mv-clean-kpi, .mv246-metric, .mv312-stat-row > span,
    .mv312-stat-row > a, .mvpt-status-grid article, .mv-prefs-workbench,
    .mv-legal__hero, .mv-legal__intro, .mv-legal__section, .mv-legal__toolbar,
    #mv-confirm-card, body[data-mv-readable-page="email-preferences"] > main) {
    color: var(--mv-text) !important;
    background: var(--mv-surface) !important;
    border-color: var(--mv-border) !important;
    border-radius: var(--mv-radius) !important;
    box-shadow: var(--mv-shadow) !important;
  }
  :where(.mv-panel, .mv-pro-hero, .mv246-hero, .mvpt-hero, .mv-auth-hero)::before {
    background: none !important;
    box-shadow: none !important;
  }
  :where(.mv-pro-hero, .mv312-hero, .mv246-hero, .mvpt-hero, .mv-prefs-hero) {
    border-left: 3px solid var(--mv-primary) !important;
  }
  :where(.mv361-admin-controls, .mv480-user-profile-view, .mv459-admin-button-group,
    .mv480-profile-section, .mv1653-admin-tabs, .mv-list-item, .mv-auth-feature-grid span,
    .mvpt-master-switch, .mvpt-feature-switch, .mvpt-asset-card, .mvpt-result,
    .mv-admin-nav-group, .mv1139-drag-puzzle, .mv510-forgot-password,
    .mv1341-passwordless-login, .mv520-mfa-step form, .mv1823-legal-accept, .hint, .notice) {
    background: var(--mv-surface-2) !important;
    color: var(--mv-text) !important;
    border-color: var(--mv-border) !important;
    box-shadow: none !important;
  }
  :where(.mv-panel-head, .mv312-panel-head, .mvpt-panel-head) { border-color: var(--mv-border) !important; }
  :where(.mv480-profile-row, .mv480-profile-row span:last-child, .mv317-user-cell strong,
    .mv317-updated strong, .mv361-admin-controls header strong, .mv480-user-profile-view header strong,
    .mvpt-mode-line, .mvpt-master-switch strong, .mvpt-feature-switch strong,
    .mvpt-status-grid strong, .mv312-card > strong) { color: var(--mv-text) !important; }
  :where(.mv480-profile-row span:first-child, .mv459-admin-button-group > strong, .mv317-phone-line b) {
    color: var(--mv-amber) !important;
    font-size: .8125rem !important;
    text-transform: none !important;
  }
  :where(.mv317-user-contact, .mv312-stat-row em, .mv312-kpi em, .mvpt-result ul,
    .mv-dashboard-status, .mv262-muted, .mv305-muted, .mv-alerts-form-status,
    .mv-legal li, .mv-legal__lede, .mv-legal__meta span) { color: var(--mv-muted) !important; }
  .mvpt {
    color-scheme: inherit !important;
    color: var(--mv-text) !important;
    --pt-panel: var(--mv-surface) !important;
    --pt-cyan: var(--mv-cyan) !important;
    --pt-blue: var(--mv-blue) !important;
    --pt-green: var(--mv-green) !important;
    --pt-red: var(--mv-red) !important;
    --pt-amber: var(--mv-amber) !important;
  }
  /* Personal Trader previously forced a separate light palette in every mode. */
  :where(.mvpt-simple-controls, .mvpt-webull-connect, .mvpt-account-overview,
    .mvpt-account-switcher, .mvpt-account-box-guide, .mvpt-simple-overview > article,
    .mvpt-control-metrics > article, .mvpt-simple-assets > article,
    .mvpt-position-manager-grid > article, .mvpt-live-setup-assets > article,
    .mvpt-agent-status-grid > article, .mvpt-live-setup-dialog, .mvpt-reauth-dialog,
    .mvpt-handoff, .mvpt-live-launch, .mvpt-hotkey-details, .mvpt-pad-confirm,
    .mvpt-turbo-field, .mvpt-identity-check, .mvpt-live-setup-consent) {
    background: var(--mv-surface) !important;
    color: var(--mv-text) !important;
    border-color: var(--mv-border) !important;
    box-shadow: var(--mv-shadow) !important;
  }
  :where(.mvpt-control-asset, .mvpt-asset-tab, .mvpt-selected-asset-status,
    .mvpt-simple-switch, .mvpt-simple-message, .mvpt-connect-badge,
    .mvpt-agent-boundary, .mvpt-autonomy-scope, .mvpt-autonomy-next,
    .mvpt-autonomy-steps > li, .mvpt-step-state, .mvpt-asset-message,
    .mvpt-order-pad, .mvpt-protection-line, .mvpt-derivative-notice,
    .mvpt-session-fieldset, .mvpt-checks label, .mvpt-handoff-badge,
    .mvpt-live-setup-message, .mvpt-reauth-message, .mvpt-tooltip,
    .mvpt-result-facts span, .mvpt-status-grid .mvpt-agent-state,
    .mvpt-position-exit-grid > fieldset, .mvpt-agent-card-flags small,
    .mvpt-connect-scope > span, .mvpt-asset-tab strong, .mvpt-account-select,
    .mvpt-settings > summary, .mvpt-handoff-switch button, .mvpt-badge,
    .mvpt-connect-scope > strong, .mvpt-unit-input b, .mvpt-account-box-guide > span) {
    background: var(--mv-surface-2) !important;
    color: var(--mv-text) !important;
    border-color: var(--mv-border) !important;
    box-shadow: none !important;
  }
  :where(.mvpt-metric-icon) { background: var(--mv-action-bg) !important; color: var(--mv-action-text) !important; }
  :where(.mvpt-pad-title) { color: var(--mv-text) !important; }
  :where(.mvpt-control-asset.is-selected, .mvpt-asset-tab.is-selected) {
    border-color: var(--mv-primary) !important;
    box-shadow: inset 0 -3px var(--mv-primary) !important;
  }
  :where(.mvpt-control-asset strong, .mvpt-simple-overview strong, .mvpt-metric-card strong,
    .mvpt-agent-status-grid strong, .mvpt-asset-tab strong, .mvpt-account-name,
    .mvpt-account-box-guide strong, .mvpt-turbo-key strong, .mvpt-pad-confirm strong,
    .mvpt-autonomy-next strong, .mvpt-handoff strong, .mvpt-live-setup-dialog strong,
    .mvpt-reauth-dialog strong, .mvpt-account-overview strong, .mvpt-gauge strong) {
    color: var(--mv-text) !important;
  }
  :where(.mvpt-turbo-key) {
    background: var(--mv-surface-2) !important;
    color: var(--mv-text) !important;
    border-color: var(--mv-border-strong) !important;
  }
  :where(.mvpt-turbo-key.is-buy) { background: var(--mv-positive-bg) !important; border-color: var(--mv-green) !important; }
  :where(.mvpt-turbo-key.is-sell, .mvpt-emergency-recovery) { background: var(--mv-negative-bg) !important; border-color: var(--mv-red) !important; }
  :where(.mvpt-quote-recovery, .mvpt-connect-verification) { background: var(--mv-warning-bg) !important; color: var(--mv-amber) !important; border-color: var(--mv-amber) !important; }
  :where(.mvpt-result-mark, .mvpt-account-avatar) { background: var(--mv-action-bg) !important; color: var(--mv-action-text) !important; box-shadow: none !important; }
  .mvpt-hero::after { background: none !important; }
  .mv-legal {
    --legal-card: var(--mv-surface) !important;
    --legal-card-open: var(--mv-surface-2) !important;
    --legal-text: var(--mv-text) !important;
    --legal-border: var(--mv-border) !important;
    --legal-cyan: var(--mv-primary) !important;
    --legal-green: var(--mv-green) !important;
  }

  /* Shared navigation and overlays use the same opaque, calm surfaces. */
  :where(.mv-sidebar, .mv943-side, .mv-header, .mv-pro-header, .mv-footer, .mv-footer-clean,
    .mv-clean-tape, .mv-ticker-tape, .mv-top-menu-panel, .mv-user-menu-panel,
    .mv-header-popover-panel, .mv-admin-menu-panel, .mv-chat-panel, .mvpt-toast, .mv-popout-head) {
    background: var(--mv-bg-soft) !important;
    color: var(--mv-text) !important;
    border-color: var(--mv-border) !important;
    box-shadow: none !important;
  }
  :where(.mv-nav-link, .mv943-nav a, .mv-top-menu-panel a, .mv-user-menu-panel a,
    .mv-admin-nav-group-links a, .mv1653-admin-tabs a) {
    color: var(--mv-muted) !important;
    background: transparent !important;
    font-size: .875rem !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    min-height: 36px !important;
  }
  :where(.mv-nav-link.mv-active, .mv-nav-link:hover, .mv-nav-link:focus-visible,
    .mv-admin-nav-group-links a.is-active, .mv-admin-nav-group-links a:hover,
    .mv1653-admin-tabs a.is-current, .mv943-nav a:hover) {
    color: var(--mv-text) !important;
    background: var(--mv-surface-2) !important;
    border-color: var(--mv-border-strong) !important;
    box-shadow: inset 3px 0 var(--mv-amber) !important;
  }
  :where(.mv-brand strong, .mv-footer-brand strong, .mv-brand-name, .brand strong,
    .mv-auth-card h2, .mv-admin-nav-group summary, .mv-popover-heading) {
    color: var(--mv-text) !important;
    background: none !important;
    -webkit-text-fill-color: currentColor !important;
    font-weight: 650 !important;
  }
  :where(.mv-brand small, .mv-footer-brand small, .brand small) {
    font-size: .6875rem !important;
    line-height: 1.4 !important;
    color: var(--mv-faint) !important;
  }
  :where(.mv-header-session-primary, .mv-header-session-chip, .mv-clean-tape-item, .mv-ticker-item) {
    background: var(--mv-surface) !important;
    border-color: var(--mv-border) !important;
    box-shadow: none !important;
  }
  :where(.mv-header-session-primary strong, .mv-header-session-primary span,
    .mv-header-session-primary em, .mv-header-session-chip strong, .mv-header-session-chip span,
    .mv-clean-tape-item strong, .mv-clean-tape-price, .mv-ticker-item strong, .mv-ticker-price) {
    color: var(--mv-text) !important;
    font-weight: 600 !important;
    font-variant-numeric: tabular-nums;
  }
  :where(.mv-clean-tape-item strong, .mv-clean-tape-price, .mv-ticker-item strong, .mv-ticker-price) {
    font-size: .8125rem !important;
  }

  /* Forms and actions: readable labels, opaque inputs, and visible focus. */
  label {
    color: var(--mv-text) !important;
    font-size: .875rem !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    text-transform: none !important;
  }
  label > span { color: inherit !important; font-size: inherit !important; }
  :where(input, select, textarea):not([type="checkbox"], [type="radio"], [type="range"], [type="hidden"], [type="color"], [type="submit"], [type="button"]) {
    background: var(--mv-input-bg) !important;
    color: var(--mv-text) !important;
    border: 1px solid var(--mv-border-strong) !important;
    border-radius: 8px !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    min-height: 44px !important;
    box-shadow: none !important;
  }
  :where(input, textarea)::placeholder { color: var(--mv-faint) !important; opacity: 1 !important; }
  :where(input[type="checkbox"], input[type="radio"], input[type="range"]) { accent-color: var(--mv-primary); }
  option { color: var(--mv-text) !important; background: var(--mv-input-bg) !important; }
  :where(button, [type="submit"], [type="button"], .mv-button, .mv312-button, .mvpt-button,
    .mv-btn, .btn, .button, .mv312-actions a, .mv-price-btn, .mv317-directory-profile-button) {
    font-family: var(--mv-font) !important;
    font-size: .875rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    text-shadow: none !important;
  }
  :where(.mv-button, .mv312-button, .mvpt-button, .mv-btn, .btn, .button) {
    min-height: 40px !important;
    padding: 9px 14px !important;
  }
  :where(.mv-button, .mv312-button, .mvpt-button, .mv-btn, .btn, .button,
    .mv312-actions a, .mv312-actions button, .mv-icon-button, .mv-top-menu-button,
    .mv-user-pill, .mv-admin-menu-home, .mv-admin-menu-close, .mv-auth-toggle button,
    .mv-price-btn, .mv317-directory-profile-button, .mv264-row-actions a,
    .mv437-portal-actions a, .mv437-portal-actions button, .mv1832-actions a, .mv1832-actions button,
    .mv-tv-control-form button, .mv-tv-actions button, .mv-tv-quick-row button, .mv-tv-mi-toggle) {
    background: var(--mv-surface-2) !important;
    color: var(--mv-text) !important;
    border: 1px solid var(--mv-border-strong) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    text-decoration: none !important;
  }
  :where(.mv-button-primary, .mv312-button:not(.secondary, .warn, .danger),
    .mv312-actions a:not(.secondary, .warn, .danger), .mvpt-button.primary,
    .btn.primary, .btn.green, .button, .mv-btn, .mv-auth-toggle button.is-active,
    .mv-auth-submit, .mv-price-btn, .mv1341-passkey-button, body > main.card button,
    #mv-confirm-card button, body[data-mv-readable-page="email-preferences"] button,
    .mv1043-free-action a, .mv1045-cta, .mv-chat-launcher, .mv1832-actions .is-primary) {
    color: var(--mv-action-text) !important;
    background: var(--mv-action-bg) !important;
    border-color: var(--mv-action-bg) !important;
    box-shadow: none !important;
  }
  :where(.mv1341-passkey-button, .mv-button-primary, .mv-auth-submit, .mv-price-btn) :where(strong, small, span) {
    color: inherit !important;
  }
  :where(.mv-tv-quick-row button.is-active, .mv-tv-mi-toggle.is-active,
    .mvpt-handoff-switch button[aria-pressed="true"]) {
    background: var(--mv-surface-2) !important;
    color: var(--mv-text) !important;
    border-color: var(--mv-primary) !important;
    box-shadow: inset 0 -3px var(--mv-primary) !important;
  }
  :where(.mv-button, .mv312-button, .mvpt-button, .btn, .button, .mv-btn):hover:not(:disabled) {
    border-color: var(--mv-primary) !important;
    filter: brightness(1.08);
  }
  :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 3px solid var(--mv-focus) !important;
    outline-offset: 3px !important;
  }
  :where(button, input, select, textarea):disabled { opacity: .6; cursor: not-allowed; }
  :where(p, li, dd, .mv-auth-row, .mv-legal) a:not([class*="button"], [class*="btn"]) {
    color: var(--mv-primary) !important;
    text-decoration: underline !important;
    text-underline-offset: .2em;
  }
  ::selection { background: var(--mv-action-bg); color: var(--mv-action-text); }

  /* Data tables keep their component widths and overflow containers. */
  :where(.mv-table-wrap, .mv312-table-wrap, .mvpt-table-wrap) {
    background: var(--mv-surface) !important;
    border-color: var(--mv-border) !important;
  }
  :where(table) { color: var(--mv-text) !important; font-variant-numeric: tabular-nums; }
  th {
    color: var(--mv-amber) !important;
    background: var(--mv-surface-2) !important;
    border-color: var(--mv-border) !important;
    font-size: .8125rem !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    letter-spacing: .015em !important;
    text-transform: none !important;
  }
  td { color: var(--mv-text) !important; border-color: var(--mv-border) !important; font-size: .875rem !important; line-height: 1.5 !important; }
  tbody tr:nth-child(even) { background: var(--mv-surface-2) !important; }
  tbody tr:hover { background: var(--mv-surface-2) !important; }
  .mv396-sort-head { color: var(--mv-amber) !important; font-size: inherit !important; }
  :where(.mv-chip, .mv-pill, .mv312-pill, .mv246-pill, .mvpt-badge, .mvpt-state-pill) {
    font-size: .8125rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
  }
  :where(.mv246-pill, .mv1832-status) { background: var(--mv-surface-2) !important; color: var(--mv-text) !important; border-color: var(--mv-border) !important; }

  /* Semantic colors are independent of the decorative brand accents. */
  :where(.mv-up, .up, .positive, .is-positive, .mv-clean-tape-move.is-up, .mv-ticker-change.is-up,
    .mv-form-message[data-state="ok"], .mv-alerts-form-status.is-ready, .mv-dashboard-status.is-ready) { color: var(--mv-green) !important; }
  :where(.mv-down, .down, .negative, .is-negative, .mv-clean-tape-move.is-down, .mv-ticker-change.is-down,
    .mv-form-message[data-state="error"], .mv-alerts-form-status.is-error) { color: var(--mv-red) !important; }
  :where(.mv-chip-safe, .mv-pill-safe, .mv312-pill.good, .mv246-pill.good, .mv1832-status.is-paid,
    .mv312-pill.score-good, .mvpt-badge.is-safe,
    .mvpt-state-pill.is-development, .mvpt-button.is-safe, .mv-auth-notice) {
    color: var(--mv-green) !important; background: var(--mv-positive-bg) !important; border-color: var(--mv-green) !important;
  }
  :where(.mv-chip-warn, .mv312-pill.warn, .mv246-pill.warn, .mv246-pill.stale,
    .mv1832-status.is-partial, .mv1832-status.is-pending, .mv1832-actions .is-refund,
    .mv312-pill.score-warm, .mv312-button.warn,
    .mvpt-state-pill.is-live, .mv-form-message[data-state="warn"], .mv312-actions .warn) {
    color: var(--mv-amber) !important; background: var(--mv-warning-bg) !important; border-color: var(--mv-amber) !important;
  }
  :where(.mv-chip-danger, .mv312-pill.bad, .mv246-pill.bad, .mv1832-status.is-failed,
    .mv312-pill.score-risk, .mv312-button.danger,
    .mvpt-badge.is-danger, .mvpt-state-pill.is-killed, .mvpt-button.is-danger,
    .mvpt-button.is-danger-soft, .mv-auth-error, .mv312-actions .danger) {
    color: var(--mv-red) !important; background: var(--mv-negative-bg) !important; border-color: var(--mv-red) !important;
  }
  :where(.mv312-pill.info, .mv-role-chip, .mvpt-state-pill.is-loading, .mv1832-status.is-refunded) {
    color: var(--mv-blue) !important; background: var(--mv-info-bg) !important; border-color: var(--mv-blue) !important;
  }
  .mvpt-kill { background: #8d332b !important; border-color: #ffb3aa !important; color: #fff !important; }

  /* Public landing and authentication retain their content and artwork. */
  body:has(.home-canvas) :where(.nav, .section, .cta-band) { background: var(--mv-bg) !important; border-color: var(--mv-border) !important; }
  body:has(.home-canvas) .hero h1 {
    font-size: clamp(2.5rem, 2rem + 3vw, 4.75rem) !important;
    line-height: 1.12 !important;
    white-space: normal !important;
  }
  body:has(.home-canvas) .hero h1 span { color: var(--mv-primary) !important; background: none !important; -webkit-text-fill-color: currentColor !important; }
  .home-canvas { filter: saturate(.55) contrast(.95) !important; opacity: .6 !important; }
  .hero-market-layer { opacity: .35 !important; }
  .mv-auth-copy h1 { font-size: clamp(2rem, 1.65rem + 1.8vw, 3.25rem) !important; line-height: 1.18 !important; }
  .mv-auth-card h2 { font-size: clamp(1.375rem, 1.15rem + .6vw, 1.75rem) !important; }
  :where(.mv-auth-toggle, .mv1139-drag-track) { background: var(--mv-input-bg) !important; border-color: var(--mv-border) !important; }
  :where(.mv1139-drag-top span, .mv1139-drag-top strong, .mv1139-drag-track span, .mv1139-drag-puzzle output) { color: var(--mv-text) !important; font-weight: 600 !important; }
  .mv1139-drag-puzzle::before { background: none !important; }
  :where(.mv1139-drag-progress b, .mv-scroll-jump button) {
    background: var(--mv-action-bg) !important;
    color: var(--mv-action-text) !important;
    border-color: var(--mv-action-bg) !important;
    box-shadow: none !important;
  }
  .mv1139-drag-progress i { background: var(--mv-primary) !important; box-shadow: none !important; }
  .mv-auth-glow { opacity: .08 !important; }
  .mv-auth-feature-grid span { font-size: .875rem !important; font-weight: 500 !important; }
  :where(.mv-footer-risk, .mv-footer nav a, .mv262-footer-links a) { color: var(--mv-muted) !important; font-size: .8125rem !important; line-height: 1.5 !important; }

  @media (max-width: 700px) {
    :where(.mv-auth-page) { padding: 16px; gap: 16px; }
    :where(.mv-auth-card, .mv-auth-hero) { padding: 24px !important; }
    :where(.mv312-panel-head h2, .mvpt-panel-head h2) { font-size: 1.375rem !important; }
    :where(.mv-footer-risk) { white-space: normal !important; }
  }
  @media (prefers-reduced-motion: reduce) {
    :where(.home-canvas, .hero-market-layer, .mv-auth-glow) { visibility: hidden !important; }
  }
  @media print {
    :root, html[data-theme] {
      --mv-bg: #fff !important; --mv-bg-soft: #fff !important;
      --mv-surface: #fff !important; --mv-surface-2: #fff !important;
      --mv-text: #111 !important; --mv-muted: #333 !important; --mv-faint: #333 !important;
      --mv-border: #999 !important; --mv-primary: #222 !important; --mv-amber: #222 !important;
      --mv-shadow: none !important;
    }
  }
}
