
/* Used on t-bill-calculator */
.btn-primary {
    border-radius: 8px;
    font-weight: 500;
}

.fs-4, .fs-5 {
    font-variant-numeric: tabular-nums;
}

.table-responsive thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--bs-light);
}

.table-sort {
    color: inherit;
    font-weight: 600;
}

.table-sort:hover {
    text-decoration: underline;
}
/* =========================
        Market ticker
========================= */
#marketTicker {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(90deg, #08111f 0%, #0d1b30 45%, #112544 100%);
  border-top: 1px solid rgba(255, 255, 255, 0.04);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  color: #e8eef8;
  font-size: 0.9rem;
  letter-spacing: 0.01em;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.03),
    0 8px 18px rgba(3, 10, 20, 0.18);
}

#marketTicker::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg,
      rgba(255,255,255,0.03) 0%,
      rgba(255,255,255,0.01) 18%,
      rgba(255,255,255,0.00) 40%,
      rgba(255,255,255,0.02) 65%,
      rgba(255,255,255,0.00) 100%);
  pointer-events: none;
}

#marketTicker .container {
  position: relative;
  z-index: 1;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center;
  gap: 0.85rem;
  min-height: 46px;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  padding-top: 0.15rem;
  padding-bottom: 0.15rem;
}

#marketTicker .container::-webkit-scrollbar {
  display: none;
}

#marketTicker .ticker-label {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  padding: 0.42rem 0.72rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #1f56c8, #0ea5c6);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  box-shadow: 0 8px 18px rgba(14, 165, 198, 0.18);
}

#marketTicker .ticker-item {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  min-height: 32px;
  padding: 0.46rem 0.72rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #dbe7f5;
  line-height: 1;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
}

#marketTicker .ticker-item--best {
  background: rgba(14, 165, 198, 0.10);
  border-color: rgba(14, 165, 198, 0.22);
}

#marketTicker .ticker-meta {
  color: rgba(232, 238, 248, 0.72);
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

#marketTicker .ticker-symbol {
  color: #ffffff;
  font-weight: 700;
}

#marketTicker .ticker-value {
  color: #ffffff;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

#marketTicker .ticker-arrow {
  font-weight: 900;
  font-size: 0.86rem;
  line-height: 1;
}

#marketTicker .ticker-arrow.up {
  color: #48d597;
  text-shadow: 0 0 10px rgba(72, 213, 151, 0.18);
}

#marketTicker .ticker-arrow.down {
  color: #ff7a7a;
  text-shadow: 0 0 10px rgba(255, 122, 122, 0.14);
}

#marketTicker .ticker-updated {
  flex: 0 0 auto;
  color: rgba(232, 238, 248, 0.78);
  font-size: 0.8rem;
  font-weight: 600;
  padding-left: 0.35rem;
}

#marketTicker .ticker-loading,
#marketTicker .ticker-error {
  color: rgba(232, 238, 248, 0.82);
  font-weight: 600;
}

#marketTicker .ticker-error {
  color: #ffb4b4;
}

@media (max-width: 767.98px) {
  #marketTicker {
    font-size: 0.84rem;
  }

  #marketTicker .container {
    min-height: 42px;
    gap: 0.65rem;
  }

  #marketTicker .ticker-item {
    padding: 0.42rem 0.62rem;
  }

  #marketTicker .ticker-label {
    font-size: 0.66rem;
    padding: 0.38rem 0.62rem;
  }

  #marketTicker .ticker-updated {
    font-size: 0.74rem;
  }
}