/* MemeOps · Dashboard (MemeOps Console) — memeops-dashboard.js + memeops-chain-volume.js */
#page-dashboard.mo-db { padding: 36px 32px 56px; box-sizing: border-box; color: var(--mo-text, #E8EAED); font-family: var(--mo-sans, 'IBM Plex Sans', system-ui, sans-serif); }
#page-dashboard .mo-db-wrap { max-width: 1320px; margin: 0 auto; display: flex; flex-direction: column; gap: 20px; }
#page-dashboard .mo-db-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; }
#page-dashboard .mo-db-head h1 { margin: 0; font-size: 34px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.15; color: var(--mo-text, #E8EAED); }
#page-dashboard .mo-db-head p { margin: 6px 0 0; font-size: 15px; color: var(--mo-text-2, #9AA0A8); }
#page-dashboard .mo-db-main-btn { display: inline-flex; align-items: center; gap: 10px; height: 48px; padding: 0 22px; background: var(--mo-accent, #C6F432); color: var(--mo-on-accent, #0B0C0E); font-weight: 700; font-size: 15px; border: 0; cursor: pointer; }
#page-dashboard .mo-db-main-btn:hover { background: var(--mo-accent-hover, #D9FA6B); }
#page-dashboard .mo-db-row { display: flex; flex-wrap: wrap; gap: 16px; align-items: stretch; }
#page-dashboard .mo-db-card { background: var(--mo-panel, #0E1013); border: 1px solid var(--mo-line, #1E2126); padding: 24px; min-width: 0; display: flex; flex-direction: column; gap: 14px; box-sizing: border-box; }
#page-dashboard .mo-db-lbl { font-size: 14px; font-weight: 600; color: var(--mo-text-2, #9AA0A8); }

/* Total Wallet Assets */
#page-dashboard .mo-db-bal { flex: 1 1 340px; }
#page-dashboard .mo-db-big { font-size: 48px; font-weight: 700; letter-spacing: -0.03em; line-height: 1; color: var(--mo-text, #E8EAED); }
#page-dashboard .mo-db-sol { font-family: var(--mo-mono, monospace); font-size: 15px; color: var(--mo-accent, #C6F432); }
#page-dashboard .mo-db-spark { height: 120px; margin-top: auto; }
#page-dashboard .mo-db-spark svg { width: 100%; height: 100%; display: block; }
#page-dashboard .mo-db-line { fill: none; stroke: var(--mo-accent, #C6F432); stroke-width: 2; }
#page-dashboard .mo-db-area { fill: var(--mo-accent, #C6F432); fill-opacity: .08; stroke: none; }
#page-dashboard .mo-db-axis { display: flex; justify-content: space-between; font-family: var(--mo-mono, monospace); font-size: 11px; letter-spacing: .06em; color: var(--mo-text-3, #7A818B); }
#page-dashboard .mo-db-break { display: flex; flex-direction: column; border-top: 1px solid var(--mo-line, #1E2126); }
#page-dashboard .mo-db-brow { display: flex; justify-content: space-between; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--mo-line, #1E2126); font-size: 14px; }
#page-dashboard .mo-db-brow:last-child { border-bottom: 0; }
#page-dashboard .mo-db-brow span:last-child { font-family: var(--mo-mono, monospace); }
#page-dashboard .mo-db-brow .is-zero { color: var(--mo-text-2, #9AA0A8); }

