/* Shared portfolio presentation, using site color and type tokens. */
.vip-presentation-tabs { display:flex; gap:6px; margin:0 0 16px; }
.vip-presentation-tabs .btn { min-width:96px; }
.vip-agent-panel { display:grid; gap:16px; }
.vip-agent-comparison { display:grid; gap:10px; max-width:1100px; }
.vip-agent-bar { display:grid; grid-template-columns:minmax(120px,220px) minmax(80px,1fr) minmax(90px,140px); gap:16px; align-items:center; }
.vip-agent-bar .user-link { text-align:left; overflow-wrap:anywhere; }
.vip-agent-bar .num { text-align:right; font-variant-numeric:tabular-nums; }
.vip-agent-bar meter { width:100%; height:18px; background:var(--sub); border:0; }
.vip-agent-bar meter::-webkit-meter-bar { background:var(--sub); border:0; border-radius:4px; }
.vip-agent-bar meter::-webkit-meter-optimum-value { background:var(--navy); border-radius:4px; }
.vip-agent-bar.negative meter::-webkit-meter-optimum-value { background:var(--neg); }
.vip-agent-bar meter::-moz-meter-bar { background:var(--navy); }
.vip-agent-bar.negative meter::-moz-meter-bar { background:var(--neg); }
.vip-agent-table table { min-width:1080px; }
.vip-agent-table tbody th, .vip-agent-table tfoot th { position:sticky; left:0; background:var(--surface); z-index:1; min-width:180px; }
.vip-agent-table tfoot { font-weight:600; background:var(--sub); border-top:2px solid var(--line-2); }
.vip-agent-table tfoot th { background:var(--sub); }
@media (max-width:600px) { .vip-agent-bar { grid-template-columns:minmax(0,1fr) 104px; gap:4px 12px; } .vip-agent-bar meter { grid-column:1;grid-row:2; } .vip-agent-bar .num { grid-column:2; grid-row:1 / 3; } }
.vip-agent-table .table-sort { display:inline-flex; justify-content:flex-end; gap:4px; align-items:center; padding:4px 0; border:0; background:none; color:inherit; font:inherit; text-align:right; cursor:pointer; }
.vip-agent-table .table-sort:hover { color:var(--navy); }
.vip-agent-table th[aria-sort="descending"] .table-sort::after { content:'↓'; }
.vip-agent-table th[aria-sort="ascending"] .table-sort::after { content:'↑'; }

.vip-deposits { text-align:left; margin-top:6px; font-size:12px; font-weight:400; }
.vip-deposits > summary { cursor:pointer; color:var(--navy); white-space:nowrap; }
.vip-deposit-details { min-width:680px; max-width:980px; padding:12px; border:1px solid var(--line-2); border-radius:6px; background:var(--surface); }
.vip-deposit-details .hint,.vip-deposit-details .note { white-space:normal; margin:0 0 8px; }
.vip-deposit-details table { min-width:760px; font-size:12px; }
.vip-deposit-details th { position:static; }
.vip-deposit-details .table-wrap { max-height:440px; overflow:auto; }
.vip-deposit-details thead th { position:sticky; top:0; z-index:3; background:var(--sub); }
