/* Net Worth — finances deck. All selectors prefixed #view-networth.
   Mint primary; financial green/red only on deltas. base.css tokens only. */

/* ── shared dot ── */
#view-networth .nw-dot {
  width: 9px; height: 9px; border-radius: 50%; display: inline-block;
  flex-shrink: 0; margin-right: 4px; box-shadow: 0 0 8px -1px currentColor;
}

/* ── provider ledger layout: doughnut + table ── */
#view-networth .nw-ledger {
  display: grid; grid-template-columns: 300px 1fr; gap: 0;
}
#view-networth .nw-doughnut-wrap {
  position: relative; padding: 24px 22px;
  border-right: 1px solid var(--border);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
}
#view-networth .nw-doughnut-canvas {
  position: relative; width: 230px; height: 230px;
}
#view-networth .nw-doughnut-center {
  position: absolute; inset: 0; display: grid; place-items: center; text-align: center;
  pointer-events: none;
}
#view-networth .nw-doughnut-center span {
  font-family: var(--font-display); font-weight: 700; font-size: 1.65rem; color: var(--mint);
  display: block; line-height: 1;
}
#view-networth .nw-doughnut-center small {
  display: block; margin-top: 5px; color: var(--text-faint);
  font-size: 10px; letter-spacing: .14em; text-transform: uppercase;
}

#view-networth .nw-table-wrap { border: none; border-radius: 0; }
#view-networth .nw-table-wrap table.table { font-size: 13px; }
#view-networth .nw-mono { font-family: var(--font-mono); color: var(--text) !important; font-weight: 600; }

#view-networth .nw-prov { display: flex; align-items: flex-start; gap: 4px; min-width: 200px; }
#view-networth .nw-prov-name { font-family: var(--font-display); font-weight: 600; color: var(--text); font-size: 13.5px; }
#view-networth .nw-prov-note { font-size: 11.5px; line-height: 1.45; margin-top: 3px; max-width: 280px; }

#view-networth .nw-share { display: flex; flex-direction: column; align-items: flex-end; gap: 5px; min-width: 92px; }
#view-networth .nw-share-pct { font-size: 12px; color: var(--text-muted); }
#view-networth .nw-share-bar { width: 80px; height: 5px; }

#view-networth .nw-chips { display: flex; flex-wrap: wrap; gap: 5px; max-width: 230px; }
#view-networth .nw-chip {
  font-family: var(--font-mono); font-size: 10px; font-weight: 600; letter-spacing: .04em;
  padding: 3px 8px; border-radius: 6px; cursor: pointer;
  background: var(--bg-elevated); border: 1px solid var(--border); color: var(--text-muted);
  transition: all .12s;
}
#view-networth .nw-chip:hover { color: var(--mint); border-color: var(--teal-dim); background: var(--teal-glow); }

#view-networth .nw-total-row td { background: var(--bg-elevated); border-top: 1px solid var(--border-light); }
#view-networth .nw-total-row:hover td { background: var(--bg-elevated); }

/* ── category cards ── */
#view-networth .nw-cat .stat-label { text-transform: uppercase; }

/* ── trend ── */
#view-networth .nw-trend-canvas { position: relative; width: 100%; height: 200px; }

/* ── per-operative attribution ── */
#view-networth .nw-op {
  display: flex; align-items: center; gap: 13px; padding: 13px 12px;
  border-radius: 10px; cursor: pointer; transition: background .12s;
}
#view-networth .nw-op:hover { background: var(--card-hover); }
#view-networth .nw-op + .nw-op { border-top: 1px solid var(--border); }
#view-networth .nw-op-glyph {
  width: 34px; height: 34px; border-radius: 9px; flex-shrink: 0;
  display: grid; place-items: center; font-size: 16px; color: var(--mint);
  background: var(--bg-elevated); border: 1px solid var(--border);
}
#view-networth .nw-op-main { flex: 1; min-width: 0; }
#view-networth .nw-op-name { font-family: var(--font-display); font-weight: 600; font-size: 14px; color: var(--text); }
#view-networth .nw-op-cost { font-size: 13px; color: var(--mint); font-weight: 600; }
#view-networth .nw-op-note { font-size: 11.5px; line-height: 1.45; margin-top: 3px; }
#view-networth .nw-op-go { color: var(--text-faint); flex-shrink: 0; }
#view-networth .nw-op:hover .nw-op-go { color: var(--mint); }

/* ── revenue rows ── */
#view-networth .nw-rev {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  padding: 16px 8px; border-bottom: 1px solid var(--border); transition: background .12s;
}
#view-networth .nw-rev:last-child { border-bottom: none; }
#view-networth .nw-rev[style*="pointer"]:hover { background: var(--card-hover); }
#view-networth .nw-rev-name { font-family: var(--font-display); font-weight: 600; font-size: 14.5px; color: var(--text); }
#view-networth .nw-rev-note { font-size: 12px; line-height: 1.5; margin-top: 4px; max-width: 560px; }
#view-networth .nw-rev-val { font-family: var(--font-mono); font-weight: 700; font-size: 16px; color: var(--mint); white-space: nowrap; }

/* ── responsive ── */
@media (max-width: 860px){
  #view-networth .nw-ledger { grid-template-columns: 1fr; }
  #view-networth .nw-doughnut-wrap { border-right: none; border-bottom: 1px solid var(--border); }
  #view-networth .grid[style*="1.3fr"] { grid-template-columns: 1fr !important; }
}
