/* Dashboard stage: placement, hover life, and page motion. */

:root {
  --stage-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --stage-fast: 180ms;
  --stage-page: 420ms;
  --stage-lift: 0 10px 28px color-mix(in srgb, var(--dash-text) 8%, transparent);
  --stage-gap: 20px;
  --stage-gap-sm: 12px;
  --stage-gap-lg: 28px;
  --stage-divider: color-mix(in srgb, var(--dash-text) 8%, transparent);
}

/* Restore durations crushed by reduced-motion nuke. OS reduce still wins below. */
html[data-motion="reduced"] .dash-body,
html[data-motion="reduced"] .dash-body *,
html[data-motion="reduced"] .dash-body *::before,
html[data-motion="reduced"] .dash-body *::after {
  animation-duration: 0.42s !important;
  transition-duration: 0.2s !important;
  animation-iteration-count: 1 !important;
}

html[data-motion="off"] .dash-body,
html[data-motion="off"] .dash-body *,
html[data-motion="off"] .dash-body *::before,
html[data-motion="off"] .dash-body *::after {
  animation: none !important;
  transition: none !important;
}

.dash-body .dash-view,
.dash-body #view {
  overflow: auto !important;
}

html[data-anim~="page"] .dash-view.view-in {
  animation: stageViewIn 280ms var(--stage-ease) both;
}

.view-in .page-case > *,
.view-in .home-desk .dash-hero,
.view-in .home-desk .dash-panel,
.view-in .transfer-insight-card {
  animation: none;
}

/* ── Page canvas rhythm ── */
.dash-body .page-case {
  gap: 16px !important;
  padding: 16px 20px 32px !important;
}

.dash-body .page-case > .dash-hero,
.dash-body .home-desk .dash-hero {
  flex: 0 0 auto;
  min-height: auto;
}

.dash-body .page-case > .ui-card-hero {
  margin-bottom: 0 !important;
  padding-bottom: 2px !important;
}

.dash-body .page-case-head {
  margin-bottom: 2px;
}

.dash-body .page-case-head + * {
  margin-top: 0;
}

.dash-body .page-case .ui-card > h3,
.dash-body .page-case .ui-card .ui-card-head {
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--stage-divider);
}

.dash-body .wallet-desk,
.dash-body .wallet-balances-full {
  margin-top: 0;
}

.dash-body .wallet-balances-full {
  padding-top: 2px;
}

/* Header + rail */
.dash-top {
  align-items: center;
  min-height: 64px;
  padding-inline: clamp(16px, 2vw, 24px);
  gap: 16px;
}

.dash-title {
  flex: 1 1 auto;
  min-width: 0;
}

.dash-tools {
  align-items: center;
  gap: 6px 10px;
  flex: 0 0 auto;
}

.dash-search {
  height: 40px;
  min-width: 148px;
  max-width: 200px;
  flex: 0 1 180px;
  padding-inline: 14px;
  border: 1px solid var(--stage-divider) !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--dash-text) 3%, transparent) !important;
  transition: border-color var(--stage-fast) ease, background var(--stage-fast) ease, box-shadow var(--stage-fast) ease;
}

.dash-search:focus-within {
  border-color: color-mix(in srgb, var(--dash-primary) 40%, var(--stage-divider)) !important;
  background: color-mix(in srgb, var(--dash-text) 5%, transparent) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--dash-primary) 18%, transparent);
}

.dash-search input {
  font-size: 13px;
  font-weight: 550;
}

.dash-nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.dash-nav .sec {
  margin: 18px 12px 8px;
  padding-top: 0;
  line-height: 1;
}

.dash-nav .sec:first-child {
  margin-top: 2px;
}

.dash-nav button {
  min-height: 40px;
  padding: 9px 12px;
  transition: background var(--stage-fast) var(--stage-ease), color var(--stage-fast) ease, transform var(--stage-fast) var(--stage-ease);
}

.dash-nav button:hover {
  transform: translateX(3px);
}

.dash-nav button.on {
  transform: none;
}

