/* Brand color from the user's original J logo: #0293FE.
 * Color overrides only. Official asset images and risk/status colors stay intact.
 * Filled controls use white content; pale surfaces keep darker text/link companions.
 * White on the exact brand fill measures 3.18:1, below 4.5:1 for normal-size text.
 */
:root {
  --jg-brand-primary: #0293fe;
  --jg-brand-hover: #159cfe;
  --jg-brand-active: #0087eb;
  --jg-brand-ink: #011522;
  --jg-brand-on-primary: #ffffff;
  --jg-brand-body: #475569;
  --jg-brand-text: #006aaf;
  --jg-brand-soft: #f5fbff;
  --jg-brand-soft-strong: #d5edff;
  --jg-brand-line: #a4d8ff;
  --bg-primary: var(--jg-brand-primary) !important;
  --bg-primary-hover: var(--jg-brand-hover) !important;
  --bg-primary-active: var(--jg-brand-active) !important;
  --bg-primary-soft: var(--jg-brand-soft) !important;
  --bg-primary-soft-2: var(--jg-brand-soft-strong) !important;
  --bg-accent: var(--jg-brand-primary) !important;
  --bg-accent-2: #65bdff !important;
  --bg-accent-mint: var(--jg-brand-soft) !important;
  --jg-blue: var(--jg-brand-primary) !important;
  --jg-blue-600: var(--jg-brand-text) !important;
  --jg-blue-400: #65bdff !important;
  --jg-blue-200: var(--jg-brand-line) !important;
  --jg-blue-50: var(--jg-brand-soft) !important;
  --grade-a: var(--jg-brand-text) !important;
  --tier-e1: var(--jg-brand-text) !important;
}

/* Primary controls: preserve one brand fill without legacy royal-blue gradients. */
html[data-theme] body .page-content .page-root :is(.btn-primary,.jdex-btn-primary,.jdex-hero-cta-primary,.swap-primary-btn,.vf-btn-primary,.vf-btn,.bg-btn-primary,.dx-btn,.ln-btn-primary,.hero-search-go,.market-action-trade,#wallet-connect-btn,#market-search-btn,#wd-btn-connect,#pc-btn-submit,button.bg-blue-500,button.bg-blue-600,a.bg-blue-500,a.bg-blue-600,button.bg-cyan-500,a.bg-cyan-500):not(.is-warn):not(.connected):not([data-connected="true"]) {
  background: var(--jg-brand-primary) !important;
  background-image: none !important;
  color: var(--jg-brand-on-primary) !important;
  border-color: var(--jg-brand-primary) !important;
  box-shadow: 0 1px 3px rgba(2,147,254,.22) !important;
}
html[data-theme] body .page-content .page-root :is(.btn-primary,.jdex-btn-primary,.jdex-hero-cta-primary,.swap-primary-btn,.vf-btn-primary,.vf-btn,.bg-btn-primary,.dx-btn,.ln-btn-primary,.hero-search-go,.market-action-trade,#wallet-connect-btn,#market-search-btn,#wd-btn-connect,#pc-btn-submit,button.bg-blue-500,button.bg-blue-600,a.bg-blue-500,a.bg-blue-600,button.bg-cyan-500,a.bg-cyan-500):not(.is-warn):not(.connected):not([data-connected="true"]) :is(span,i,svg) {
  color: var(--jg-brand-on-primary) !important;
}
html[data-theme] body .page-content .page-root :is(.btn-primary,.jdex-btn-primary,.jdex-hero-cta-primary,.swap-primary-btn,.vf-btn-primary,.vf-btn,.bg-btn-primary,.dx-btn,.ln-btn-primary,.hero-search-go,.market-action-trade,#wallet-connect-btn,#market-search-btn,#wd-btn-connect,#pc-btn-submit,button.bg-blue-500,button.bg-blue-600,a.bg-blue-500,a.bg-blue-600,button.bg-cyan-500,a.bg-cyan-500):not(.is-warn):not(.connected):not([data-connected="true"]):not(:disabled):hover {
  background: var(--jg-brand-hover) !important;
  background-image: none !important;
}
html[data-theme] body .page-content .page-root :is(.btn-primary,.jdex-btn-primary,.jdex-hero-cta-primary,.swap-primary-btn,.vf-btn-primary,.vf-btn,.bg-btn-primary,.dx-btn,.ln-btn-primary,.hero-search-go,.market-action-trade,#wallet-connect-btn,#market-search-btn,#wd-btn-connect,#pc-btn-submit,button.bg-blue-500,button.bg-blue-600,a.bg-blue-500,a.bg-blue-600,button.bg-cyan-500,a.bg-cyan-500):not(.is-warn):not(.connected):not([data-connected="true"]):not(:disabled):active {
  background: var(--jg-brand-active) !important;
}
/* A connected wallet remains an ordinary connected state, including its green dot. */
html[data-theme] body .page-content .page-root #wallet-connect-btn:is(.connected,[data-connected="true"]) {
  background: var(--jg-brand-soft) !important;
  color: var(--jg-brand-text) !important;
  border: 1px solid var(--jg-brand-line) !important;
}
html[data-theme] body .page-content .page-root #wallet-connect-btn:is(.connected,[data-connected="true"]) :is(span,i) { color: var(--jg-brand-text) !important; }

