/* =========================
   YearBull — Top Bullish 100 (table)
   Scoped: .yb-dashboard.yb-tb100
   ========================= */

.yb-dashboard.yb-tb100{
  --bg:#ffffff;
  --text:#0f172a;
  --muted:rgba(15,23,42,.65);
  --border:rgba(15,23,42,.10);

  margin:18px 0 22px;
  color:var(--text);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  max-width:100%;
}

@media (prefers-color-scheme:dark){
  .yb-dashboard.yb-tb100{
    --bg:#0b1220;
    --text:rgba(255,255,255,.92);
    --muted:rgba(255,255,255,.65);
    --border:rgba(255,255,255,.10);
  }
}

/* card */
.yb-dashboard.yb-tb100 .yb-card{
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:14px;
  padding:16px;
  min-width:0;
}

/* header */
.yb-dashboard.yb-tb100 .yb-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}
.yb-dashboard.yb-tb100 .yb-h1{font-weight:900;font-size:18px;letter-spacing:.2px;line-height:1.2}
.yb-dashboard.yb-tb100 .yb-sub{opacity:.85;margin-top:6px;line-height:1.35}
.yb-dashboard.yb-tb100 .yb-tb100-note{font-size:13px}

.yb-dashboard.yb-tb100 .yb-tb100-wrap{
  margin-top:12px;
  max-width:100%;
}

/* controls (pager) */
.yb-dashboard.yb-tb100 .yb-tb100-controls{
  display:flex;
  align-items:center;
  gap:14px;
  margin:6px 0 14px;
}
.yb-dashboard.yb-tb100 .yb-pager-btn{
  height:42px;
  padding:0 14px;
  border-radius:12px;
  border:1px solid var(--border);
  background:transparent;
  font-weight:800;
  cursor:pointer;
}
.yb-dashboard.yb-tb100 .yb-pager-btn:disabled{
  opacity:.5;
  cursor:not-allowed;
}
.yb-dashboard.yb-tb100 .yb-page{
  font-weight:800;
  color:var(--text);
}

/* table wrapper */
.yb-dashboard.yb-tb100 .crypto-table-wrapper{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

/* table */
.yb-dashboard.yb-tb100 .crypto-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  min-width:920px;
}

.yb-dashboard.yb-tb100 .crypto-table thead th{
  text-align:left;
  padding:14px 16px;
  background:rgba(15,23,42,.06);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  font-weight:900;
  color:#16a34a;
}
@media (prefers-color-scheme:dark){
  .yb-dashboard.yb-tb100 .crypto-table thead th{
    background:rgba(255,255,255,.06);
  }
}

.yb-dashboard.yb-tb100 .crypto-table thead th:first-child{
  border-left:1px solid var(--border);
  border-top-left-radius:14px;
}
.yb-dashboard.yb-tb100 .crypto-table thead th:last-child{
  border-right:1px solid var(--border);
  border-top-right-radius:14px;
}

.yb-dashboard.yb-tb100 .crypto-table tbody td{
  padding:16px 16px;
  border-bottom:1px solid var(--border);
  border-left:1px solid var(--border);
  vertical-align:middle;
  background:var(--bg);
}
.yb-dashboard.yb-tb100 .crypto-table tbody tr td:last-child{
  border-right:1px solid var(--border);
}
.yb-dashboard.yb-tb100 .crypto-table tbody tr:last-child td:first-child{
  border-bottom-left-radius:14px;
}
.yb-dashboard.yb-tb100 .crypto-table tbody tr:last-child td:last-child{
  border-bottom-right-radius:14px;
}

/* header sort buttons inside th */
.yb-dashboard.yb-tb100 .crypto-table .yb-sort{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  font-weight:900;
  cursor:pointer;
  padding:0;
}

/* column sizing + alignment */
.yb-dashboard.yb-tb100 .crypto-table th.col-coin,
.yb-dashboard.yb-tb100 .crypto-table td.col-coin{min-width:320px;}
.yb-dashboard.yb-tb100 .crypto-table th.col-rank,
.yb-dashboard.yb-tb100 .crypto-table td.col-rank{min-width:120px;}
.yb-dashboard.yb-tb100 .crypto-table th.col-chg,
.yb-dashboard.yb-tb100 .crypto-table td.col-chg{min-width:140px;}
.yb-dashboard.yb-tb100 .crypto-table th.col-vol,
.yb-dashboard.yb-tb100 .crypto-table td.col-vol{min-width:160px;}
.yb-dashboard.yb-tb100 .crypto-table th.col-bull,
.yb-dashboard.yb-tb100 .crypto-table td.col-bull{min-width:110px;}
.yb-dashboard.yb-tb100 .crypto-table th.col-risk,
.yb-dashboard.yb-tb100 .crypto-table td.col-risk{min-width:120px;}
.yb-dashboard.yb-tb100 .crypto-table th.col-cycle,
.yb-dashboard.yb-tb100 .crypto-table td.col-cycle{min-width:120px;}

.yb-dashboard.yb-tb100 .crypto-table td.col-rank,
.yb-dashboard.yb-tb100 .crypto-table td.col-chg,
.yb-dashboard.yb-tb100 .crypto-table td.col-vol,
.yb-dashboard.yb-tb100 .crypto-table td.col-bull,
.yb-dashboard.yb-tb100 .crypto-table td.col-risk,
.yb-dashboard.yb-tb100 .crypto-table td.col-cycle{
  text-align:left;
  white-space:nowrap;
}