/* Network Volume */
#page-dashboard .mo-db-vol { flex: 999 1 560px; }
#page-dashboard .mo-cv2-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; }
#page-dashboard .mo-cv2-head h2 { margin: 0; display: flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 700; color: var(--mo-text, #E8EAED); }
#page-dashboard .mo-cv2-head small { display: block; margin-top: 4px; font-size: 13px; color: var(--mo-text-3, #7A818B); }
#page-dashboard .mo-cv2-tabs { display: inline-flex; border: 1px solid var(--mo-line-strong, #2A2E35); }
#page-dashboard .mo-cv2-tabs button { height: 36px; padding: 0 14px; border: 0; background: transparent; color: var(--mo-text-2, #9AA0A8); font-family: var(--mo-mono, monospace); font-size: 12px; cursor: pointer; }
#page-dashboard .mo-cv2-tabs button + button { border-left: 1px solid var(--mo-line-strong, #2A2E35); }
#page-dashboard .mo-cv2-tabs button[aria-pressed="true"] { background: var(--mo-accent, #C6F432); color: var(--mo-on-accent, #0B0C0E); font-weight: 700; }
#page-dashboard .mo-cv2-share { display: flex; height: 10px; gap: 2px; }
#page-dashboard .mo-cv2-share i { display: block; background: var(--mo-accent, #C6F432); min-width: 2px; transition: flex-grow .6s ease; }
#page-dashboard .mo-cv2-row { display: grid; grid-template-columns: minmax(150px, 1.3fr) minmax(60px, 2.5fr) 48px 92px 70px; align-items: center; gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--mo-line, #1E2126); }
#page-dashboard .mo-cv2-row:last-child { border-bottom: 0; }
#page-dashboard .mo-cv2-name { display: flex; align-items: center; gap: 12px; font-size: 15px; font-weight: 600; min-width: 0; color: var(--mo-text, #E8EAED); }
#page-dashboard .mo-cv2-name span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#page-dashboard .mo-cv2-name img { width: 32px; height: 32px; flex: none; border-radius: 50%; background: var(--mo-raised, #16181C); object-fit: cover; }
#page-dashboard .mo-cv2-name img.is-plain { border-radius: 0; background: transparent; object-fit: contain; }
#page-dashboard .mo-cv2-bar { height: 6px; background: var(--mo-line, #1E2126); }
#page-dashboard .mo-cv2-bar i { display: block; height: 6px; width: 0; background: var(--mo-accent, #C6F432); transition: width .6s cubic-bezier(.22,1,.36,1); }
#page-dashboard .mo-cv2-pct, #page-dashboard .mo-cv2-val, #page-dashboard .mo-cv2-chg { text-align: right; font-family: var(--mo-mono, monospace); white-space: nowrap; }
#page-dashboard .mo-cv2-pct { font-size: 12px; color: var(--mo-text-3, #7A818B); }
#page-dashboard .mo-cv2-val { font-size: 15px; font-weight: 700; color: var(--mo-text, #E8EAED); }
#page-dashboard .mo-cv2-chg { font-size: 13px; }
#page-dashboard .mo-cv2-up { color: var(--mo-accent, #C6F432); }
#page-dashboard .mo-cv2-down { color: var(--mo-rose, #FF5C7A); }
#page-dashboard .mo-cv2-flat { color: var(--mo-text-3, #7A818B); }
#page-dashboard .mo-cv2-skel { height: 44px; margin-top: 8px; background: var(--mo-raised, #16181C); animation: mo-cv2-pulse 1.2s ease-in-out infinite; }
#page-dashboard .mo-cv2-err { font-size: 13px; color: var(--mo-rose, #FF5C7A); padding: 10px 0; }
@keyframes mo-cv2-pulse { 0%, 100% { opacity: .55 } 50% { opacity: 1 } }