.dash-nav button .ui-icon,
.dash-nav button svg {
  transition: transform 220ms var(--stage-ease);
}

.dash-nav button:hover .ui-icon,
.dash-nav button:hover svg {
  transform: scale(1.08);
}

.dash-body .btn-connect-top {
  padding: 8px 14px !important;
  border-radius: 999px;
  transition: color var(--stage-fast) ease, transform var(--stage-fast) var(--stage-ease), background var(--stage-fast) ease;
}

.dash-body .btn-connect-top:hover {
  color: var(--dash-text) !important;
  background: color-mix(in srgb, var(--dash-text) 6%, transparent) !important;
  transform: translateY(-1px);
}

.dash-body .btn-deposit,
.dash-body .btn-primary {
  transition: transform var(--stage-fast) var(--stage-ease), box-shadow 240ms ease, filter 240ms ease;
}

.dash-body .btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--dash-primary) 28%, transparent);
}

.dash-body .btn-primary:active {
  transform: translateY(0) scale(0.98);
}

.tool-btn {
  width: 38px;
  height: 38px;
  transition: background var(--stage-fast) ease, transform var(--stage-fast) var(--stage-ease) !important;
}

.dash-body .tool-btn:hover {
  background: color-mix(in srgb, var(--dash-text) 8%, transparent) !important;
  transform: translateY(-1px) !important;
}

.dash-body .btn-ghost,
.dash-body .btn.btn-ghost,
.dash-body .btn-ghost.btn-sm {
  background: color-mix(in srgb, var(--dash-text) 10%, transparent) !important;
  border: 0 !important;
  border-radius: 999px !important;
  height: auto;
  min-height: 34px !important;
  padding: 6px 14px !important;
  color: var(--dash-text) !important;
}

.dash-body .btn-ghost:hover,
.dash-body .btn.btn-ghost:hover,
.dash-body .btn-ghost:focus-visible {
  background: color-mix(in srgb, var(--dash-text) 12%, transparent) !important;
  color: var(--dash-text) !important;
}

/* ── Overview desk ── */
.home-desk {
  gap: var(--stage-gap) !important;
}

.home-desk .dash-hero {
  gap: var(--stage-gap-sm);
  margin-bottom: 2px;
}

.home-desk .dash-hero-copy,
.home-desk .dash-panel {
  transition: transform var(--stage-fast) var(--stage-ease), border-color 240ms ease, box-shadow 240ms ease;
}

.home-desk .dash-hero-copy {
  padding: 24px;
}

.home-desk .dash-hero-copy:hover {
  box-shadow: var(--stage-lift);
  border-color: color-mix(in srgb, var(--dash-text) 14%, var(--dash-line));
}

.home-desk .dash-panel:hover {
  border-color: color-mix(in srgb, var(--dash-text) 14%, var(--dash-line));
}

.home-desk .dash-hero-panel {
  padding: 10px;
}

.home-desk .dash-rail {
  gap: 10px;
}

.home-desk .dash-board-grid {
  gap: var(--stage-gap-sm);
  align-items: stretch;
}

.home-desk .dash-panel {
  gap: 16px;
  padding: 20px;
}

.home-desk .dash-panel-head {
  padding-bottom: 12px;
  margin-bottom: -2px;
  border-bottom: 1px solid var(--stage-divider);
}

.home-desk .dash-panel-head + .app-muted {
  margin-top: -4px;
}

.home-desk .dash-metric {
  border-radius: 14px;
  border: 1px solid var(--stage-divider);
  background: color-mix(in srgb, var(--dash-text) 3%, transparent);
  padding: 14px 16px;
  transition: background var(--stage-fast) ease, transform var(--stage-fast) var(--stage-ease), border-color var(--stage-fast) ease;
}

.home-desk .dash-metric:hover {
  background: color-mix(in srgb, var(--dash-text) 6%, transparent);
  border-color: color-mix(in srgb, var(--dash-text) 12%, var(--dash-line));
  transform: translateY(-1px);
}

