/* Section: Holders Table
   Cohort summary cards + top 100 holders table. Owned by
   shared/dashboard/sections/holders_table/. */

.section--holders-table {
  margin-top: 2rem;
}

.section--holders-table .section-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.section--holders-table .section-title .badge {
  font-size: 0.7rem;
  padding: 0.15rem 0.5rem;
  border-radius: 4px;
  background: rgba(34, 197, 94, 0.15);
  color: #22c55e;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* ── Cohort summary ───────────────────────────────────────────── */

.cohort-summary {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}

@media (max-width: 800px) {
  .cohort-summary { grid-template-columns: repeat(2, 1fr); }
}

.cohort-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.cohort-card[hidden] { display: none; }

.cohort-card--retail   { background: linear-gradient(135deg, rgba(212,175,55,0.08), rgba(212,175,55,0.02)); border-color: rgba(212,175,55,0.25); }
.cohort-card--lp       { background: linear-gradient(135deg, rgba(168,85,247,0.08), rgba(168,85,247,0.02)); border-color: rgba(168,85,247,0.25); }
.cohort-card--cex      { background: linear-gradient(135deg, rgba(234,179,8,0.08),  rgba(234,179,8,0.02));  border-color: rgba(234,179,8,0.25); }
.cohort-card--treasury { background: linear-gradient(135deg, rgba(34,197,94,0.08),  rgba(34,197,94,0.02));  border-color: rgba(34,197,94,0.25); }
.cohort-card--locked   { background: linear-gradient(135deg, rgba(239,68,68,0.08),  rgba(239,68,68,0.02));  border-color: rgba(239,68,68,0.25); }

.cohort-card .cohort-label {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-muted);
  font-weight: 600;
}

.cohort-card .cohort-amount {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--text-primary);
  font-variant-numeric: tabular-nums;
}

.cohort-card .cohort-meta {
  font-size: 0.75rem;
  color: var(--text-secondary);
}

/* ── Table ────────────────────────────────────────────────────── */

.holders-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--bg-card);
}

.holders-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}

.holders-table thead {
  background: var(--bg-secondary);
  border-bottom: 1px solid var(--border);
}

.holders-table th {
  text-align: left;
  padding: 0.6rem 0.75rem;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-muted);
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
}

.holders-table th[data-sort]:hover { color: var(--accent); }
.holders-table th[data-sort].sort-asc::after  { content: " ↑"; }
.holders-table th[data-sort].sort-desc::after { content: " ↓"; }

.holders-table th.col-amount,
.holders-table th.col-usd,
.holders-table th.col-pct { text-align: right; }

.holders-table td {
  padding: 0.55rem 0.75rem;
  border-bottom: 1px solid var(--border);
  font-variant-numeric: tabular-nums;
  color: var(--text-secondary);
}

.holders-table tbody tr:hover { background: var(--bg-secondary); }
.holders-table tbody tr:last-child td { border-bottom: none; }

.holders-table .col-rank    { color: var(--text-muted); width: 36px; }
.holders-table .col-amount,
.holders-table .col-usd,
.holders-table .col-pct { text-align: right; }

.holders-table .holders-empty-cell {
  text-align: center;
  padding: 1rem;
  color: var(--text-muted);
}

.holders-table .wallet-link {
  color: var(--text-secondary);
  text-decoration: none;
  font-family: var(--font-mono, monospace);
  font-size: 0.78rem;
}

.holders-table .wallet-link:hover { color: var(--accent); }

.holders-table .label {
  display: inline-block;
  padding: 0.1rem 0.4rem;
  border-radius: 3px;
  font-size: 0.7rem;
  font-weight: 600;
  background: rgba(168, 85, 247, 0.15);
  color: #a78bfa;
  margin-right: 0.4rem;
  vertical-align: middle;
}

.holders-table .label--lp       { background: rgba(168,85,247,0.15); color: #a78bfa; }
.holders-table .label--cex      { background: rgba(234,179,8,0.15);  color: #facc15; }
.holders-table .label--treasury { background: rgba(34,197,94,0.15);  color: #4ade80; }
.holders-table .label--locker   { background: rgba(239,68,68,0.15);  color: #f87171; }

.holders-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 1rem;
  border-top: 1px solid var(--border);
  font-size: 0.8rem;
  color: var(--text-muted);
}

.holders-pagination button {
  padding: 0.35rem 0.75rem;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 4px;
  color: var(--text-primary);
  cursor: pointer;
  font-size: 0.8rem;
}

.holders-pagination button:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.holders-pagination .page-controls {
  display: flex;
  gap: 0.5rem;
}