/* Selected filters use bright blue; real network/token images retain their white wrappers. */
html[data-theme] body .page-content .page-root :is(.market-chain-chip.active,.market-subtab.active,.swap-chain-pill.active,.chain-tab.active,.tf-tab.active,.list-tab.active) {
  background: var(--jg-brand-primary) !important;
  background-image: none !important;
  border-color: var(--jg-brand-primary) !important;
  color: var(--jg-brand-on-primary) !important;
}
html[data-theme] body .page-content .page-root :is(.market-chain-chip.active,.market-subtab.active,.swap-chain-pill.active,.chain-tab.active,.tf-tab.active,.list-tab.active) :is(span,i,svg):not(.jg-icon):not(.jg-icon-fallback) { color: var(--jg-brand-on-primary) !important; }
html[data-theme] body .page-content .page-root :is(.market-chain-chip.active,.market-subtab.active,.swap-chain-pill.active):hover { background: var(--jg-brand-hover) !important; }
html[data-theme] body .page-content .page-root .market-subtab.active::after { background: var(--jg-brand-primary) !important; }
html[data-theme] body .page-content .page-root .market-subtab:not(.active) i { color: var(--jg-brand-text) !important; }
html[data-theme] body .page-content .page-root .market-network-option[aria-selected="true"] { background: var(--jg-brand-soft) !important; }
html[data-theme] body .page-content .page-root :is(.market-network-check,.market-network-all-icon) { color: var(--jg-brand-primary) !important; }
html[data-theme] body .page-content .page-root .market-network-all-icon { background: var(--jg-brand-soft) !important; }

/* Navigation: readable selected labels and the original logo blue for icons/markers. */
html[data-theme] body .page-content .page-root :is(.nav-link.active,.mobile-tab.active,.trade-tab.is-active) { background: var(--jg-brand-soft) !important; color: var(--jg-brand-text) !important; }
html[data-theme] body .page-content .page-root :is(.nav-link.active,.mobile-tab.active,.trade-tab.is-active) i { color: var(--jg-brand-primary) !important; }
html[data-theme] body .page-content .page-root .mobile-tab.active span { color: var(--jg-brand-text) !important; }
html[data-theme] body .page-content .page-root .mobile-tab.active::before,
html[data-theme] body .page-content .page-root .nav-link.active::after { background: var(--jg-brand-primary) !important; }
html[data-theme] body .page-content .page-root .trade-tab:hover { background: var(--jg-brand-soft) !important; color: var(--jg-brand-text) !important; }