.home-desk .dash-metric strong {
  font-size: clamp(17px, 1.4vw, 20px);
  letter-spacing: -0.04em;
  font-weight: 700;
}

.home-desk .dash-metric-icon {
  width: 36px;
  height: 36px;
  border-radius: 11px;
}

.dash-hero-copy .btn,
.dash-hero-actions .btn,
.dash-hero-actions .dash-chip {
  border-radius: 999px;
  padding-inline: 16px;
  min-height: 38px;
  transition: transform var(--stage-fast) var(--stage-ease), background var(--stage-fast) ease, color var(--stage-fast) ease, box-shadow var(--stage-fast) ease;
}

.dash-hero-actions {
  gap: 10px;
  margin-top: 20px;
}

.dash-hero-copy .btn-ghost,
.dash-hero-actions .btn-ghost {
  background: color-mix(in srgb, var(--dash-text) 6%, transparent) !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 8px 16px !important;
  color: var(--dash-text) !important;
}

.dash-hero-copy .btn-ghost:hover,
.dash-hero-actions .btn-ghost:hover,
.dash-hero-actions .dash-chip:hover {
  background: color-mix(in srgb, var(--dash-text) 11%, transparent) !important;
  transform: translateY(-1px);
}

.dash-hero-actions .dash-chip--primary:hover {
  box-shadow: 0 8px 20px color-mix(in srgb, var(--dash-primary) 24%, transparent);
}

.chart-pick {
  gap: 8px;
  margin: 0 0 var(--stage-gap-sm);
  padding-bottom: 6px;
}

.chart-pick .dash-chip {
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid var(--stage-divider);
  border-radius: 999px;
  background: color-mix(in srgb, var(--dash-text) 3%, transparent);
  transition: background var(--stage-fast) ease, transform var(--stage-fast) var(--stage-ease), border-color var(--stage-fast) ease;
}

.chart-pick .dash-chip:hover {
  background: color-mix(in srgb, var(--dash-text) 7%, transparent);
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--dash-text) 14%, var(--dash-line));
}

.chart-pick .dash-chip.on,
.chart-pick .dash-chip[aria-selected="true"] {
  background: color-mix(in srgb, var(--dash-primary) 12%, transparent);
  border-color: color-mix(in srgb, var(--dash-primary) 28%, var(--dash-line));
  color: var(--dash-text);
}

.dash-body .dash-chip {
  min-height: 36px;
  padding: 0 14px;
  border-radius: 999px;
}

.bento-live-chart {
  min-height: 220px !important;
}

.bento-live-chart .chart-frame,
.bento-live-chart .market-chart,
.home-desk .chart-frame,
.home-desk .market-chart,
.asset-chart-box:not(.asset-spark-chart) .chart-frame,
.asset-chart-box:not(.asset-spark-chart) .balance-chart {
  height: 168px !important;
  min-height: 168px !important;
  overflow: visible !important;
}

.bento-chart-body {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 76px !important;
  gap: 12px !important;
  align-items: stretch;
}

.bento-chart-scale {
  height: 168px;
  flex: none;
  justify-content: space-between;
  padding: 2px 0 2px 8px;
  box-sizing: border-box;
}

.home-desk .dash-panel--wide {
  min-height: 280px;
}

.chart-box,
.chart-frame,
.bento-live-chart,
.market-chart,
.balance-chart {
  transform: none !important;
}

/* Page heroes */
.page-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px 24px;
  padding-bottom: 14px;
  margin-bottom: 2px;
  border-bottom: 1px solid var(--stage-divider);
}

.page-hero-copy {
  min-width: 0;
}

.page-hero-title {
  letter-spacing: -0.04em;
  line-height: 1.12;
}

.page-hero-desc {
  max-width: 56ch;
  line-height: 1.5;
  margin-top: 10px;
}

.page-hero-actions,
.page-export-links {
  flex: none;
  align-self: flex-end;
}

.page-case:has(.cards-empty-state) .page-hero-actions {
  display: none;
}

