/* Secondary-tab visual system. Presentation only: no markup, IDs, events, data contracts, or business logic changed. */

.panel:not(#panel-game) {
  color: var(--bb-text);
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.14) transparent;
}

.panel:not(#panel-game)::before {
  content: '';
  display: block;
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 50% -12%, rgba(247,147,26,.055), transparent 36%);
  z-index: -1;
}

.panel:not(#panel-game) > .panel-title {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 30px;
  margin: 0 0 12px;
  padding: 0 2px;
  color: var(--bb-text);
  font: 700 16px/1.2 var(--font-display);
  letter-spacing: -.015em;
}

.panel:not(#panel-game) > .panel-title::first-letter {
  color: var(--bb-orange);
}

/* Shared compact cards */
.panel:not(#panel-game) .ref-stat-box,
.panel:not(#panel-game) .wallet-section,
.panel:not(#panel-game) .ref-total-box,
.panel:not(#panel-game) .my-rank-banner,
.panel:not(#panel-game) .history-row,
.panel:not(#panel-game) .leaderboard-row,
.panel:not(#panel-game) .wallet-connected,
.panel:not(#panel-game) .deposit-connect-card,
.panel:not(#panel-game) .manual-deposit-card {
  background: linear-gradient(145deg, var(--bb-surface-2), var(--bb-surface));
  border: 1px solid var(--bb-line);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.018);
}

.panel:not(#panel-game) .referral-stats,
.panel:not(#panel-game) .withdraw-stats {
  gap: 7px;
  margin-bottom: 10px;
}

.panel:not(#panel-game) .ref-stat-box {
  border-radius: 12px;
  padding: 10px 6px 9px;
  min-height: 60px;
}

.panel:not(#panel-game) .ref-stat-value {
  color: var(--bb-text);
  font: 700 15px/1 var(--font-mono);
}

.panel:not(#panel-game) .ref-stat-label {
  color: var(--bb-muted);
  font: 500 10px/1.35 var(--font-body);
  margin-top: 5px;
}

.panel:not(#panel-game) .ref-total-box {
  border-radius: 12px;
  padding: 10px 12px;
  margin-bottom: 10px;
  background: rgba(247,147,26,.055);
  border-color: rgba(247,147,26,.22);
  color: var(--bb-muted);
  font-size: 13px;
  line-height: 1.65;
  text-align: right;
  direction: rtl;
}

.panel:not(#panel-game) .ref-total-box b {
  color: var(--bb-orange);
  font: 700 15px/1 var(--font-mono);
}

.panel:not(#panel-game) .ref-total-note {
  color: var(--bb-muted);
  font-size: 11px;
  line-height: 1.45;
  margin-top: 5px;
}

/* Section hierarchy */
.panel:not(#panel-game) .wallet-section {
  border-radius: 15px;
  padding: 12px;
  margin-bottom: 10px;
}

.panel:not(#panel-game) .wallet-section-title {
  color: var(--bb-text);
  font: 700 11px/1.3 var(--font-body);
  margin-bottom: 4px;
}

.panel:not(#panel-game) .wallet-section-subtitle {
  color: var(--bb-muted);
  font: 500 13px/1.55 var(--font-body);
  margin-bottom: 10px;
}

.panel:not(#panel-game) .deposit-connect-card,
.panel:not(#panel-game) .manual-deposit-card {
  border-radius: 12px;
  padding: 11px;
  margin-bottom: 8px;
}

.panel:not(#panel-game) .deposit-method-title {
  color: var(--bb-text);
  font: 700 10px/1.3 var(--font-body);
  margin-bottom: 5px;
}

.panel:not(#panel-game) .deposit-method-note {
  color: var(--bb-muted);
  font: 500 13px/1.65 var(--font-body);
  margin-bottom: 9px;
}

.panel:not(#panel-game) .deposit-or,
.panel:not(#panel-game) .divider {
  color: var(--bb-muted);
  font: 500 11px/1.4 var(--font-body);
  margin: 12px 0;
}

.panel:not(#panel-game) .divider::before,
.panel:not(#panel-game) .divider::after {
  border-color: var(--bb-line);
}

/* Inputs and primary actions */
.panel:not(#panel-game) .deposit-input {
  height: 38px;
  min-height: 38px;
  background: #0a0e14;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 10px;
  color: var(--bb-text);
  font: 600 10px/1 var(--font-mono);
  padding: 0 10px;
  outline: none;
}

.panel:not(#panel-game) .deposit-input::placeholder {
  color: #5f6876;
}

.panel:not(#panel-game) .deposit-input:focus {
  border-color: rgba(247,147,26,.55);
  box-shadow: 0 0 0 2px rgba(247,147,26,.08);
}

.panel:not(#panel-game) .cta-btn {
  min-height: 38px;
  border: 1px solid rgba(247,147,26,.32);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(247,147,26,.16), rgba(247,147,26,.08));
  color: var(--bb-orange);
  font: 700 10px/1 var(--font-body);
  box-shadow: none;
  transition: transform .12s ease, background .12s ease, border-color .12s ease;
}

.panel:not(#panel-game) .cta-btn:active {
  transform: scale(.985);
  background: rgba(247,147,26,.18);
}

.panel:not(#panel-game) .cta-btn.small {
  min-height: 38px;
  border-radius: 10px;
  padding: 0 14px;
}

.panel:not(#panel-game) .link-btn {
  color: var(--bb-muted);
  font: 500 8px/1.2 var(--font-body);
  text-decoration: none;
}

.panel:not(#panel-game) .link-btn:hover,
.panel:not(#panel-game) .link-btn:active {
  color: var(--bb-orange);
}

/* Wallet / deposit */
.panel:not(#panel-game) .copy-field-row {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 8px;
}

.panel:not(#panel-game) .deposit-field-label {
  color: var(--bb-muted);
  font: 500 10px/1.35 var(--font-body);
  margin: 4px 0;
}

.panel:not(#panel-game) .copy-field-row code {
  flex: 1;
  min-width: 0;
  height: 32px;
  display: flex;
  align-items: center;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  padding: 0 8px;
  border-radius: 8px;
  background: #090d13;
  border: 1px solid rgba(255,255,255,.07);
  color: var(--bb-text);
  font: 500 8px/1 var(--font-mono);
}

.panel:not(#panel-game) .copy-btn {
  height: 32px;
  padding: 0 9px;
  border: 1px solid var(--bb-line);
  border-radius: 8px;
  background: var(--bb-surface-3);
  color: var(--bb-muted);
  font: 600 8px/1 var(--font-body);
}

.panel:not(#panel-game) .deposit-warning {
  margin-top: 9px;
  padding: 8px 9px;
  border: 1px solid rgba(233,184,79,.20);
  border-radius: 9px;
  background: rgba(233,184,79,.045);
  color: var(--bb-muted);
  font: 500 12px/1.65 var(--font-body);
}

.panel:not(#panel-game) .deposit-warning strong {
  color: var(--bb-gold);
}

.panel:not(#panel-game) .wallet-address {
  color: var(--bb-up);
  font: 600 8px/1.4 var(--font-mono);
}

.panel:not(#panel-game) .deposit-chips {
  margin-bottom: 8px;
}

.panel:not(#panel-game) .deposit-custom-row {
  gap: 7px;
  margin-bottom: 7px;
}

/* History */
.panel:not(#panel-game) .history-list {
  gap: 7px;
}

.panel:not(#panel-game) .history-row {
  min-height: 53px;
  border-radius: 12px;
  padding: 9px 11px;
  font-size: 13px;
  line-height: 1.55;
}

.panel:not(#panel-game) .history-row .h-main {
  gap: 3px;
}

.panel:not(#panel-game) .history-row .h-dir {
  color: var(--bb-text);
  font: 700 13px/1.35 var(--font-body);
}

.panel:not(#panel-game) .history-row .h-date {
  color: var(--bb-muted);
  font: 500 10px/1.2 var(--font-mono);
}

.panel:not(#panel-game) .history-row .h-amount {
  font: 700 13px/1.35 var(--font-mono);
}

/* Leaderboard */
.panel:not(#panel-game) .leaderboard-list {
  gap: 7px;
}

.panel:not(#panel-game) .leaderboard-row {
  min-height: 49px;
  border-radius: 12px;
  padding: 8px 11px;
  font-size: 13px;
  line-height: 1.55;
}

.panel:not(#panel-game) .leaderboard-row .rank {
  color: var(--bb-gold);
  width: 25px;
  font: 700 11px/1 var(--font-mono);
}

.panel:not(#panel-game) .my-rank-banner {
  border-radius: 12px;
  padding: 9px 11px;
  margin-bottom: 9px;
  color: var(--bb-muted);
  font: 500 13px/1.55 var(--font-body);
}

.panel:not(#panel-game) .my-rank-banner b {
  color: var(--bb-orange);
  font: 700 13px/1 var(--font-mono);
}

/* Referral */
.panel:not(#panel-game) #referralLinkBox {
  margin-bottom: 9px;
}

.panel:not(#panel-game) #referralLinkBox > * {
  border-radius: 12px;
}

/* Admin-specific hierarchy */
#panel-admin .wallet-section {
  border-color: rgba(247,147,26,.18);
}

#panel-admin .wallet-section-title {
  color: var(--bb-orange);
}

/* Preserve existing runtime-generated admin controls, but make them part of the same visual language. */
#panel-admin > *:not(.panel-title) {
  max-width: 100%;
}

#panel-admin button:not(.nav-btn),
#panel-admin input,
#panel-admin select,
#panel-admin textarea {
  font-family: var(--font-body);
}

/* Empty/loading states */
.panel:not(#panel-game) #historyList:empty::after,
.panel:not(#panel-game) #leaderboardList:empty::after,
.panel:not(#panel-game) #refHistory:empty::after,
.panel:not(#panel-game) #revHistory:empty::after {
  content: '—';
  display: block;
  padding: 18px;
  text-align: center;
  color: var(--bb-muted);
  font: 500 10px/1 var(--font-mono);
}

@media (min-width:601px) {
  .panel:not(#panel-game).active {
    max-width: 520px;
    margin: 0 auto;
  }
}

@media (max-width:360px) {
  .panel:not(#panel-game).active {
    padding-inline: 10px !important;
  }
  .panel:not(#panel-game) .ref-stat-box {
    min-height: 56px;
  }
  .panel:not(#panel-game) .ref-stat-value {
    font-size: 14px;
  }
}
