/* Dashboard presentation only. Position and wallet reads remain in stoxcredit-dashboard.js. */
/* The same half-light/half-dark icon replaces mode text on every page. */
body.app-mode #themeToggle {
  position: relative; display: grid; place-items: center;
  width: 34px; min-width: 34px; height: 34px; min-height: 34px;
  padding: 0; border: 1px solid var(--line); border-radius: 8px;
  background: var(--p); color: var(--ink); font-size: 0; cursor: pointer;
}
body.app-mode #themeToggle::before {
  content: ""; display: block; width: 15px; height: 15px;
  border: 1px solid #17251f; border-radius: 50%; background: #fff;
}
body.app-mode #themeToggle::after {
  content: ""; position: absolute; top: calc(50% - 6.5px); left: calc(50% - 6.5px);
  width: 6.5px; height: 13px; border-radius: 7px 0 0 7px; background: #17251f;
}
html[data-theme="dark"] body.app-mode #themeToggle { border-color: var(--line); background: var(--p); }
body.app-mode #themeToggle:focus-visible { outline: 2px solid var(--lime); outline-offset: 2px; }
html[data-site-route="home"] body.app-mode .site-nav [data-route="dashboard"],
html[data-site-route="home"] body.app-mode .footer-navigation a[href="#/dashboard"] { display: none; }

html[data-site-route="dashboard"] {
  --dash-bg: var(--bg);
  --dash-surface: var(--p);
  --dash-border: var(--line);
  --dash-text: var(--ink);
  --dash-muted: var(--muted);
  --dash-accent: var(--lime);
  --dash-success: #287650;
  --dash-warning: #9a5a07;
  --dash-danger: #b13b38;
}
html[data-site-route="dashboard"][data-theme="dark"] {
  --dash-success: #93d6ac;
  --dash-warning: #edba74;
  --dash-danger: #f29a96;
}
html[data-site-route="dashboard"] body.app-mode { background: var(--dash-bg); color: var(--dash-text); }
html[data-site-route="dashboard"] body.app-mode .dashboard-shell {
  max-width: 1440px;
  margin: 0 auto;
  padding: 32px 32px 64px;
  color: var(--dash-text);
  font: 14px/1.45 Inter, Arial, sans-serif;
  font-variant-numeric: tabular-nums;
}
html[data-site-route="dashboard"] body.app-mode .dashboard-shell *,
html[data-site-route="dashboard"] body.app-mode .dashboard-shell *::before,
html[data-site-route="dashboard"] body.app-mode .dashboard-shell *::after { box-sizing: border-box; }
html[data-site-route="dashboard"] body.app-mode .dashboard-heading { align-items: center; margin-bottom: 8px; }
html[data-site-route="dashboard"] body.app-mode .dashboard-heading h1 {
  margin: 0;
  color: var(--dash-text);
  font: 600 20px/1.3 Inter, Arial, sans-serif;
  letter-spacing: -.025em;
}
html[data-site-route="dashboard"] body.app-mode .dashboard-heading p:last-child {
  margin: 4px 0 0;
  color: var(--dash-muted);
  font: 13px/1.5 Inter, Arial, sans-serif;
}
html[data-site-route="dashboard"] body.app-mode .dashboard-wallet { display: none; }
html[data-site-route="dashboard"] body.app-mode .dashboard-status { margin: 0 0 24px; color: var(--dash-muted); font-size: 12px; }
html[data-site-route="dashboard"] body.app-mode #dashboardRefresh {
  display: grid; place-items: center; width: 36px; height: 36px; min-height: 36px;
  padding: 0; border: 1px solid var(--dash-border); border-radius: 8px;
  background: transparent; color: var(--dash-text); font-size: 22px; line-height: 1;
}
html[data-site-route="dashboard"] body.app-mode #dashboardRefresh:not(:disabled):hover { background: var(--dash-surface); border-color: var(--dash-accent); }
html[data-site-route="dashboard"] body.app-mode #dashboardRefresh.is-loading span { animation: dashboard-spin .8s linear infinite; }
html[data-site-route="dashboard"] body.app-mode #dashboardDisconnect:not([hidden]) {
  display: inline-flex; align-items: center; min-height: 36px; padding: 0 12px;
  border: 1px solid var(--dash-border); border-radius: 8px;
  background: transparent; color: var(--dash-text);
  font: 600 12px Inter, Arial, sans-serif; white-space: nowrap;
}
html[data-site-route="dashboard"] body.app-mode #dashboardDisconnect:not([hidden]):hover {
  border-color: var(--dash-danger); color: var(--dash-danger); background: transparent;
}
body.app-mode #dashboardDisconnect[hidden] { display: none !important; }
@keyframes dashboard-spin { to { transform: rotate(360deg); } }