.page-case:has(.cards-empty-state) .page-hero {
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.page-case:has(.cards-empty-state) .page-hero-desc {
  margin-left: auto;
  margin-right: auto;
}

/* Insights — four-up rhythm, stronger numbers */
.dash-body .transfer-insight-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 12px 20px;
  margin: 2px 0 var(--stage-gap);
  padding-bottom: 4px;
}

.dash-body .transfer-insight-card {
  min-height: 0;
  padding: 12px 0 16px !important;
  gap: 12px;
  border-bottom: 1px solid var(--stage-divider) !important;
  transition: transform var(--stage-fast) var(--stage-ease);
}

.dash-body .transfer-insight-card:hover {
  transform: translateY(-1px);
}

.dash-body .transfer-insight-card b,
.dash-body .transfer-insight-card .page-stat-value {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.2;
}

.dash-body .transfer-insight-card p {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--dash-muted);
  margin: 0 0 4px;
}

.dash-body .transfer-insight-ico {
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--dash-text) 6%, transparent) !important;
  display: grid;
  place-items: center;
  transition: transform var(--stage-fast) var(--stage-ease);
}

.dash-body .transfer-insight-card:hover .transfer-insight-ico {
  transform: scale(1.04);
}

.page-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px 24px;
  margin: 8px 0 var(--stage-gap);
}

.wallet-main-card .page-balance {
  letter-spacing: -0.055em;
  font-size: clamp(2rem, 4vw, 2.75rem);
  font-weight: 700;
  line-height: 1.05;
  margin: 8px 0 4px;
}

.wallet-main-card .bento-kicker {
  margin-bottom: 2px;
}

.wallet-main-card .transfer-label {
  margin-top: 20px !important;
  margin-bottom: 10px;
  display: block;
}

.wallet-desk {
  gap: var(--stage-gap-sm);
}

.transfer-label,
.bento-kicker {
  letter-spacing: 0.12em;
}

/* Wallet / transfer network rows */
.net-row-list {
  display: grid;
  gap: 2px;
  margin-top: 6px;
}

.net-row-list .asset-row-pro {
  position: relative;
  border-radius: 12px;
  padding: 11px 12px;
  margin: 0 -8px;
  transition: background var(--stage-fast) ease, transform var(--stage-fast) var(--stage-ease), box-shadow var(--stage-fast) ease;
}

.net-row-list .asset-row-pro:hover {
  background: color-mix(in srgb, var(--dash-text) 5%, transparent);
  transform: translateX(4px);
}

.net-row-list .asset-row-pro.on,
.net-row-list .asset-row-pro[aria-pressed="true"] {
  background: color-mix(in srgb, var(--dash-primary) 10%, transparent);
  box-shadow: inset 3px 0 0 var(--dash-primary);
}

.dash-body .list-row,
.dash-body .asset-row-pro,
.dash-body .wallet-btn.asset-row-pro,
.dash-body .ledger-table .list-row,
.dash-body .movers-row,
.dash-body .snapshot-row,
.dash-body .holdings-row {
  transition: background var(--stage-fast) ease, transform var(--stage-fast) var(--stage-ease);
}

.dash-body .list-row:hover,
.dash-body .asset-row-pro:hover,
.dash-body .movers-row:hover,
.dash-body .snapshot-row:hover,
.dash-body .holdings-row:hover {
  background: color-mix(in srgb, var(--dash-text) 4%, transparent);
}

.dash-body .snapshot-row:hover {
  transform: translateX(3px);
}

.asset-pick-list .asset-row-pro.on {
  box-shadow: inset 3px 0 0 var(--dash-primary);
}

/* Activity ledger rows */
.dash-body .ledger-row {
  position: relative;
  border-radius: 10px;
  padding-inline: 8px;
  margin-inline: -8px;
  transition: background var(--stage-fast) ease, transform var(--stage-fast) var(--stage-ease);
}

.dash-body .ledger-row:hover,
.dash-body .ledger-row.tx-row:hover {
  background: color-mix(in srgb, var(--dash-text) 4%, transparent) !important;
  transform: translateX(3px);
}

.dash-body .ledger-row .ledger-asset b {
  letter-spacing: -0.02em;
}

