/* Shared token/network/ecosystem geometry. Logos keep the source colors and aspect ratio. */
.jg-icon{display:inline-flex!important;position:relative;flex:0 0 var(--jg-icon-size,28px);align-items:center;justify-content:center;box-sizing:border-box;vertical-align:middle;overflow:hidden;background:#fff;color:#475569;border:1px solid #e6eaf0;line-height:1;isolation:isolate}
.jg-icon--token{border-radius:50%}
.jg-icon--network{border-radius:28%}
.jg-icon--ecosystem{border-radius:22%;border-color:transparent}
.jg-icon.jg-icon>img{display:block;width:100%!important;height:100%!important;min-width:0;max-width:100%;object-fit:contain!important;object-position:center;padding:7%;box-sizing:border-box;border-radius:0;filter:none;transform:none}
.jg-icon-fallback{font-family:system-ui,sans-serif;font-size:calc(var(--jg-icon-size,28px)*.42);font-weight:700;line-height:1;letter-spacing:0;max-width:100%;white-space:nowrap}
.jg-icon-fallback[hidden]{display:none!important}
.jg-icon--network .jg-icon-fallback{font-size:calc(var(--jg-icon-size,20px)*.25)}
.jg-icon--ecosystem .jg-icon-fallback{font-size:calc(var(--jg-icon-size,24px)*.32)}
.jg-icon[data-icon-state="fallback"]{background:#eef2f7;border:1px dashed #cbd5e1}
/* A token and its network share one compact footprint; neither logo is redrawn. */
.jg-token-with-network{position:relative;display:inline-flex;flex:0 0 var(--jg-token-size,40px);align-items:center;justify-content:center;box-sizing:border-box;vertical-align:middle;overflow:visible;line-height:1;isolation:isolate}
.jg-token-with-network>.jg-token-with-network__badge{position:absolute;right:-1px;bottom:-1px;z-index:1;border:2px solid #fff;border-radius:50%;background:#fff;box-shadow:0 0 0 1px #e6eaf0}
.jg-token-with-network>.jg-token-with-network__badge[data-icon-state="fallback"]{background:#eef2f7}
/* Legacy containers must not paint a second colored badge behind a real asset. */
.chain-icon:has(>.jg-icon){background:transparent!important;border:0!important;padding:0!important}
.swap-token-icon:has(>.jg-icon){width:28px!important;height:28px!important;background:transparent!important;border:0!important;overflow:visible;flex-shrink:0}
.swap-token-list-icon:has(>.jg-icon){width:36px!important;height:36px!important;background:transparent!important;border:0!important;flex-shrink:0}
.dx-hist-row .chain:has(>.jg-icon){display:inline-flex;align-items:center;gap:4px}