/* coin cell */
.yb-dashboard.yb-tb100 .coin{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.yb-dashboard.yb-tb100 .yb-coin-ico{flex:0 0 28px;}
.yb-dashboard.yb-tb100 .yb-coin-img{
  width:28px;height:28px;max-width:28px;max-height:28px;
  object-fit:contain;border-radius:50%;display:block;
}
.yb-dashboard.yb-tb100 .yb-coin-img--empty{
  width:28px;height:28px;border-radius:50%;
  background:rgba(0,0,0,.06);
  display:block;
}
@media (prefers-color-scheme:dark){
  .yb-dashboard.yb-tb100 .yb-coin-img--empty{background:rgba(255,255,255,.08)}
}
.yb-dashboard.yb-tb100 .yb-coin-meta{
  display:flex;
  flex-direction:column;
  min-width:0;
  line-height:1.15;
}
.yb-dashboard.yb-tb100 .yb-coin-name{
  display:block;
  font-weight:900;
  font-size:15px;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:inherit;
  text-decoration:none;
}
.yb-dashboard.yb-tb100 .yb-coin-name:hover{text-decoration:underline}
.yb-dashboard.yb-tb100 .yb-coin-sym{
  display:block;
  opacity:.65;
  font-size:12px;
  line-height:1.1;
  margin-top:2px;
  white-space:nowrap;
}

/* badges / pills */
.yb-dashboard.yb-tb100 .yb-rank,
.yb-dashboard.yb-tb100 .yb-bull-score,
.yb-dashboard.yb-tb100 .yb-cycle,
.yb-dashboard.yb-tb100 .yb-risk{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:3px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  line-height:1.2;
  white-space:nowrap;
  border:1px solid rgba(0,0,0,.08);
  background:rgba(0,0,0,.02);
  font-variant-numeric:tabular-nums;
}
@media (prefers-color-scheme:dark){
  .yb-dashboard.yb-tb100 .yb-rank,
  .yb-dashboard.yb-tb100 .yb-bull-score,
  .yb-dashboard.yb-tb100 .yb-cycle,
  .yb-dashboard.yb-tb100 .yb-risk{
    border-color:rgba(255,255,255,.14);
    background:rgba(255,255,255,.04);
  }
}

.yb-dashboard.yb-tb100 .yb-rank.yb-rank--good{color:#16a34a;background:rgba(22,163,74,.12);border-color:rgba(22,163,74,.35)}
.yb-dashboard.yb-tb100 .yb-rank.yb-rank--mid {color:#f59e0b;background:rgba(245,158,11,.14);border-color:rgba(245,158,11,.40)}
.yb-dashboard.yb-tb100 .yb-rank.yb-rank--bad {color:#dc2626;background:rgba(220,38,38,.14);border-color:rgba(220,38,38,.40)}

.yb-dashboard.yb-tb100 .yb-bull-high{background:rgba(22,163,74,.14);color:#16a34a;border-color:rgba(22,163,74,.20)}
.yb-dashboard.yb-tb100 .yb-bull-mid {background:rgba(100,116,139,.14);color:#64748b;border-color:rgba(100,116,139,.22)}
.yb-dashboard.yb-tb100 .yb-bull-low {background:rgba(220,38,38,.14);color:#dc2626;border-color:rgba(220,38,38,.20)}

.yb-dashboard.yb-tb100 .yb-cycle-early{background:rgba(80,120,255,.12);color:#5078ff;border-color:rgba(80,120,255,.20)}
.yb-dashboard.yb-tb100 .yb-cycle-mid  {background:rgba(22,163,74,.14);color:#16a34a;border-color:rgba(22,163,74,.20)}
.yb-dashboard.yb-tb100 .yb-cycle-late {background:rgba(245,158,11,.16);color:#f59e0b;border-color:rgba(245,158,11,.22)}

.yb-dashboard.yb-tb100 .yb-risk-low {color:#16a34a;background:rgba(22,163,74,.08);border-color:rgba(22,163,74,.35)}
.yb-dashboard.yb-tb100 .yb-risk-mid {color:#f59e0b;background:rgba(245,158,11,.10);border-color:rgba(245,158,11,.40)}
.yb-dashboard.yb-tb100 .yb-risk-high{color:#dc2626;background:rgba(220,38,38,.10);border-color:rgba(220,38,38,.40)}

/* 24h pill (match dashboard feel) */
.yb-dashboard.yb-tb100 .yb-chg-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 12px;
  border-radius:12px;
  font-weight:900;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.yb-dashboard.yb-tb100 .yb-chg-pill.is-up{color:#16a34a;background:rgba(22,163,74,.10)}
.yb-dashboard.yb-tb100 .yb-chg-pill.is-down{color:#dc2626;background:rgba(220,38,38,.10)}
.yb-dashboard.yb-tb100 .yb-chg-pill.ext-up{background:rgba(22,163,74,.16)}
.yb-dashboard.yb-tb100 .yb-chg-pill.ext-down{background:rgba(220,38,38,.16)}