.dash-body .ledger-amt,
.dash-body .ledger-val {
  font-variant-numeric: tabular-nums;
}

.dash-body .ledger-table {
  margin-top: 4px;
}

/* Plastic cards keep a real surface */
.dash-body .page-card,
.dash-body .page-card.glass-card {
  background: var(--dash-panel) !important;
  border: 1px solid color-mix(in srgb, var(--dash-text) 8%, transparent) !important;
  border-radius: 18px !important;
  box-shadow: none;
  transition: transform 220ms var(--stage-ease), box-shadow 240ms ease, border-color 240ms ease;
}

.dash-body .page-card:hover {
  background: var(--dash-panel) !important;
  transform: translateY(-3px) !important;
  box-shadow: var(--stage-lift);
  border-color: color-mix(in srgb, var(--dash-text) 14%, var(--dash-line)) !important;
}

.dash-body .plastic {
  border-radius: 16px;
  box-shadow: 0 16px 40px color-mix(in srgb, #000 28%, transparent);
  transition: transform 220ms var(--stage-ease), box-shadow 240ms ease;
}

.dash-body .page-card:hover .plastic {
  transform: translateY(-2px) scale(1.01);
}

/* Empty states */
.cards-empty-state,
.empty-state,
.empty {
  position: relative;
  overflow: hidden;
  min-height: 280px;
  place-content: center;
  text-align: center;
  padding: 48px 24px;
  border-radius: 18px;
  border: 1px dashed color-mix(in srgb, var(--dash-primary) 32%, var(--dash-line)) !important;
  animation: stageRise 560ms var(--stage-ease) both;
}

.cards-empty-state h3,
.empty-state h3 {
  margin: 0 0 8px;
  letter-spacing: -0.03em;
  font-size: clamp(1.15rem, 2vw, 1.35rem);
}

.cards-empty-state p,
.empty-state p {
  margin: 0 auto 20px;
  max-width: 42ch;
  color: var(--dash-muted);
  line-height: 1.55;
}

.cards-empty-state .btn,
.empty-state .btn {
  border-radius: 999px;
  min-height: 40px;
  padding-inline: 20px;
  transition: transform var(--stage-fast) var(--stage-ease), box-shadow 240ms ease;
}

.cards-empty-state .btn:hover,
.empty-state .btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px color-mix(in srgb, var(--dash-primary) 22%, transparent);
}

.cards-empty-state::before,
.empty-state::before {
  content: "";
  position: absolute;
  width: 280px;
  height: 280px;
  left: 50%;
  top: 40%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  background: radial-gradient(circle, color-mix(in srgb, var(--dash-primary) 22%, transparent), transparent 68%);
  animation: stageGlow 4.8s ease-in-out infinite;
}

.empty-inline,
.transfer-empty {
  padding: 32px 8px;
  text-align: center;
  color: var(--dash-muted);
}

/* Transfer desk */
.transfer-head--v2 {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid var(--stage-divider);
}

.transfer-head-icon {
  width: 44px;
  height: 44px;
  border-radius: 13px;
  flex: none;
  transition: transform var(--stage-fast) var(--stage-ease);
}

.transfer-head--v2:hover .transfer-head-icon {
  transform: scale(1.04);
}

.transfer-head-desc {
  font-size: 14px;
  line-height: 1.55;
  max-width: 52ch;
}

.transfer-section {
  padding: 10px 0 20px;
}

.transfer-section + .transfer-section {
  border-top: 1px solid var(--stage-divider);
  margin-top: 4px;
}

.transfer-section-head {
  margin-bottom: 14px;
}

.transfer-field {
  margin: 0 0 18px;
  gap: 10px;
}

.transfer-label {
  margin-bottom: 2px;
}

.dash-body .transfer-amount-input,
.dash-body .transfer-input {
  font-size: clamp(22px, 3vw, 28px);
  letter-spacing: -0.04em;
  min-height: 52px;
  padding-bottom: 10px;
  border-bottom-width: 1px;
  transition: border-color var(--stage-fast) ease, transform var(--stage-fast) var(--stage-ease);
}