/* Home/Account functional cards, links and controls; amber risk notes are excluded. */
html[data-theme] body .page-content .page-root :is(.ha-home-wallet>.ha-icon,.ha-quick-actions .ha-icon,.ha-guest-wallet>.ha-icon) { background: var(--jg-brand-primary) !important; color: var(--jg-brand-on-primary) !important; }
html[data-theme] body .page-content .page-root :is(.ha-home-wallet>.ha-icon,.ha-quick-actions .ha-icon,.ha-guest-wallet>.ha-icon) i { color: var(--jg-brand-on-primary) !important; }
/* Pale workspace cards use link blue and neutral gray, without changing filled content. */
html[data-theme] body .page-content .page-root :is(.ws-icon,.ws-arrow,.ws-inline-link,.ws-directory a>i:first-child,.ws-section-nav a) { color: var(--jg-brand-text) !important; }
html[data-theme] body .page-content .page-root :is(.ha-quick-actions strong,.ha-capability-grid>a>span,.ws-service h2,.ws-strategy>span,.radar-entry-title,.launch-mode strong,.news-discovery-links strong) { color: var(--jg-brand-body) !important; }
html[data-theme] body .page-content .page-root .td-page button:is([aria-pressed="true"],[aria-selected="true"]) { background: var(--jg-brand-primary) !important; color: var(--jg-brand-on-primary) !important; }
html[data-theme] body .page-content .page-root .td-page button:is([aria-pressed="true"],[aria-selected="true"]) :is(span,i,svg):not(.jg-icon):not(.jg-icon-fallback) { color: var(--jg-brand-on-primary) !important; }
html[data-theme] body .page-content .page-root :is(.ha-eyebrow,.ha-section-heading>a,.ha-about a,.swap-slippage-edit,.mkt-card-detect,.market-action-detect,.btn-secondary,.jdex-btn-secondary,.vf-btn-secondary,.bg-btn-secondary) { color: var(--jg-brand-text) !important; }
html[data-theme] body .page-content .page-root :is(.ha-capability-grid i,.ha-setting-row>span>i,.ha-setting-detail>summary>span>i):not(.fa-triangle-exclamation) { color: var(--jg-brand-primary) !important; }
html[data-theme] body .page-content .page-root :is(.ha-market-overview,.ha-capability-grid>a,.ha-wallet-badges .badge,.swap-token-btn,.dx-chip[data-active="1"]) { background: var(--jg-brand-soft) !important; border-color: var(--jg-brand-line) !important; }
html[data-theme] body .page-content .page-root :is(.ha-wallet-badges .badge,.dx-chip[data-active="1"]) { color: var(--jg-brand-text) !important; }
html[data-theme] body .page-content .page-root :is(button,input,select,textarea,a):focus-visible { outline-color: var(--jg-brand-text) !important; }
::selection { background: var(--jg-brand-soft-strong); color: var(--jg-brand-ink); }
/* Semantic notices take precedence over generic green/blue utility remapping. */
html[data-theme] body .toast > i { color: var(--toast-accent) !important; }
html[data-theme] body .toast > div { color: var(--toast-text) !important; }
/* Network shortcuts are neutral logo controls, including their selected state. */
html[data-theme] body .page-content .page-root #market-chain-filter .market-chain-chip,
html[data-theme] body .page-content .page-root #market-chain-filter .market-chain-chip:hover,
html[data-theme] body .page-content .page-root #market-chain-filter .market-chain-chip.active {
  background:#fff !important;background-image:none !important;color:var(--jg-brand-body) !important;border-color:#dce5ed !important;box-shadow:none !important;
}
html[data-theme] body .page-content .page-root #market-chain-filter .market-chain-chip.active { border-color:#94a3b8 !important; }
html[data-theme] body .page-content .page-root #market-chain-filter .market-chain-chip :is(span,i,svg):not(.jg-icon-fallback) { color:var(--jg-brand-body) !important; }
