/* wallet_ui.css — shared glanceable wallet component.  v1.0.0 (260825)
 * Deliberately references the house tokens (--gold/--accent2/--mid/--red/--blue/--card/
 * --border) rather than hardcoding hex, so the component inherits whichever page it is
 * dropped into and a palette change propagates everywhere at once. */

.wu-table{width:100%;border-collapse:collapse;font-family:'DM Sans',sans-serif}
.wu-table thead th{font-family:'IBM Plex Mono',monospace;font-size:8px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--mid);text-align:left;padding:8px 10px;
  border-bottom:1px solid var(--border);white-space:nowrap}
.wu-row{border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s}
.wu-row:hover{background:var(--card2,#161616)}
.wu-row.wu-open{background:var(--card2,#161616);box-shadow:inset 3px 0 0 var(--blue)}
.wu-row td{padding:9px 10px;vertical-align:top}

/* rank — gold only for the wallets that actually earn attention (top 3 by profit) */
.wu-rank{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--mid)}
.wu-rank.top{color:var(--gold);font-weight:700}
.wu-row.wu-watch{background:linear-gradient(90deg,rgba(245,200,66,.05),transparent 40%)}
.wu-flag{font-family:'IBM Plex Mono',monospace;font-size:7.5px;letter-spacing:.12em;
  background:var(--gold);color:#000;padding:1px 5px;border-radius:2px;font-weight:700;vertical-align:middle}

.wu-name{font-size:12.5px;font-weight:600;line-height:1.3}
.wu-addr{font-family:'IBM Plex Mono',monospace;font-size:8.5px;color:var(--mid);margin-top:2px;letter-spacing:.04em}
.wu-grade{font-family:'IBM Plex Mono',monospace;font-size:9px;font-weight:700;color:#000;
  padding:1px 6px;border-radius:2px;display:inline-block}
.wu-inherit{font-family:'IBM Plex Mono',monospace;font-size:7.5px;color:var(--mid);margin-top:3px}

.wu-metric{font-family:'Playfair Display',serif;font-size:17px;font-weight:700;white-space:nowrap}
.wu-metric .up{color:var(--accent2)}.wu-metric .down{color:var(--red)}
.wu-sub{font-family:'IBM Plex Mono',monospace;font-size:8.5px;color:var(--mid);font-weight:400;margin-top:2px}
.up{color:var(--accent2)}.down{color:var(--red)}.wu-mid{color:var(--mid)}
.wu-spark{margin-left:8px;height:22px;vertical-align:middle;display:inline-block}
.wu-spark rect{fill:var(--accent2)}
.wu-holding{font-family:'IBM Plex Mono',monospace;font-size:9px;color:var(--gold);
  font-weight:400;margin-top:3px;white-space:nowrap}
.att{color:var(--gold)}
.wu-tplabel{font-family:'IBM Plex Mono',monospace;font-size:7px;letter-spacing:.14em;
  color:var(--accent2);font-weight:600;margin-top:2px}
.wu-tplabel.wu-mid{color:var(--mid);font-weight:400}
.wu-tpflag{color:var(--gold);margin-left:5px;letter-spacing:.04em;font-weight:400}
.wu-copy{color:var(--blue);font-size:10px;line-height:1.35;max-width:230px}
.wu-hm{font-size:10.5px}

/* freshness — colour encodes staleness, never decoration */
.wu-pill{font-family:'IBM Plex Mono',monospace;font-size:8px;letter-spacing:.06em;
  padding:2px 6px;border-radius:2px;border:1px solid var(--border);margin-right:4px;
  display:inline-block;white-space:nowrap;margin-bottom:2px}
.wu-fresh{color:var(--accent2);background:rgba(0,201,167,.08);border-color:rgba(0,201,167,.25)}
.wu-warm{color:var(--gold);background:rgba(245,200,66,.07);border-color:rgba(245,200,66,.22)}
.wu-stale{color:var(--red);background:rgba(255,87,87,.07);border-color:rgba(255,87,87,.22)}
.wu-never{color:var(--mid);background:repeating-linear-gradient(45deg,transparent,transparent 3px,rgba(255,255,255,.03) 3px,rgba(255,255,255,.03) 6px);
  border-style:dashed}
.wu-fresh-cell{min-width:150px}
.wu-conf{font-family:'IBM Plex Mono',monospace;font-size:9px;color:var(--mid);white-space:nowrap}

/* drill-down */
.wu-detail-row td{padding:0;background:var(--card2,#161616);border-bottom:2px solid var(--blue)}
.wu-detail{padding:16px 18px}
.wu-d-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1px;
  background:var(--border);border:1px solid var(--border);margin-bottom:14px}
.wu-kv{background:var(--card,#111);padding:8px 10px}
.wu-kv span{display:block;font-family:'IBM Plex Mono',monospace;font-size:7.5px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--mid)}
.wu-kv b{font-size:13px;font-weight:600;display:block;margin-top:3px}
.wu-d-sec{margin-bottom:12px}
.wu-d-h{font-family:'IBM Plex Mono',monospace;font-size:8px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--mid);margin-bottom:6px}
.wu-d-wins{display:flex;flex-wrap:wrap;gap:10px}
.wu-win{font-size:11.5px;background:var(--card,#111);padding:4px 9px;border:1px solid var(--border);border-radius:2px}
.wu-rec{font-size:11px;margin-bottom:3px}
.wu-plan{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--blue)}
.wu-note{font-size:10px;color:var(--mid);margin-top:5px;font-style:italic;line-height:1.45}
.wu-d-links{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  border-top:1px solid var(--border);padding-top:10px;margin-top:4px}
.wu-d-links a{font-family:'IBM Plex Mono',monospace;font-size:8.5px;letter-spacing:.08em;
  color:var(--blue);text-decoration:none;padding:4px 9px;border:1px solid var(--border);
  border-radius:3px;background:rgba(56,189,248,.06)}
.wu-d-links a:hover{border-color:var(--blue);background:rgba(56,189,248,.15)}
.wu-mono{font-family:'IBM Plex Mono',monospace;font-size:8.5px;color:var(--mid);
  word-break:break-all;user-select:all}

.wu-foot{font-family:'IBM Plex Mono',monospace;font-size:9px;color:var(--mid);
  padding:10px;letter-spacing:.06em;border-top:1px solid var(--border)}
.wu-sortbar{display:flex;gap:4px;padding:8px 10px;flex-wrap:wrap;align-items:center}
.wu-sbtn{font-family:'IBM Plex Mono',monospace;font-size:8.5px;letter-spacing:.1em;
  padding:4px 10px;border:1px solid var(--border);background:transparent;color:var(--mid);
  cursor:pointer;border-radius:2px}
.wu-sbtn:hover{color:var(--white,#F5F4F0);border-color:var(--mid)}
.wu-sbtn.active{background:var(--gold);color:#000;border-color:var(--gold);font-weight:700}

@media(max-width:900px){.wu-hm{display:none}.wu-d-grid{grid-template-columns:repeat(2,1fr)}}