.dash-body .transfer-amount-input:focus,
.dash-body .transfer-input:focus {
  transform: translateY(-1px);
}

.dash-body .transfer-input--mono {
  font-size: 14px;
  letter-spacing: 0;
  min-height: 44px;
}

.dash-body .transfer-amount-row {
  align-items: flex-end;
  gap: 12px;
}

.transfer-actions,
.transfer-submit {
  margin-top: 12px;
}

.dash-body .transfer-submit {
  min-height: 46px;
  padding: 14px 24px !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em;
  transition: transform var(--stage-fast) var(--stage-ease), box-shadow 240ms ease;
}

.dash-body .transfer-submit:not(:disabled):hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--dash-primary) 26%, transparent);
}

.dash-body .transfer-submit:active:not(:disabled) {
  transform: translateY(0) scale(0.98);
}

.transfer-tabnav-item {
  transition: color var(--stage-fast) ease, box-shadow var(--stage-fast) ease;
}

.dash-body .date-chips,
.dash-body .type-chips {
  gap: 20px !important;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--stage-divider);
}

.dash-body .date-chips button,
.dash-body .type-chips button,
.dash-body .support-tabs button,
.dash-body .page-tabs button,
.dash-body .transfer-tabnav-item {
  transition: color var(--stage-fast) ease, box-shadow var(--stage-fast) ease, transform var(--stage-fast) var(--stage-ease);
  font-weight: 650;
  letter-spacing: 0.02em;
}

.dash-body .date-chips button,
.dash-body .type-chips button {
  padding: 8px 0 !important;
}

.dash-body .date-chips button.on,
.dash-body .type-chips button.on {
  box-shadow: inset 0 -2px 0 var(--dash-primary) !important;
}

.dash-body .date-chips button:hover,
.dash-body .type-chips button:hover,
.dash-body .support-tabs button:hover,
.dash-body .page-tabs button:hover,
.dash-body .transfer-tabnav-item:hover {
  color: var(--dash-text);
  transform: translateY(-1px);
}

.dash-body .filters.filter-grid {
  gap: 14px 16px;
  margin-top: 16px;
}

.page-export-links button {
  position: relative;
  padding-bottom: 2px;
  transition: color var(--stage-fast) ease;
}

.page-export-links button::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--stage-fast) var(--stage-ease);
}

.page-export-links button:hover {
  color: var(--dash-text);
}

.page-export-links button:hover::after {
  transform: scaleX(1);
}

/* Settings + support */
.page-case .settings-studio {
  margin-top: 2px;
}

.page-case .support-tabs {
  margin-bottom: 8px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--stage-divider);
}

.settings-box-item,
.settings-choice,
.faq-q {
  transition: background var(--stage-fast) ease, transform var(--stage-fast) var(--stage-ease), color var(--stage-fast) ease;
}

.settings-box-item:hover,
.settings-choice:hover {
  background: color-mix(in srgb, var(--dash-text) 5%, transparent);
  transform: translateX(3px);
}

.faq-item {
  border-bottom: 1px solid var(--stage-divider);
}

.faq-q {
  width: 100%;
  text-align: left;
  padding: 16px 0;
}

.faq-q:hover {
  color: var(--dash-text);
  transform: translateX(2px);
}

.dash-body input:not([type="radio"]):not([type="checkbox"]):not([type="range"]),
.dash-body select,
.dash-body textarea {
  transition: border-color var(--stage-fast) ease, transform var(--stage-fast) var(--stage-ease);
}

.dash-body input:not([type="radio"]):not([type="checkbox"]):not([type="range"]):focus,
.dash-body select:focus,
.dash-body textarea:focus {
  transform: translateY(-1px);
}

.transfer-mini-row.clickable {
  transition: background var(--stage-fast) ease, transform var(--stage-fast) var(--stage-ease);
  border-radius: 10px;
  padding: 8px 6px;
  margin-inline: -6px;
}

