/* Shared HF format across Portfolio, Earn, Borrow and simulated positions. */
@layer dashboard-health-factor {
  [data-hf-value] { display:inline-flex!important; align-items:center!important; justify-content:center!important; gap:6px!important; min-width:98px!important; width:max-content!important; height:28px!important; padding:0 10px!important; border:1px solid color-mix(in srgb,currentColor 16%,transparent)!important; border-radius:6px!important; background:color-mix(in srgb,currentColor 8%,transparent)!important; font:500 14px/normal Saans,Arial,sans-serif!important; font-variant-numeric:tabular-nums!important; letter-spacing:0!important; white-space:nowrap!important; box-shadow:none!important; cursor:default!important }
  [data-hf-value] .dashboard-hf-dot { display:block!important; flex:0 0 4px!important; width:4px!important; height:4px!important; margin:0!important; padding:0!important; border:0!important; border-radius:50%!important; background:currentColor!important; box-shadow:none!important; animation:none!important }
  [data-hf-value] .dashboard-hf-value { min-width:5ch!important; font:inherit!important; font-variant-numeric:tabular-nums!important; letter-spacing:0!important; text-align:right!important }
  [data-hf-value=""] .dashboard-hf-dot { visibility:hidden!important }
}
/* A single address/control contract for both token tabs, including legacy oDOLO markup. */
body :is(.section .wallet-address, .section .flow-half .wallet-address, .odolo-content .wallet-address-actions) {
  display:flex;align-items:center;flex-wrap:nowrap;gap:3px;min-height:18px;
}
body .section .wallet-address>.address-text,
body .odolo-content .wallet-address-actions>.wallet-address { margin-right:4px; }
body .odolo-content .wallet-address-actions>.wallet-address { display:inline-flex;align-items:center;height:18px; }
body :is(.section .address-text, .odolo-content .odolo-address-link) {
  display:inline-flex;align-items:center;flex:none;height:18px;margin:0;
  font:400 14px/14px Saans,Arial,sans-serif;letter-spacing:.21px;
  font-variant-numeric:normal;font-variant-ligatures:none;font-feature-settings:normal;
  color:var(--muted);text-decoration:none;border-radius:3px;
}
body :is(.section .address-text, .odolo-content .odolo-address-link):hover {
  color:var(--text);background:rgba(139,133,173,.16);outline:none;
  text-decoration:underline;text-decoration-color:rgba(255,255,255,.58);text-underline-offset:3px;
}
body :is(.section .wallet-address, .odolo-content .wallet-address-actions) :is(button,a:not(.address-text):not(.odolo-address-link)) {
  display:inline-flex;align-items:center;justify-content:center;flex:none;
  width:18px;height:18px;padding:0;margin:0;border:0;border-radius:5px;
  background:transparent!important;color:var(--muted);cursor:pointer;
}
body :is(.section .wallet-address, .odolo-content .wallet-address-actions) :is(button.copy-address,button.addr-copy,a.debank-link,a.addr-debank):is(:hover,:focus-visible) { color:var(--text);background:transparent!important; }
body :is(.copy-address,.addr-copy) svg { width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.4; }
body :is(.section .wallet-address,.odolo-content .wallet-address-actions) img { width:14px;height:14px;opacity:.8; }
body :is(.debank-link,.addr-debank):is(:hover,:focus-visible) img { opacity:1;filter:brightness(1.25); }
body :is(.section .address-text,.odolo-content .odolo-address-link).address-match {
  color:#e0d5ff;background:rgba(182,162,255,.14);box-shadow:0 0 0 1px rgba(182,162,255,.45);text-decoration:none;
}
body :is(.section .address-text,.odolo-content .odolo-address-link).address-match:is(:hover,:focus-visible) {
  color:#fff;background:rgba(182,162,255,.24);box-shadow:0 0 0 1px var(--accent);text-decoration:none;
}
.holder-drilldown-table .holder-balance-includes { display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:max-content;max-width:100%;margin:7px 0 0 auto;text-align:left; }
.holder-drilldown-table .holder-balance-parts { display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding-left:8px;border-left:1px solid var(--border); }
.holder-drilldown-table .holder-balance-parts .exposure-note { font-size:12px;line-height:18px;white-space:nowrap; }
/* Shared, baseline-aligned hero metric: value + short secondary caption. */
.hero .price-change { display:inline-flex;align-items:baseline;justify-content:center;gap:7px;flex:none;min-height:28px;padding:4px 10px;border-radius:8px;background:rgba(139,133,173,.12);font:500 14px/20px Saans,Arial,sans-serif;letter-spacing:.1px;white-space:nowrap; }
.hero .price-change>span { font:inherit;color:inherit;line-height:inherit; }
.hero .price-change small { margin:0;color:var(--muted);font:400 12px/20px Saans,Arial,sans-serif;letter-spacing:.1px; }
/* Shared pagination: the user-approved official History interaction. */
body .page-preview.dashboard-pagination{box-sizing:border-box;display:flex!important;align-items:center!important;justify-content:center!important;width:fit-content!important;max-width:min(360px,100%)!important;min-width:0;min-height:36px;margin-inline:auto!important;padding:4px 8px!important;gap:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
body .page-preview.dashboard-pagination[hidden],body .dashboard-pagination[data-pagination-empty]{display:none!important}
body .dashboard-pagination .page-controls{box-sizing:border-box;display:flex;align-items:center;flex-shrink:0;height:28px;gap:4px;padding:0 8px;border:0}
body .dashboard-pagination[data-overflowing="true"] .page-controls-left{border-right:1px solid #201b3d}
body .dashboard-pagination[data-overflowing="true"] .page-controls-right{border-left:1px solid #201b3d}
body .dashboard-pagination .dashboard-page-area{position:relative;flex:1 1 0;min-width:0}
body .page-preview.dashboard-pagination .page-strip{min-width:0;max-width:none;position:static;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;mask-image:none}
body .dashboard-pagination .page-strip::-webkit-scrollbar{display:none}
body .page-preview.dashboard-pagination .page-track{display:block;position:relative;height:28px;margin:0 auto;padding:0;gap:0}
body .dashboard-pagination .page-circle{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:none;height:28px;min-width:28px;width:auto;margin:0;padding:0 8px;border:0;border-radius:9999px;background:#201b3d;color:#8b85ad;font:500 12px/normal Saans,Arial,sans-serif;letter-spacing:.36px;box-shadow:none;cursor:pointer;transition:background-color 120ms,color 120ms}
body .dashboard-pagination .page-track .page-circle{position:absolute;top:0;width:28px;padding:0}
body .dashboard-pagination .page-circle:hover:not(:disabled):not([aria-current="page"]){background:#342e5a;color:#8b85ad}
body .dashboard-pagination .page-circle[aria-current="page"]{background:#fff;color:#05001f;cursor:default}
body .dashboard-pagination .page-circle:disabled{visibility:hidden;pointer-events:none}
body .dashboard-pagination .page-circle:focus-visible{outline:1px solid white;outline-offset:-1px}
body .dashboard-pagination .page-circle:is(.page-previous,.page-next){width:28px;padding:0}
body .page-preview.dashboard-pagination .page-circle svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body .dashboard-pagination .dashboard-page-fade{position:absolute;top:0;bottom:0;width:40px;pointer-events:none;opacity:0;transition:opacity .15s ease}
body .dashboard-pagination .dashboard-page-fade-left{left:0;background:linear-gradient(90deg,#05001f 0%,rgba(5,0,31,0) 100%)}
body .dashboard-pagination .dashboard-page-fade-right{right:0;background:linear-gradient(270deg,#05001f 0%,rgba(5,0,31,0) 100%)}
body .dashboard-pagination[data-fade-left="true"] .dashboard-page-fade-left,body .dashboard-pagination[data-fade-right="true"] .dashboard-page-fade-right{opacity:1}
@media(max-width:600px){body .page-preview.dashboard-pagination{width:100%!important;max-width:none!important}}
@media(prefers-reduced-motion:reduce){body .dashboard-pagination .page-circle,body .dashboard-pagination .dashboard-page-fade{transition:none}}
body .odolo-content .wallet-address { margin:0;min-height:18px; }
body .odolo-content .wallet-identity-cell { display:flex;flex-direction:column;gap:6px;min-width:0; }
body .odolo-content .wallet-primary-line { display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:wrap; }
body .odolo-content .wallet-primary { font:500 14px/14px Saans,Arial,sans-serif!important;white-space:normal;overflow-wrap:anywhere; }
body .odolo-content .wallet-secondary { margin:0;padding:0;line-height:18px!important; }
body .odolo-content .wallet-address-actions { max-width:100%; }
body :is(.expand-search,.search) { color:var(--text); }
body .odolo-content .search .search-trigger svg { color:inherit!important; }
body .odolo-content .search .search-trigger { color:var(--secondary)!important; }
body .odolo-content .search .search-trigger:hover { color:var(--text)!important; }
body .odolo-content .search { transition:width var(--motion) ease,background-color var(--motion) ease,border-color var(--motion) ease; }
body .odolo-content :is(.tbl-foot,.flow-foot) { display:flex;justify-content:center;padding:18px 0;min-height:64px; }
body .odolo-content .pager { gap:0; }
body .odolo-content .tbl-foot:has(.pager[hidden]),body .odolo-content .flow-foot:has(.pager[hidden]) { display:none; }
body .odolo-content :is(.flows-net.up,.flow-val.up) { color:var(--positive); }
body .odolo-content :is(.flows-net.down,.flow-val.down) { color:var(--negative); }
.metric-tooltip.exposure-floating-tip.is-address { width:max-content;max-width:calc(100vw - 24px); }
.metric-tooltip.exposure-floating-tip { white-space:pre-line; }
:is(.updated,.card-meta,.donut-meta)[data-exposure-tip] { cursor:default; }
:is(.updated,.card-meta,.donut-meta)[data-exposure-tip]:focus-visible { outline:1px solid var(--accent);outline-offset:4px;border-radius:3px; }
.odolo-page .bal-val,.odolo-page .lock-val { color:var(--text)!important; }
.odolo-page .bal-val.price { color:var(--blue)!important; }
.odolo-page .latest-tx { color:var(--muted); }
.odolo-page .ex-detail-lock { color:var(--secondary)!important;border-color:var(--border)!important;background:var(--control)!important; }
/* Explicit budgets include label + sort icon + padding, rather than shrinking Address to zero. */
.odolo-page #tbl-cb { min-width:940px; }
.odolo-page #tbl-ex { min-width:1080px; }
.odolo-page #tbl-latest-ex { min-width:940px; }
.odolo-page #tbl-latest-pair { min-width:820px; }
.odolo-page .flows-col { min-width:0; }
.odolo-page .flows-wrap { overflow-x:auto; }
.odolo-page :is(.tbl-wrap,.flows-wrap) { scrollbar-width:thin;scrollbar-color:#3d315a transparent; }
.odolo-page :is(.tbl,.flows-tbl)>thead>tr>th { position:static;height:44px;padding:12px;line-height:normal!important;text-align:right; }
.odolo-page :is(.tbl,.flows-tbl)>tbody>tr:not(.ex-detail-row)>td { height:67px;padding:12px;line-height:normal!important; }
.odolo-page :is(#tbl-cb,#tbl-ex)>:is(thead,tbody)>tr:not(.ex-detail-row)>:is(th,td):first-child,
.odolo-page .flows-tbl :is(th,td):first-child { padding-inline:6px!important;text-align:center!important;color:var(--muted); }
.odolo-page :is(.tbl,.flows-tbl)>:is(thead,tbody)>tr>:is(th,td):nth-child(2),
.odolo-page .latest-ex-tbl>:is(thead,tbody)>tr>:is(th,td):first-child { text-align:left; }
.odolo-page #tbl-ex>:is(thead,tbody)>tr:not(.ex-detail-row)>:is(th,td):last-child { text-align:center; }
.odolo-page .flows-tbl :is(th,td):nth-child(n+3) { text-align:right!important; }
.odolo-page :is(.bal-val,.flows-net,.lock-val) { font:500 14px/20px Saans,Arial,sans-serif!important;letter-spacing:.21px; }
.odolo-page .type-tag { background:#1b1431!important;border:1px solid #39304f!important;color:#aba0cd!important; }
.odolo-page :is(.tbl,.flows-tbl)>tbody>tr:hover>td,.odolo-page #tbl-ex>tbody>tr.ex-row-open>td { background:rgba(139,133,173,.16)!important; }
.odolo-page :is(.tbl,.flows-tbl)>tbody>tr:not(.ex-detail-row)>td { border-bottom-color:#1e1738; }
.odolo-page :is(.tbl,.flows-tbl)>tbody>tr:last-child>td { border-bottom:0; }
.odolo-page #tbl-ex>tbody>tr.ex-row-open>td { border-bottom-color:#1e1738; }
.odolo-page #tbl-ex .ex-row-open .ex-toggle { box-shadow:none; }
/* Flows uses the same open surface and row geometry as the DOLO panels. */
.odolo-page .flows-tbl { line-height:1.45;font-variant-numeric:normal; }
.odolo-page .flows-tbl>tbody>tr:not(.ex-detail-row)>td { height:64px; }
.odolo-page .flows-tbl>thead>tr>th:first-child,.odolo-page .flows-tbl>tbody>tr>td:first-child { padding-left:12px!important; }
.odolo-page .flows-tbl>tbody>tr:hover>td:first-child { border-radius:8px 0 0 8px; }
.odolo-page .flows-tbl>tbody>tr:hover>td:last-child { border-radius:0 8px 8px 0; }
.odolo-page .flows-tbl .type-tag { display:none; }
.odolo-page .flows-tbl .sort-header-button { justify-content:flex-end;gap:3px;max-width:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;vertical-align:middle;cursor:pointer; }
.odolo-page .flows-tbl .sort-header-button:focus-visible { outline:1px solid var(--accent);outline-offset:3px;border-radius:3px; }
.odolo-page .flows-tbl .wallet-sort-content { font:inherit;letter-spacing:inherit;line-height:inherit; }
.odolo-page :is(.tbl,.flows-tbl) th .sort:empty { display:none; }
.odolo-page .lock-bar { display:none; }
.odolo-page .latest-date-top { gap:6px; }
/* Keep the same horizontal table model as DOLO on mobile; scroll only the table. */
@media(max-width:760px) {
  .odolo-page .latest-ex-tbl { display:table; }
  .odolo-page .latest-ex-tbl thead { display:table-header-group; }
  .odolo-page .latest-ex-tbl tbody { display:table-row-group; }
  .odolo-page .latest-ex-tbl tr { display:table-row;margin:0;padding:0;border:0;border-radius:0;background:none; }
  .odolo-page .latest-ex-tbl td,.odolo-page .latest-ex-tbl td[data-label="Address"],.odolo-page .latest-ex-tbl td[data-label="Wallet"] { display:table-cell;padding:12px!important;white-space:nowrap;border-bottom:1px solid var(--border)!important; }
  .odolo-page .latest-ex-tbl .latest-date { align-items:flex-start; }
}

/* A period label must fit 180D without shrinking or ellipsis in any token tab. */
body .period-trigger,body .odolo-content .toolbar .dd[id$="-period"] .dd-btn { flex:0 0 auto;min-width:76px!important;width:auto!important;gap:10px;justify-content:space-between; }
body .period-trigger>span,body .odolo-content .toolbar .dd[id$="-period"] .dd-btn .lbl { flex:0 0 auto;min-width:4ch;overflow:visible;text-overflow:clip;white-space:nowrap; }
body .period-trigger>svg,body .odolo-content .toolbar .dd[id$="-period"] .dd-btn .chev { flex:none; }

/* The Portfolio APR reference is the shared skin for every tooltip engine. */
:root {
  --dolo-tip-background:rgba(139,133,173,.16);
  --dolo-tip-border:rgba(139,133,173,.22);
  --dolo-tip-radius:12px;
  --dolo-tip-padding:16px 20px;
  --dolo-tip-shadow:0 8px 24px rgba(5,0,31,.6);
  --dolo-tip-blur:6px;
  --dolo-tip-font:400 14px/18px Saans,Arial,sans-serif;
  --dolo-tip-text:#fff;
  --dolo-tip-accent:#37ffcc;
}
body :is(.metric-tooltip,.chart-tooltip,.locked-chart-tip,.expiry-tip,.duration-tooltip,.donut-tooltip,.disc-tooltip,.disc3-tooltip,.tbl-help-tooltip,.tooltip-bubble,#unified-tooltip,#float-tip,[role="tooltip"]),
body:is(.vedolo-page,.odolo-page,.portfolio-page) :is(.metric-tooltip,.chart-tooltip,.locked-chart-tip,.expiry-tip,.duration-tooltip,.donut-tooltip,.disc-tooltip,.disc3-tooltip,.tbl-help-tooltip,.tooltip-bubble,#unified-tooltip,#float-tip,[role="tooltip"]) {
  box-sizing:border-box;
  max-width:min(420px,calc(100vw - 24px));
  padding:var(--dolo-tip-padding);
  background:var(--dolo-tip-background);
  border:1px solid var(--dolo-tip-border);
  border-radius:var(--dolo-tip-radius);
  box-shadow:var(--dolo-tip-shadow);
  backdrop-filter:blur(var(--dolo-tip-blur));
  -webkit-backdrop-filter:blur(var(--dolo-tip-blur));
  color:var(--dolo-tip-text);
  font:var(--dolo-tip-font);
  white-space:normal;
  overflow-wrap:anywhere;
}
body :is(.metric-tooltip,.chart-tooltip,.locked-chart-tip,.expiry-tip,.duration-tooltip,.donut-tooltip,.disc-tooltip,.disc3-tooltip,.tbl-help-tooltip,#unified-tooltip,#float-tip):not(.pf-apr-tip) :is(.tt-date,.tt-label,.det,.row,.tt-row,.tt-h,.ttl,strong,b,small) {
  font-family:inherit;font-size:inherit;line-height:inherit;
  color:inherit;letter-spacing:normal;text-transform:none;
}
body .chart-tooltip em,body.vedolo-page :is(#lockedChartTip,#expiryChartTip) .tt-total {color:var(--dolo-tip-accent);font-size:14px;line-height:18px}
body #exposure-note-tooltip:not(.pf-apr-tip),body #unified-tooltip {white-space:pre-line}
body #unified-tooltip.is-mono {white-space:normal;overflow-wrap:anywhere}
body #unified-tooltip-arrow {display:none!important}
body :is([data-tooltip],[data-tip],[data-exposure-tip],.addr-tooltip-wrap):not(a):not(button):not(input) {cursor:default}
@media(max-width:760px) {
  /* Anchor the inline explanation to the full heading, not its narrow caption. */
  body .section-heading:has(#total-exposure-tooltip) {position:relative}
  body .section-heading .exposure:has(#total-exposure-tooltip) {position:static}
  body #total-exposure-tooltip {left:auto;right:0;max-width:calc(100vw - 36px)}
}

/* Inline flex baselines change when the active sort icon appears. Anchor the box. */
th :is(.sort-header-button,.pf-sort-button,.sort-control,.detail-sort-control,.th-content,.wallet-sort-content) {vertical-align:middle}