/* Connected wallet address opens Dashboard; copy and disconnect remain available there. */
html[data-site-route="dashboard"] body.app-mode .header-actions { display: flex; align-items: center; gap: 8px; }
html[data-site-route="dashboard"] body.app-mode .header-actions .theme-toggle { order: 0; }
html[data-site-route="dashboard"] body.app-mode .header-actions .network-badge { order: 1; }
html[data-site-route="dashboard"] body.app-mode .header-actions .wallet-control { order: 2; }
html[data-site-route="dashboard"] body.app-mode .network-badge {
  display: inline-flex; align-items: center; min-height: 34px; padding: 0 10px;
  border: 1px solid var(--dash-border); border-radius: 8px; background: var(--dash-surface);
  color: var(--dash-muted); font: 500 12px Inter, Arial, sans-serif; white-space: nowrap;
}
html[data-site-route="dashboard"] body.app-mode #themeToggle {
  display: grid; place-items: center; width: 34px; min-width: 34px; height: 34px; min-height: 34px;
  padding: 0; border: 1px solid var(--dash-border); border-radius: 8px;
  background: var(--dash-surface); color: var(--dash-text); font-size: 0;
}
html[data-site-route="dashboard"] body.app-mode #walletControl { display: inline-flex; align-items: center; position: relative; }
html[data-site-route="dashboard"] body.app-mode #walletControl .wallet {
  min-height: 34px; padding: 0 12px; border: 1px solid var(--dash-border);
  border-radius: 8px; background: var(--dash-surface); color: var(--dash-text);
  font: 600 12px Inter, Arial, sans-serif; white-space: nowrap;
}
html[data-site-route="dashboard"] body.app-mode #walletControl.is-connected .wallet {
  border-radius: 8px 0 0 8px; cursor: pointer;
}
html[data-site-route="dashboard"] body.app-mode #walletControl.is-connected .wallet::before {
  content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 8px;
  border-radius: 50%; background: var(--dash-success); vertical-align: 1px;
}
html[data-site-route="dashboard"] body.app-mode #walletMenuToggle:not([hidden]) {
  display: grid; place-items: center; width: 28px; height: 34px; padding: 0;
  border: 1px solid var(--dash-border); border-left: 0; border-radius: 0 8px 8px 0;
  background: var(--dash-surface); color: var(--dash-text); font-size: 18px; cursor: pointer;
}
html[data-site-route="dashboard"] body.app-mode #walletMenuToggle[hidden] { display: none; }
html[data-site-route="dashboard"] body.app-mode #walletMenu { z-index: 30; }