.transfer-mini-row.clickable:hover {
  background: color-mix(in srgb, var(--dash-text) 4%, transparent);
  transform: translateX(3px);
}

.live-dot {
  animation: stagePulse 2.2s ease-in-out infinite !important;
}

.chat-fab,
.fab-quick {
  transition: transform 200ms var(--stage-ease), box-shadow 240ms ease;
}

.chat-fab:hover,
.fab-quick:hover {
  transform: translateY(-3px) scale(1.04);
}

.fab-menu .fab-item:hover {
  background: color-mix(in srgb, var(--dash-text) 7%, transparent);
  transform: translateX(2px);
}

.side-promo {
  transition: transform var(--stage-fast) var(--stage-ease), border-color 240ms ease;
}

.side-promo:hover {
  transform: translateY(-1px);
}

html[data-motion="reduced"] .live-dot,
html[data-motion="reduced"] .cards-empty-state::before,
html[data-motion="reduced"] .empty-state::before {
  animation-iteration-count: infinite !important;
  animation-duration: 4.8s !important;
}

html[data-motion="reduced"] .live-dot {
  animation-duration: 2.2s !important;
}

@keyframes stageViewIn {
  from { opacity: 0; }
  to { opacity: 1; }

}

@keyframes stageRise {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: none; }

}

@keyframes stageGlow {
  0%, 100% { opacity: 0.55; transform: translate(-50%, -50%) scale(1); }
  50% { opacity: 1; transform: translate(-50%, -50%) scale(1.08); }

}

@keyframes stagePulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.45; }

}

html[data-theme="light"] .net-row-list .asset-row-pro:hover,
html[data-theme="light"] .dash-body .list-row:hover,
html[data-theme="light"] .home-desk .dash-metric:hover,
html[data-theme="light"] .dash-body .ledger-row:hover {
  background: color-mix(in srgb, var(--dash-text) 4%, #fff);
}

html[data-theme="light"] .cards-empty-state::before,
html[data-theme="light"] .empty-state::before {
  background: radial-gradient(circle, color-mix(in srgb, var(--dash-primary) 16%, transparent), transparent 68%);
}

@media (max-width: 1080px) {
  .dash-body .transfer-insight-grid,
  .page-strip {
    grid-template-columns: 1fr 1fr;
  }
  .home-desk .dash-hero-copy,
  .home-desk .dash-hero-panel {
    grid-column: 1 / -1;
  }

}

@media (max-width: 760px) {
  .page-strip { grid-template-columns: 1fr 1fr; gap: 14px; }
  .page-hero {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
  }
  .page-hero-actions,
  .page-export-links {
    align-self: flex-start;
  }
  .dash-top {
    padding-inline: 14px;
    gap: 10px;
  }
  .dash-search {
    min-width: 0;
    max-width: none;
  }
  .dash-body .btn-primary { width: auto; }
  .view-in .page-case > * { animation-delay: 0s; }
  .dash-body .transfer-insight-grid { gap: 8px 16px; }
  .home-desk .dash-panel--main,
  .home-desk .dash-panel--side,
  .home-desk .dash-panel--wide {
    grid-column: 1 / -1;
  }

}

@media (prefers-reduced-motion: reduce) {
  .dash-view.view-in,
  .view-in .page-case > *,
  .view-in .home-desk .dash-hero,
  .view-in .home-desk .dash-panel,
  .cards-empty-state,
  .empty-state,
  .cards-empty-state::before,
  .empty-state::before,
  .live-dot,
  .view-in .transfer-insight-card {
    animation: none !important;
  }
  .dash-nav button:hover,
  .net-row-list .asset-row-pro:hover,
  .dash-body .btn-primary:hover,
  .chat-fab:hover,
  .fab-quick:hover,
  .home-desk .dash-hero-copy:hover,
  .home-desk .dash-panel:hover,
  .dash-body .page-card:hover,
  .dash-body .ledger-row:hover,
  .dash-body .transfer-insight-card:hover,
  .dash-body .transfer-submit:not(:disabled):hover {
    transform: none !important;
  }

}