/* bottom row */
#page-dashboard .mo-db-mini { flex: 1 1 240px; gap: 12px; }
#page-dashboard .mo-db-num { font-size: 40px; font-weight: 700; letter-spacing: -0.03em; line-height: 1; color: var(--mo-text, #E8EAED); }
#page-dashboard .mo-db-num small { font-size: 18px; font-weight: 500; letter-spacing: 0; color: var(--mo-text-2, #9AA0A8); }
#page-dashboard .mo-db-sub { font-size: 13px; color: var(--mo-text-3, #7A818B); }
#page-dashboard .mo-db-sub b { color: var(--mo-text, #E8EAED); }
#page-dashboard .mo-db-proj { flex: 2 1 420px; }
#page-dashboard .mo-db-proj-h { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
#page-dashboard .mo-db-proj-h h2 { margin: 0; font-size: 18px; font-weight: 700; color: var(--mo-text, #E8EAED); }
#page-dashboard .mo-db-link { background: none; border: 0; color: var(--mo-accent, #C6F432); font-size: 14px; cursor: pointer; padding: 6px 0; }
#page-dashboard #mo-db-projects { display: flex; flex-direction: column; gap: 8px; }
#page-dashboard .mo-db-pj { display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; padding: 14px 16px; background: var(--mo-raised, #16181C); border: 1px solid var(--mo-line-strong, #2A2E35); color: var(--mo-text, #E8EAED); text-align: left; cursor: pointer; font: inherit; }
#page-dashboard .mo-db-pj:hover { border-color: var(--mo-accent, #C6F432); }
#page-dashboard .mo-db-pj > span:first-child { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
#page-dashboard .mo-db-pj b { font-size: 15px; }
#page-dashboard .mo-db-pj em { font-style: normal; font-family: var(--mo-mono, monospace); font-size: 11px; color: var(--mo-accent, #C6F432); margin-left: 8px; }
#page-dashboard .mo-db-pj small { font-size: 13px; color: var(--mo-text-2, #9AA0A8); }
#page-dashboard .mo-db-go { font-family: var(--mo-mono, monospace); font-size: 12px; color: var(--mo-accent, #C6F432); flex: none; }
#page-dashboard .mo-db-empty { font-size: 14px; color: var(--mo-text-3, #7A818B); padding: 12px 0; }

@media (max-width: 640px) {
  #page-dashboard.mo-db { padding: 20px 16px 40px; }
  #page-dashboard .mo-db-head h1 { font-size: 26px; }
  #page-dashboard .mo-cv2-row { grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; }
  #page-dashboard .mo-cv2-row .mo-cv2-bar, #page-dashboard .mo-cv2-row .mo-cv2-pct { display: none; }
}
#page-dashboard .mo-db-pj-t { display: flex; align-items: center; min-width: 0; }

/* compact: the whole dashboard fits one screen (header + both rows) */
#page-dashboard.mo-db { padding: 22px 28px 64px; }
#page-dashboard .mo-db-wrap { gap: 14px; }
#page-dashboard .mo-db-head h1 { font-size: 26px; }
#page-dashboard .mo-db-head p { margin-top: 4px; font-size: 14px; }
#page-dashboard .mo-db-main-btn { height: 42px; padding: 0 18px; font-size: 14px; }
#page-dashboard .mo-db-row { gap: 14px; }
#page-dashboard .mo-db-card { padding: 18px 20px; gap: 10px; }
#page-dashboard .mo-db-lbl { font-size: 13px; }
#page-dashboard .mo-db-big { font-size: 38px; }
#page-dashboard .mo-db-sol { font-size: 14px; }
#page-dashboard .mo-db-spark { height: 72px; }
#page-dashboard .mo-db-brow { padding: 7px 0; font-size: 13px; }
#page-dashboard .mo-cv2-head h2 { font-size: 16px; }
#page-dashboard .mo-cv2-head small { font-size: 12px; margin-top: 2px; }
#page-dashboard .mo-cv2-tabs button { height: 32px; padding: 0 12px; }
#page-dashboard .mo-cv2-share { height: 8px; }
#page-dashboard .mo-cv2-row { padding: 8px 0; }
#page-dashboard .mo-cv2-name { font-size: 14px; }
#page-dashboard .mo-cv2-name img { width: 26px; height: 26px; }
#page-dashboard .mo-cv2-val { font-size: 14px; }
#page-dashboard .mo-cv2-chg { font-size: 12px; }
#page-dashboard .mo-db-mini { flex-direction: row; flex-wrap: wrap; align-items: baseline; column-gap: 16px; row-gap: 4px; padding: 14px 20px; }
#page-dashboard .mo-db-mini .mo-db-lbl { flex: 0 0 100%; }
#page-dashboard .mo-db-num { font-size: 28px; }
#page-dashboard .mo-db-num small { font-size: 15px; }