html[data-site-route="dashboard"] body.app-mode .dashboard-connect {
  max-width: 520px; margin: 32px 0 24px; padding: 24px;
  border: 1px solid var(--dash-border); border-radius: 12px;
  background: var(--dash-surface);
}
html[data-site-route="dashboard"] body.app-mode .dashboard-connect h2 { color: var(--dash-text); font: 600 18px Inter, Arial, sans-serif; }
html[data-site-route="dashboard"] body.app-mode .dashboard-connect p { color: var(--dash-muted); font-size: 14px; }
html[data-site-route="dashboard"] body.app-mode .dashboard-connect button,
html[data-site-route="dashboard"] body.app-mode .dashboard-button-primary {
  display: inline-flex; align-items: center; justify-content: center; min-height: 36px;
  padding: 0 14px; border: 1px solid var(--dash-accent); border-radius: 8px;
  background: var(--dash-accent); color: #fff; font: 600 13px Inter, Arial, sans-serif;
  text-decoration: none; cursor: pointer;
}
html[data-site-route="dashboard"][data-theme="dark"] body.app-mode .dashboard-connect button,
html[data-site-route="dashboard"][data-theme="dark"] body.app-mode .dashboard-button-primary { color: #14171a; }
html[data-site-route="dashboard"] body.app-mode .dashboard-button-secondary {
  display: inline-flex; align-items: center; justify-content: center; min-height: 34px;
  padding: 0 12px; border: 1px solid var(--dash-border); border-radius: 8px;
  background: var(--dash-surface); color: var(--dash-text); font: 600 12px Inter, Arial, sans-serif;
  cursor: pointer;
}
html[data-site-route="dashboard"] body.app-mode .dashboard-summary {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px;
  padding: 0; background: transparent; border-radius: 0;
}
html[data-site-route="dashboard"] body.app-mode .dashboard-summary-card {
  display: flex; flex-direction: column; min-height: 133px; padding: 18px;
  border: 1px solid var(--dash-border); border-radius: 12px; background: var(--dash-surface);
}
html[data-site-route="dashboard"] body.app-mode .dashboard-summary-card > span {
  display: block; color: var(--dash-muted); font: 500 12px/1.4 Inter, Arial, sans-serif;
}
html[data-site-route="dashboard"] body.app-mode .dashboard-summary-card strong {
  display: block; overflow: hidden; margin: 12px 0 0; color: var(--dash-text);
  font: 600 28px/1.15 Inter, Arial, sans-serif; font-variant-numeric: tabular-nums;
  letter-spacing: -.035em; text-overflow: ellipsis; white-space: nowrap;
}
html[data-site-route="dashboard"] body.app-mode .dashboard-summary-card small {
  display: block; margin-top: auto; padding-top: 8px; color: var(--dash-muted);
  font: 12px/1.35 Inter, Arial, sans-serif;
}
html[data-site-route="dashboard"] body.app-mode #dashboardHealth[data-tone="success"],
html[data-site-route="dashboard"] body.app-mode [data-tone="success"] { color: var(--dash-success); }
html[data-site-route="dashboard"] body.app-mode #dashboardHealth[data-tone="warning"],
html[data-site-route="dashboard"] body.app-mode [data-tone="warning"] { color: var(--dash-warning); }
html[data-site-route="dashboard"] body.app-mode #dashboardHealth[data-tone="danger"],
html[data-site-route="dashboard"] body.app-mode [data-tone="danger"] { color: var(--dash-danger); }
html[data-site-route="dashboard"] body.app-mode .dashboard-help { font-size: 13px; cursor: help; }
html[data-site-route="dashboard"] body.app-mode .dashboard-data-warning {
  margin: 16px 0 0; padding: 12px 14px; border: 1px solid var(--dash-border);
  border-left: 3px solid var(--dash-warning); border-radius: 8px; background: var(--dash-surface);
  color: var(--dash-text); font-size: 13px;
}

html[data-site-route="dashboard"] body.app-mode .dashboard-positions,
html[data-site-route="dashboard"] body.app-mode .dashboard-balances { margin-top: 40px; }
html[data-site-route="dashboard"] body.app-mode .dashboard-section-heading { align-items: flex-end; margin-bottom: 16px; }
html[data-site-route="dashboard"] body.app-mode .dashboard-section-heading h2 {
  margin: 0; color: var(--dash-text); font: 600 16px/1.4 Inter, Arial, sans-serif; letter-spacing: -.015em;
}
html[data-site-route="dashboard"] body.app-mode .dashboard-section-note {
  min-height: 0; margin: 4px 0 0; color: var(--dash-muted); font-size: 12px; line-height: 1.5;
}
html[data-site-route="dashboard"] body.app-mode .dashboard-toggle {
  display: inline-flex; align-items: center; gap: 7px; color: var(--dash-muted);
  font: 12px Inter, Arial, sans-serif; white-space: nowrap; cursor: pointer;
}
html[data-site-route="dashboard"] body.app-mode .dashboard-toggle input { width: 15px; height: 15px; margin: 0; accent-color: var(--dash-accent); }
html[data-site-route="dashboard"] body.app-mode .dashboard-table-wrap {
  overflow: hidden; border: 1px solid var(--dash-border); border-radius: 12px; background: var(--dash-surface);
}
html[data-site-route="dashboard"] body.app-mode .dashboard-table { width: 100%; border-collapse: collapse; table-layout: auto; }
html[data-site-route="dashboard"] body.app-mode .dashboard-table th {
  padding: 12px 13px; border-bottom: 1px solid var(--dash-border);
  color: var(--dash-muted); font: 500 12px Inter, Arial, sans-serif; text-align: right; white-space: nowrap;
}
html[data-site-route="dashboard"] body.app-mode .dashboard-table th:first-child { text-align: left; padding-left: 18px; }
html[data-site-route="dashboard"] body.app-mode .dashboard-table th:last-child { width: 205px; }
html[data-site-route="dashboard"] body.app-mode .dashboard-table td {
  padding: 15px 13px; border-bottom: 1px solid var(--dash-border); color: var(--dash-text);
  font: 13px/1.4 Inter, Arial, sans-serif; vertical-align: middle;
}
html[data-site-route="dashboard"] body.app-mode .dashboard-table tbody tr:last-child td { border-bottom: 0; }
html[data-site-route="dashboard"] body.app-mode .dashboard-table tbody tr:not(.dashboard-skeleton-row):hover { background: color-mix(in srgb, var(--dash-accent) 5%, var(--dash-surface)); }
html[data-site-route="dashboard"] body.app-mode .dashboard-table td.dashboard-numeric,
html[data-site-route="dashboard"] body.app-mode .dashboard-table td.dashboard-ltv-cell { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
html[data-site-route="dashboard"] body.app-mode .dashboard-table td.dashboard-market-cell { padding-left: 18px; }
html[data-site-route="dashboard"] body.app-mode .dashboard-asset-logo { border-color: var(--dash-border); border-radius: 8px; }
html[data-site-route="dashboard"] body.app-mode .dashboard-asset-copy strong { color: var(--dash-text); font-size: 13px; }
html[data-site-route="dashboard"] body.app-mode .dashboard-asset-copy small { color: var(--dash-muted); font-size: 12px; }
html[data-site-route="dashboard"] body.app-mode .dashboard-apy-secondary { display: block; color: var(--dash-muted); font-size: 12px; }
html[data-site-route="dashboard"] body.app-mode .dashboard-ltv-track {
  display: block; width: 100%; max-width: 102px; height: 4px; margin: 6px 0 0 auto;
  overflow: hidden; border-radius: 99px; background: var(--dash-border);
}
html[data-site-route="dashboard"] body.app-mode .dashboard-ltv-fill { display: block; height: 100%; border-radius: 99px; background: currentColor; }
html[data-site-route="dashboard"] body.app-mode .dashboard-ltv-fill[data-tone="success"] { background: var(--dash-success); }
html[data-site-route="dashboard"] body.app-mode .dashboard-ltv-fill[data-tone="warning"] { background: var(--dash-warning); }
html[data-site-route="dashboard"] body.app-mode .dashboard-ltv-fill[data-tone="danger"] { background: var(--dash-danger); }
html[data-site-route="dashboard"] body.app-mode .dashboard-row-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 3px 8px; max-width: 205px; }
html[data-site-route="dashboard"] body.app-mode .dashboard-row-actions a {
  color: var(--dash-accent); font: 600 11px/1.5 Inter, Arial, sans-serif;
  text-decoration: none; white-space: nowrap;
}
html[data-site-route="dashboard"] body.app-mode .dashboard-row-actions a:hover { text-decoration: underline; text-underline-offset: 3px; }
html[data-site-route="dashboard"] body.app-mode .dashboard-wallet-total {
  display: flex; flex-direction: column; align-items: flex-start;
  margin: 3px 0 22px; color: var(--dash-text);
}
html[data-site-route="dashboard"] body.app-mode .dashboard-wallet-total > span {
  color: var(--dash-muted); font: 500 13px/1.4 Inter, Arial, sans-serif;
}
html[data-site-route="dashboard"] body.app-mode .dashboard-wallet-total strong {
  margin-top: 4px; font: 600 clamp(30px, 3.5vw, 42px)/1.12 Inter, Arial, sans-serif;
  font-variant-numeric: tabular-nums; letter-spacing: -.045em;
}
html[data-site-route="dashboard"] body.app-mode .dashboard-wallet-total small {
  margin-top: 8px; color: var(--dash-muted); font: 12px/1.45 Inter, Arial, sans-serif;
}
html[data-site-route="dashboard"] body.app-mode .dashboard-balance-table th:last-child { width: 42px; }
html[data-site-route="dashboard"] body.app-mode .dashboard-external-cell { text-align: right; padding-right: 18px !important; }
html[data-site-route="dashboard"] body.app-mode .dashboard-external-link { color: var(--dash-muted); font-size: 17px; text-decoration: none; }
html[data-site-route="dashboard"] body.app-mode .dashboard-external-link:hover { color: var(--dash-accent); }
html[data-site-route="dashboard"] body.app-mode .dashboard-message-cell { padding: 26px !important; text-align: left; }
html[data-site-route="dashboard"] body.app-mode .dashboard-message-cell strong { display: block; color: var(--dash-text); font-size: 14px; }
html[data-site-route="dashboard"] body.app-mode .dashboard-message-cell span { display: block; margin: 5px 0 14px; color: var(--dash-muted); font-size: 13px; }
html[data-site-route="dashboard"] body.app-mode .dashboard-skeleton-row td { height: 58px; }
html[data-site-route="dashboard"] body.app-mode .dashboard-skeleton { display: block; width: 80%; height: 13px; border-radius: 4px; background: var(--dash-border); animation: dashboard-pulse 1.2s ease-in-out infinite alternate; }
@keyframes dashboard-pulse { to { opacity: .4; } }
html[data-site-route="dashboard"] body.app-mode .dashboard-vault {
  margin-top: 32px; padding: 18px 20px; border: 1px solid var(--dash-border); border-radius: 12px;
  background: var(--dash-surface);
}
html[data-site-route="dashboard"] body.app-mode .dashboard-vault h2 { color: var(--dash-text); font: 600 14px Inter, Arial, sans-serif; }
html[data-site-route="dashboard"] body.app-mode .dashboard-vault p,
html[data-site-route="dashboard"] body.app-mode .dashboard-disclaimer { color: var(--dash-muted); font: 12px/1.6 Inter, Arial, sans-serif; }
html[data-site-route="dashboard"] body.app-mode .dashboard-vault a { color: var(--dash-accent); }
html[data-site-route="dashboard"] body.app-mode .dashboard-shell :is(a, button, input, .dashboard-help):focus-visible,
html[data-site-route="dashboard"] body.app-mode :is(#wallet, #walletMenuToggle, #themeToggle):focus-visible {
  outline: 2px solid var(--dash-accent); outline-offset: 2px;
}

@media (max-width: 1180px) {
  html[data-site-route="dashboard"] body.app-mode .dashboard-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html[data-site-route="dashboard"] body.app-mode .dashboard-position-table thead { display: none; }
  html[data-site-route="dashboard"] body.app-mode .dashboard-position-table,
  html[data-site-route="dashboard"] body.app-mode .dashboard-position-table tbody { display: block; }
  html[data-site-route="dashboard"] body.app-mode .dashboard-position-table tr {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 16px;
    padding: 18px; border-bottom: 1px solid var(--dash-border);
  }
  html[data-site-route="dashboard"] body.app-mode .dashboard-position-table tr:last-child { border-bottom: 0; }
  html[data-site-route="dashboard"] body.app-mode .dashboard-position-table td {
    display: block; min-width: 0; padding: 0 !important; border: 0 !important; text-align: left !important; white-space: normal !important;
  }
  html[data-site-route="dashboard"] body.app-mode .dashboard-position-table td:not(.dashboard-market-cell):not(.dashboard-actions-cell)::before {
    content: attr(data-label); display: block; margin-bottom: 3px; color: var(--dash-muted); font-size: 11px;
  }
  html[data-site-route="dashboard"] body.app-mode .dashboard-position-table td.dashboard-market-cell,
  html[data-site-route="dashboard"] body.app-mode .dashboard-position-table td.dashboard-actions-cell { grid-column: 1/-1; }
  html[data-site-route="dashboard"] body.app-mode .dashboard-position-table td.dashboard-actions-cell { padding-top: 8px !important; }
  html[data-site-route="dashboard"] body.app-mode .dashboard-row-actions { justify-content: flex-start; max-width: none; gap: 10px 16px; }
  html[data-site-route="dashboard"] body.app-mode .dashboard-ltv-track { margin-left: 0; }
  html[data-site-route="dashboard"] body.app-mode .dashboard-position-table tr.dashboard-message-row { display: block; }
}
@media (max-width: 700px) {
  html[data-site-route="dashboard"] body.app-mode .dashboard-shell { padding: 24px 16px 48px; }
  html[data-site-route="dashboard"] body.app-mode .dashboard-heading { display: flex; align-items: center; }
  html[data-site-route="dashboard"] body.app-mode .dashboard-controls { margin: 0; }
  html[data-site-route="dashboard"] body.app-mode .dashboard-summary { gap: 8px; }
  html[data-site-route="dashboard"] body.app-mode .dashboard-summary-card { padding: 16px; min-height: 124px; }
  html[data-site-route="dashboard"] body.app-mode .dashboard-summary-card strong { font-size: 24px; }
  html[data-site-route="dashboard"] body.app-mode .dashboard-position-table tr { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html[data-site-route="dashboard"] body.app-mode .dashboard-balance-table thead { display: none; }
  html[data-site-route="dashboard"] body.app-mode .dashboard-balance-table,
  html[data-site-route="dashboard"] body.app-mode .dashboard-balance-table tbody { display: block; }
  html[data-site-route="dashboard"] body.app-mode .dashboard-balance-table tr {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 14px;
    padding: 15px; border-bottom: 1px solid var(--dash-border);
  }
  html[data-site-route="dashboard"] body.app-mode .dashboard-balance-table tr:last-child { border-bottom: 0; }
  html[data-site-route="dashboard"] body.app-mode .dashboard-balance-table td {
    display: block; min-width: 0; padding: 0 !important; border: 0 !important; text-align: left !important;
  }
  html[data-site-route="dashboard"] body.app-mode .dashboard-balance-table td:not(.dashboard-market-cell)::before {
    content: attr(data-label); display: block; margin-bottom: 3px; color: var(--dash-muted); font-size: 11px;
  }
  html[data-site-route="dashboard"] body.app-mode .dashboard-balance-table td.dashboard-market-cell { grid-column: 1/-1; }
  html[data-site-route="dashboard"] body.app-mode .dashboard-balance-table td.dashboard-external-cell { grid-column: 1/-1; }
  html[data-site-route="dashboard"] body.app-mode .dashboard-balance-table tr.dashboard-message-row { display: block; }
  html[data-site-route="dashboard"] body.app-mode .dashboard-section-heading { align-items: flex-start; }
  html[data-site-route="dashboard"] body.app-mode .dashboard-toggle { white-space: normal; text-align: right; }
}
@media (max-width: 420px) {
  html[data-site-route="dashboard"] body.app-mode .header-actions { display: flex; grid-column: 1/-1; justify-content: flex-end; }
  html[data-site-route="dashboard"] body.app-mode .network-badge { font-size: 11px; }
  html[data-site-route="dashboard"] body.app-mode .dashboard-summary { grid-template-columns: 1fr; }
  html[data-site-route="dashboard"] body.app-mode .dashboard-summary-card { min-height: 112px; }
  html[data-site-route="dashboard"] body.app-mode .dashboard-section-heading { flex-wrap: wrap; }
  html[data-site-route="dashboard"] body.app-mode .dashboard-toggle { text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-site-route="dashboard"] body.app-mode :is(.dashboard-skeleton, #dashboardRefresh span) { animation: none !important; }
}
.dashboard-legacy-label { display:block; margin-top:4px; color:var(--dash-muted); font-size:12px; }
