
/* ---- styles.css ---- */

:root {
  --bg: #060812;
  --bg2: #0b1022;
  --panel: rgba(11, 17, 34, 0.78);
  --panel2: rgba(18, 26, 48, 0.86);
  --border: rgba(139, 187, 255, 0.18);
  --text: #f3f7ff;
  --muted: #9ba9c7;
  --cyan: #24d7ff;
  --blue: #4a7cff;
  --green: #21e6a2;
  --purple: #a855f7;
  --gold: #f7c75b;
  --red: #ff5c7a;
  --shadow: 0 28px 80px rgba(0, 0, 0, 0.45);
  --radius: 24px;
  color-scheme: dark;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  min-height: 100vh;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 20% 10%, rgba(36, 215, 255, 0.18), transparent 28rem),
    radial-gradient(circle at 80% 0%, rgba(168, 85, 247, 0.16), transparent 28rem),
    linear-gradient(135deg, #05060d 0%, #091225 52%, #040711 100%);
  color: var(--text);
  overflow-x: hidden;
}

button, select, input { font: inherit; }

button {
  border: 0;
  color: inherit;
  cursor: pointer;
}

button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  filter: grayscale(0.4);
}

.bg-grid {
  position: fixed;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.028) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: radial-gradient(circle at center, black, transparent 72%);
  pointer-events: none;
  z-index: -2;
}

.bg-orb {
  position: fixed;
  width: 42rem;
  height: 42rem;
  filter: blur(70px);
  opacity: 0.22;
  border-radius: 999px;
  z-index: -3;
  pointer-events: none;
}

.bg-orb-a { background: var(--cyan); top: -18rem; left: -12rem; }
.bg-orb-b { background: var(--purple); bottom: -22rem; right: -14rem; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1rem;
  padding: 1rem clamp(1rem, 3vw, 2.25rem);
  backdrop-filter: blur(18px);
  background: rgba(5, 7, 16, 0.72);
  border-bottom: 1px solid var(--border);
}

.brand {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  background: transparent;
  text-align: left;
}

.brand-mark {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(36, 215, 255, 0.32), rgba(168, 85, 247, 0.22));
  border: 1px solid rgba(36, 215, 255, 0.35);
  box-shadow: 0 0 28px rgba(36, 215, 255, 0.22);
  font-weight: 900;
}

.brand strong { display: block; letter-spacing: 0.06em; }
.brand small { display: block; color: var(--muted); font-size: 0.72rem; letter-spacing: 0.1em; }

.top-nav {
  display: inline-flex;
  gap: 0.35rem;
  padding: 0.35rem;
  border: 1px solid var(--border);
  background: rgba(8, 14, 28, 0.7);
  border-radius: 999px;
}

.top-nav button {
  padding: 0.75rem 1rem;
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  transition: 180ms ease;
}

.top-nav button:hover,
.top-nav button.active {
  color: var(--text);
  background: rgba(255, 255, 255, 0.08);
}

.mode-pill {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: #bafde9;
  padding: 0.75rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(33, 230, 162, 0.28);
  background: rgba(33, 230, 162, 0.08);
  white-space: nowrap;
}

.mode-pill span {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--green);
  box-shadow: 0 0 16px var(--green);
}

main { width: min(1540px, calc(100% - 2rem)); margin: 0 auto; }

.view { display: none; padding: clamp(1.5rem, 4vw, 4rem) 0; }
.view.active { display: block; animation: fadeIn 260ms ease both; }

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.hero {
  min-height: calc(100vh - 112px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(380px, 0.86fr);
  align-items: center;
  gap: clamp(1rem, 4vw, 3rem);
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--cyan);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 800;
  font-size: 0.78rem;
}

.hero h1,
.section-heading h2 {
  margin: 1rem 0;
  font-size: clamp(2.65rem, 6vw, 6.8rem);
  line-height: 0.92;
  letter-spacing: -0.08em;
}

.hero p,
.section-heading p,
.admin-card p,
.table-info-card p {
  color: var(--muted);
  line-height: 1.72;
  font-size: 1.03rem;
}

.hero-copy { max-width: 780px; }

.hero-actions { display: flex; flex-wrap: wrap; gap: 0.8rem; margin: 2rem 0; }

.primary-btn,
.secondary-btn,
.ghost-btn,
.danger-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.85rem 1.15rem;
  border-radius: 14px;
  font-weight: 900;
  letter-spacing: 0.02em;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease;
}

.primary-btn {
  background: linear-gradient(135deg, var(--cyan), var(--blue));
  color: #02111b;
  box-shadow: 0 18px 38px rgba(36, 215, 255, 0.18);
}

.secondary-btn {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid var(--border);
  color: var(--text);
}

.secondary-btn.gold {
  background: linear-gradient(135deg, rgba(247, 199, 91, 0.28), rgba(247, 199, 91, 0.1));
  border-color: rgba(247, 199, 91, 0.5);
}

.ghost-btn {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.11);
  color: var(--muted);
}

.danger-btn {
  background: rgba(255, 92, 122, 0.1);
  border: 1px solid rgba(255, 92, 122, 0.34);
  color: #ffc9d3;
}

.primary-btn:hover:not(:disabled),
.secondary-btn:hover:not(:disabled),
.ghost-btn:hover:not(:disabled),
.danger-btn:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
}

.full { width: 100%; }

.compliance-note {
  max-width: 690px;
  padding: 1rem 1.1rem;
  border-radius: 18px;
  color: #ffe5aa;
  border: 1px solid rgba(247, 199, 91, 0.26);
  background: rgba(247, 199, 91, 0.08);
}

.hero-panel {
  min-height: 540px;
  border: 1px solid var(--border);
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.86), rgba(5, 10, 22, 0.72));
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
  position: relative;
}

.mock-window-bar {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 1rem;
  border-bottom: 1px solid var(--border);
  background: rgba(0, 0, 0, 0.18);
}

.mock-window-bar span {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.24);
}

.mock-window-bar em { margin-left: auto; color: var(--muted); font-style: normal; font-size: 0.75rem; letter-spacing: 0.12em; }

.mini-table {
  position: relative;
  width: min(84%, 660px);
  height: 330px;
  margin: 4rem auto 2rem;
  border-radius: 48% / 44%;
  background:
    radial-gradient(circle at center, rgba(33, 230, 162, 0.14), transparent 45%),
    linear-gradient(135deg, rgba(6, 107, 103, 0.82), rgba(14, 36, 70, 0.9));
  border: 20px solid rgba(9, 14, 28, 0.96);
  box-shadow:
    inset 0 0 0 4px rgba(36, 215, 255, 0.28),
    0 0 80px rgba(36, 215, 255, 0.1);
}

.mini-seat {
  position: absolute;
  display: grid;
  place-items: center;
  width: 80px;
  height: 38px;
  border-radius: 999px;
  background: rgba(3, 9, 20, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: var(--muted);
}

.seat-a { top: 26px; left: 50%; transform: translateX(-50%); }
.seat-b { right: 18px; top: 45%; }
.seat-c { bottom: 18px; left: 50%; transform: translateX(-50%); color: white; border-color: rgba(36, 215, 255, 0.5); }

.mini-board {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
}

.mini-board span,
.card {
  display: grid;
  place-items: center;
  width: 54px;
  height: 76px;
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff, #e9eef9);
  color: #101525;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.28);
  font-weight: 900;
  animation: cardEnter 260ms cubic-bezier(.2,.9,.2,1) both;
}

.card.red { color: #d41f3c; }
.card.back {
  color: transparent;
  background:
    linear-gradient(135deg, rgba(36, 215, 255, 0.24), rgba(168, 85, 247, 0.28)),
    repeating-linear-gradient(45deg, rgba(255,255,255,0.12) 0 2px, transparent 2px 8px),
    #101a33;
  border: 1px solid rgba(36, 215, 255, 0.35);
}

@keyframes cardEnter {
  from { opacity: 0; transform: translateY(-12px) scale(0.92) rotate(-2deg); }
  to { opacity: 1; transform: translateY(0) scale(1) rotate(0); }
}

.mini-pot {
  position: absolute;
  left: 50%;
  bottom: 82px;
  transform: translateX(-50%);
  padding: 0.55rem 0.9rem;
  border-radius: 999px;
  background: rgba(0,0,0,0.34);
  color: #dffaff;
  font-weight: 800;
}

.hero-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--border);
}

.hero-stats div {
  padding: 1.25rem;
  border-right: 1px solid var(--border);
}

.hero-stats div:last-child { border-right: 0; }
.hero-stats strong { display: block; font-size: 1.5rem; }
.hero-stats small { color: var(--muted); }

.section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.section-heading h2 { font-size: clamp(2rem, 5vw, 4.5rem); }
.section-heading p { max-width: 750px; margin: 0; }

.table-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(220px, 1fr));
  gap: 1rem;
}

.table-card {
  min-height: 470px;
  position: relative;
  overflow: hidden;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: var(--panel);
  box-shadow: var(--shadow);
  cursor: pointer;
  isolation: isolate;
}

.table-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--image);
  background-size: cover;
  background-position: center;
  opacity: 0.52;
  filter: saturate(1.05) contrast(1.03);
  transition: transform 450ms ease, opacity 250ms ease;
  z-index: -2;
}

.table-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.1), rgba(3,8,17,0.82) 60%, rgba(3,8,17,0.95));
  z-index: -1;
}

.table-card:hover::before,
.table-card.selected::before { transform: scale(1.06); opacity: 0.74; }

.table-card.selected {
  border-color: var(--accent, var(--cyan));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 48%, transparent), var(--shadow);
}

.table-card-content {
  position: absolute;
  inset: auto 0 0;
  padding: 1.2rem;
}

.table-card .tier {
  color: var(--accent, var(--cyan));
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.table-card h3 { margin: 0.6rem 0; font-size: 1.55rem; }
.table-card p { color: var(--muted); line-height: 1.55; min-height: 72px; }

.table-card-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
  margin: 1rem 0;
}

.table-card-meta div {
  padding: 0.75rem;
  border-radius: 14px;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.08);
}

.table-card-meta span { display: block; color: var(--muted); font-size: 0.72rem; }
.table-card-meta strong { display: block; margin-top: 0.2rem; }

.table-shell {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr) 300px;
  gap: 1rem;
  align-items: start;
}

.table-info-card,
.side-console,
.admin-card {
  border: 1px solid var(--border);
  background: var(--panel);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.table-info-card { padding: 1rem; position: sticky; top: 96px; }
.table-info-card h2 { margin: 0.8rem 0 0.35rem; }
.table-tier-badge {
  display: inline-flex;
  padding: 0.5rem 0.65rem;
  border-radius: 999px;
  color: var(--accent, var(--cyan));
  background: color-mix(in srgb, var(--accent, var(--cyan)) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--accent, var(--cyan)) 38%, transparent);
  font-weight: 900;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.table-meta { display: grid; gap: 0.65rem; margin: 1rem 0; }
.table-meta div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.85rem;
  border-radius: 14px;
  background: rgba(255,255,255,0.06);
}
.table-meta span { color: var(--muted); }
.table-info-card button + button { margin-top: 0.7rem; }

.poker-stage {
  min-width: 0;
}

.table-alert {
  width: fit-content;
  margin: 0 auto 0.8rem;
  padding: 0.65rem 1rem;
  color: #ffe5aa;
  background: rgba(247, 199, 91, 0.08);
  border: 1px solid rgba(247, 199, 91, 0.24);
  border-radius: 999px;
  font-weight: 800;
  text-align: center;
}

.poker-table {
  position: relative;
  aspect-ratio: 16 / 9;
  min-height: 540px;
  border-radius: 48% / 39%;
  background:
    radial-gradient(circle at center, color-mix(in srgb, var(--accent, var(--cyan)) 18%, transparent), transparent 46%),
    linear-gradient(135deg, var(--feltA, #0a727a), var(--feltB, #09213f));
  border: clamp(18px, 3vw, 34px) solid rgba(7, 10, 22, 0.98);
  box-shadow:
    inset 0 0 0 4px color-mix(in srgb, var(--accent, var(--cyan)) 48%, transparent),
    inset 0 0 60px rgba(0,0,0,0.38),
    0 30px 90px rgba(0,0,0,0.62),
    0 0 70px color-mix(in srgb, var(--accent, var(--cyan)) 18%, transparent);
  overflow: hidden;
}

.poker-table::before {
  content: "";
  position: absolute;
  inset: -8%;
  background-image: var(--tableImage);
  background-size: cover;
  background-position: center;
  opacity: 0.1;
  filter: blur(1px) saturate(1.2);
  mix-blend-mode: screen;
}

.felt-pattern {
  position: absolute;
  inset: 8%;
  border-radius: inherit;
  background-image:
    radial-gradient(circle at 20% 40%, color-mix(in srgb, var(--accent, var(--cyan)) 24%, transparent), transparent 22%),
    radial-gradient(circle at 80% 40%, color-mix(in srgb, var(--accent, var(--cyan)) 18%, transparent), transparent 22%),
    linear-gradient(60deg, rgba(255,255,255,0.04) 25%, transparent 25%, transparent 75%, rgba(255,255,255,0.04) 75%);
  background-size: auto, auto, 38px 38px;
  opacity: 0.58;
  pointer-events: none;
}

.pot-display {
  position: absolute;
  left: 50%;
  top: 33%;
  transform: translate(-50%, -50%);
  min-width: 145px;
  padding: 0.65rem 1rem;
  border-radius: 18px;
  text-align: center;
  background: rgba(1, 7, 17, 0.64);
  border: 1px solid color-mix(in srgb, var(--accent, var(--cyan)) 32%, transparent);
  box-shadow: 0 0 24px color-mix(in srgb, var(--accent, var(--cyan)) 14%, transparent);
}

.pot-display span { display: block; color: var(--muted); font-size: 0.74rem; letter-spacing: 0.12em; font-weight: 900; }
.pot-display strong { font-size: 1.35rem; }

.community-cards {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  gap: clamp(0.35rem, 1vw, 0.8rem);
  z-index: 3;
}

.dealer-chip {
  position: absolute;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #f3f7ff;
  color: #1c2437;
  font-weight: 900;
  border: 3px solid color-mix(in srgb, var(--accent, var(--cyan)) 45%, transparent);
  box-shadow: 0 8px 20px rgba(0,0,0,0.24);
  transition: left 250ms ease, top 250ms ease;
}

.seat {
  position: absolute;
  width: 185px;
  min-height: 112px;
  z-index: 4;
}

.seat-0 { top: 10%; left: 50%; transform: translateX(-50%); }
.seat-1 { top: 25%; right: 7%; }
.seat-2 { bottom: 20%; right: 8%; }
.seat-3 { bottom: 20%; left: 8%; }
.seat-4 { top: 25%; left: 7%; }
.seat-5 { bottom: 4%; left: 50%; transform: translateX(-50%); width: 230px; }

.player-card {
  display: grid;
  gap: 0.55rem;
  justify-items: center;
}

.player-tag {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 0.55rem;
  width: 100%;
  padding: 0.55rem 0.65rem;
  border-radius: 16px;
  background: rgba(4, 10, 22, 0.78);
  border: 1px solid rgba(255,255,255,0.1);
  backdrop-filter: blur(10px);
}

.player-card.active-turn .player-tag {
  border-color: var(--accent, var(--cyan));
  box-shadow: 0 0 28px color-mix(in srgb, var(--accent, var(--cyan)) 26%, transparent);
}

.player-card.winner .player-tag {
  border-color: var(--gold);
  box-shadow: 0 0 34px rgba(247, 199, 91, 0.28);
  animation: winnerPulse 900ms ease-in-out 4;
}

@keyframes winnerPulse {
  50% { transform: translateY(-3px); }
}

.avatar {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent, var(--cyan)) 38%, #071222), #080c16);
  border: 1px solid color-mix(in srgb, var(--accent, var(--cyan)) 44%, transparent);
  font-weight: 900;
}

.player-name { display: flex; align-items: center; gap: 0.45rem; font-weight: 900; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.player-name small { color: var(--gold); font-size: 0.72rem; }
.player-chips { color: #d7e6ff; font-weight: 800; }
.player-bet { color: var(--green); font-size: 0.82rem; min-height: 1em; }
.player-status { color: var(--muted); font-size: 0.78rem; min-height: 1em; }

.hole-cards { display: flex; gap: 0.28rem; min-height: 54px; }
.hole-cards .card { width: 38px; height: 52px; font-size: 0.88rem; border-radius: 6px; }
.hero-seat .hole-cards .card { width: 48px; height: 66px; font-size: 1.1rem; }

.chip-stack {
  display: flex;
  align-items: flex-end;
  gap: 2px;
  min-height: 20px;
}

.chip {
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: radial-gradient(circle, #fff 0 18%, var(--accent, var(--cyan)) 19% 54%, #07111f 55% 100%);
  border: 2px dashed rgba(255,255,255,0.5);
  box-shadow: 0 5px 12px rgba(0,0,0,0.28);
  animation: chipPop 220ms ease both;
}

.chip:nth-child(2) { transform: translateY(-3px); background: radial-gradient(circle, #fff 0 18%, var(--gold) 19% 54%, #07111f 55% 100%); }
.chip:nth-child(3) { transform: translateY(-8px); background: radial-gradient(circle, #fff 0 18%, var(--purple) 19% 54%, #07111f 55% 100%); }

@keyframes chipPop {
  from { opacity: 0; transform: translateY(-12px) scale(0.8); }
  to { opacity: 1; }
}

.action-panel {
  margin-top: 1rem;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(180px, 0.7fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 1rem;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: var(--panel);
  box-shadow: var(--shadow);
}

.turn-status span { color: var(--accent, var(--cyan)); font-weight: 900; text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.74rem; }
.turn-status strong { display: block; margin: 0.2rem 0; }
.turn-status small { color: var(--muted); }

.bet-controls {
  display: grid;
  grid-template-columns: auto minmax(120px, 1fr) 60px;
  align-items: center;
  gap: 0.7rem;
  color: var(--muted);
}

input[type="range"] { accent-color: var(--accent, var(--cyan)); width: 100%; }
output { color: var(--text); font-weight: 900; text-align: right; }

.action-buttons { display: flex; gap: 0.6rem; flex-wrap: wrap; justify-content: flex-end; }
.action-buttons button { min-width: 92px; }

.side-console {
  padding: 1rem;
  position: sticky;
  top: 96px;
}

.wallet-card {
  padding: 1rem;
  border-radius: 20px;
  border: 1px solid color-mix(in srgb, var(--accent, var(--cyan)) 28%, transparent);
  background: color-mix(in srgb, var(--accent, var(--cyan)) 9%, rgba(255,255,255,0.05));
}

.wallet-card span, .wallet-card small { display: block; color: var(--muted); }
.wallet-card strong { display: block; margin: 0.35rem 0; font-size: 2rem; }

.log-card { margin-top: 1rem; }
.log-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.6rem; }
.log-header button {
  padding: 0.4rem 0.6rem;
  border-radius: 10px;
  background: rgba(255,255,255,0.06);
  color: var(--muted);
}
.game-log {
  height: 410px;
  overflow: auto;
  padding: 0.8rem;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(0,0,0,0.22);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 0.82rem;
  color: #c8d8f5;
}

.log-line {
  display: flex;
  align-items: center;
  gap: 0.48rem;
  margin-bottom: 0.48rem;
  padding: 0.44rem 0.58rem;
  border-radius: 12px;
  border: 1px solid rgba(123, 162, 255, 0.16);
  background: linear-gradient(180deg, rgba(10, 18, 34, 0.92), rgba(12, 16, 28, 0.78));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
}
.log-line--notice {
  border-color: rgba(88, 207, 255, 0.24);
  background: linear-gradient(180deg, rgba(14, 30, 50, 0.96), rgba(10, 18, 28, 0.88));
}
.log-line--dealer {
  border-color: rgba(213, 170, 87, 0.28);
  background: linear-gradient(180deg, rgba(41, 24, 7, 0.96), rgba(18, 15, 22, 0.88));
}
.log-line--success {
  border-color: rgba(88, 196, 129, 0.24);
  background: linear-gradient(180deg, rgba(11, 35, 26, 0.96), rgba(12, 16, 28, 0.88));
}
.log-line--info {
  border-color: rgba(160, 122, 255, 0.24);
}
.log-line--empty {
  justify-content: center;
}
.log-time {
  flex: 0 0 auto;
  color: #7fb8ff;
  font-weight: 800;
  letter-spacing: 0.03em;
  font-size: 0.9em;
}
.log-pill {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 88px;
  padding: 0.22rem 0.52rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.06);
  color: #f7fbff;
  font-size: 0.74em;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.log-message {
  min-width: 0;
  flex: 1 1 auto;
  color: #d9e8ff;
  font-size: 0.96em;
  line-height: 1.38;
}

.admin-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.admin-card { padding: 1.2rem; }
.admin-card h3 { margin-top: 0; }
.admin-card select {
  width: 100%;
  margin: 0.8rem 0;
  padding: 0.9rem;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: rgba(5, 10, 22, 0.86);
  color: var(--text);
}
.admin-card.wide { grid-column: 1 / -1; }
.bug-actions { display: flex; gap: 0.7rem; flex-wrap: wrap; margin-bottom: 1rem; }
.bug-log {
  min-height: 260px;
  overflow: auto;
  padding: 1rem;
  white-space: pre-wrap;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(0,0,0,0.24);
  color: #c8d8f5;
}

.site-footer {
  width: min(1540px, calc(100% - 2rem));
  margin: 2rem auto;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: var(--muted);
  border-top: 1px solid var(--border);
  padding-top: 1.2rem;
  font-size: 0.9rem;
}

@media (max-width: 1300px) {
  .table-grid { grid-template-columns: repeat(3, minmax(220px, 1fr)); }
  .table-shell { grid-template-columns: 1fr; }
  .table-info-card, .side-console { position: static; }
  .side-console { display: grid; grid-template-columns: 280px 1fr; gap: 1rem; }
  .log-card { margin-top: 0; }
}

@media (max-width: 920px) {
  .site-header { grid-template-columns: 1fr; justify-items: stretch; }
  .brand, .mode-pill { justify-self: center; }
  .top-nav { justify-self: center; max-width: 100%; overflow-x: auto; }
  .hero { grid-template-columns: 1fr; min-height: auto; }
  .hero-panel { min-height: 420px; }
  .mini-table { height: 250px; margin-top: 2rem; }
  .table-grid { grid-template-columns: 1fr; }
  .section-heading { display: block; }
  .poker-table { min-height: 520px; aspect-ratio: auto; border-radius: 32px; }
  .seat { width: 150px; }
  .seat-1 { right: 1%; }
  .seat-2 { right: 1%; bottom: 27%; }
  .seat-3 { left: 1%; bottom: 27%; }
  .seat-4 { left: 1%; }
  .seat-5 { bottom: 2%; }
  .card { width: 42px; height: 60px; font-size: 0.92rem; }
  .action-panel { grid-template-columns: 1fr; }
  .action-buttons { justify-content: stretch; }
  .action-buttons button { flex: 1 1 130px; }
  .side-console { grid-template-columns: 1fr; }
  .log-card { margin-top: 1rem; }
  .admin-grid { grid-template-columns: 1fr; }
  .site-footer { flex-direction: column; }
}

@media (max-width: 560px) {
  main, .site-footer { width: min(100% - 1rem, 1540px); }
  .hero h1 { font-size: 3rem; }
  .top-nav button { padding: 0.65rem 0.85rem; }
  .hero-stats { grid-template-columns: 1fr; }
  .hero-stats div { border-right: 0; border-bottom: 1px solid var(--border); }
  .hero-stats div:last-child { border-bottom: 0; }
  .community-cards { gap: 0.2rem; }
  .card { width: 36px; height: 52px; }
  .seat { width: 128px; transform: scale(0.86); transform-origin: center; }
  .seat-0 { top: 8%; left: 50%; transform: translateX(-50%) scale(0.86); }
  .seat-5 { width: 180px; transform: translateX(-50%) scale(0.92); }
  .player-tag { grid-template-columns: 30px 1fr; padding: 0.45rem; }
  .avatar { width: 30px; height: 30px; }
  .player-name { font-size: 0.78rem; }
  .player-chips { font-size: 0.78rem; }
}

/* --- Integrated table artwork update --- */
.hero-table-showcase {
  position: relative;
  width: min(92%, 760px);
  margin: 2.2rem auto 1.6rem;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--accent, var(--cyan)) 36%, transparent);
  background: rgba(0,0,0,0.36);
  box-shadow: 0 28px 70px rgba(0,0,0,0.42), 0 0 70px color-mix(in srgb, var(--accent, var(--cyan)) 18%, transparent);
}

.hero-table-showcase img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  transform: scale(1.01);
}

.hero-table-showcase::after,
.hero-table-glow {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.hero-table-showcase::after {
  background: linear-gradient(180deg, transparent 50%, rgba(4,8,18,0.48));
}

.hero-table-glow {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08), inset 0 0 46px color-mix(in srgb, var(--accent, var(--cyan)) 18%, transparent);
}

.home-table-section {
  margin-top: 2rem;
  padding: 1.25rem;
  border: 1px solid rgba(139,187,255,0.14);
  border-radius: var(--radius);
  background: linear-gradient(180deg, rgba(9,14,29,0.72), rgba(4,8,18,0.52));
  box-shadow: var(--shadow);
}

.home-table-heading { text-align: center; max-width: 860px; margin: 0 auto 1.35rem; }
.home-table-heading h2 { margin: 0.35rem 0 0.45rem; font-size: clamp(1.8rem, 4vw, 3.6rem); }
.home-table-heading p { color: var(--muted); line-height: 1.65; margin: 0; }
.home-table-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(190px, 1fr));
  gap: 1rem;
}

.table-grid {
  grid-template-columns: repeat(3, minmax(280px, 1fr));
  align-items: stretch;
}

.table-card {
  min-height: 520px;
  padding: 0.72rem;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  background:
    radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--accent, var(--cyan)) 12%, transparent), transparent 60%),
    rgba(9, 15, 31, 0.9);
}

.table-card::before {
  inset: 0;
  background-image: var(--image);
  background-size: cover;
  background-position: center;
  opacity: 0.18;
  filter: blur(10px) saturate(1.35) contrast(1.08);
  transform: scale(1.08);
}

.table-card::after {
  background: linear-gradient(180deg, rgba(2,5,13,0.18), rgba(2,5,13,0.84));
}

.table-card:hover::before,
.table-card.selected::before { transform: scale(1.12); opacity: 0.28; }

.table-preview-frame {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border: 1px solid color-mix(in srgb, var(--accent, var(--cyan)) 32%, rgba(255,255,255,0.08));
  background: rgba(0,0,0,0.4);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.06), 0 16px 36px rgba(0,0,0,0.34);
}

.table-preview-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 450ms ease, filter 250ms ease;
}

.table-card:hover .table-preview-frame img { transform: scale(1.045); filter: saturate(1.08); }

.preview-chair-strip {
  position: absolute;
  left: 8%;
  right: 8%;
  bottom: -6px;
  display: flex;
  justify-content: space-between;
  pointer-events: none;
  opacity: 0.88;
}

.preview-chair-strip span {
  width: clamp(24px, 3.4vw, 42px);
  height: clamp(13px, 2vw, 24px);
  border-radius: 999px 999px 8px 8px;
  background: linear-gradient(180deg, rgba(38,43,57,0.96), rgba(4,7,15,0.98));
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: inset 0 7px 11px rgba(255,255,255,0.07), 0 9px 15px rgba(0,0,0,0.55);
}

.table-card-content {
  position: relative;
  inset: auto;
  padding: 0.2rem 0.18rem 0.15rem;
}

.tier-row { display: flex; align-items: center; gap: 0.65rem; }
.table-number {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--accent, var(--cyan)) 22%, rgba(255,255,255,0.06));
  border: 1px solid color-mix(in srgb, var(--accent, var(--cyan)) 48%, transparent);
  font-weight: 950;
  font-size: 1.1rem;
  color: var(--text);
}


.game-pill {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 28px;
  padding: 0 0.65rem;
  border-radius: 999px;
  color: var(--accent, var(--cyan));
  background: color-mix(in srgb, var(--accent, var(--cyan)) 12%, rgba(255,255,255,0.04));
  border: 1px solid color-mix(in srgb, var(--accent, var(--cyan)) 38%, rgba(255,255,255,0.08));
  font-weight: 950;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
}

.buyin-head {
  margin-top: 0.85rem;
  padding: 0.9rem 1rem;
  border-radius: 18px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--accent, var(--cyan)) 20%, transparent), rgba(255,255,255,0.045)),
    rgba(3, 8, 19, 0.74);
  border: 1px solid color-mix(in srgb, var(--accent, var(--cyan)) 32%, rgba(255,255,255,0.08));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04), 0 14px 34px rgba(0,0,0,0.25);
}

.buyin-head span {
  display: block;
  color: var(--muted);
  font-size: 0.68rem;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: 0.12em;
}

.buyin-head strong {
  display: block;
  margin-top: 0.3rem;
  color: #fff;
  font-size: clamp(1.08rem, 1.75vw, 1.42rem);
  line-height: 1.05;
  letter-spacing: -0.035em;
}

.stakes-subline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
  margin: 0.68rem 0 0;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.stakes-subline span:first-child {
  color: var(--text);
  font-weight: 850;
}

.buyin-range-panel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
  margin: 0.85rem 0;
}

.buyin-range-panel div {
  position: relative;
  overflow: hidden;
  padding: 0.78rem 0.82rem;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.075), rgba(255,255,255,0.035));
  border: 1px solid rgba(255,255,255,0.1);
}

.buyin-range-panel div::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--accent, var(--cyan));
  opacity: 0.75;
}

.buyin-range-panel span,
.table-card-meta.polished-meta span {
  display: block;
  color: var(--muted);
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 850;
}

.buyin-range-panel strong {
  display: block;
  margin-top: 0.22rem;
  font-size: 1.05rem;
  color: #fff;
}

.buyin-range-panel small {
  display: block;
  margin-top: 0.1rem;
  color: color-mix(in srgb, var(--accent, var(--cyan)) 82%, white);
  font-size: 0.72rem;
  font-weight: 850;
}

.table-card-meta.polished-meta {
  grid-template-columns: 1.3fr 0.7fr;
  margin-top: 0.6rem;
}

.table-card-meta.polished-meta strong {
  font-size: 0.92rem;
  line-height: 1.2;
}

.home-preview-card .buyin-head {
  padding: 0.72rem 0.8rem;
  border-radius: 15px;
}

.home-preview-card .buyin-head strong {
  font-size: clamp(0.92rem, 1.4vw, 1.06rem);
  white-space: nowrap;
}

.home-preview-card .stakes-subline {
  font-size: 0.72rem;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.18rem;
}

.home-preview-card .buyin-range-panel {
  gap: 0.5rem;
  margin: 0.65rem 0;
}

.home-preview-card .buyin-range-panel div {
  padding: 0.58rem 0.62rem;
  border-radius: 13px;
}

.home-preview-card .buyin-range-panel strong {
  font-size: 0.9rem;
}

.table-card .tier { font-size: 0.72rem; }
.table-card h3 { margin: 0.55rem 0 0.3rem; font-size: 1.26rem; }
.table-card p { min-height: 48px; margin: 0; font-size: 0.92rem; }
.table-card-meta { margin: 0.8rem 0; }
.table-card-meta div { padding: 0.65rem; }
.home-preview-card h3 { font-size: 1.08rem; }
.home-preview-card p { display: none; }
.home-preview-card .table-card-meta { grid-template-columns: 1fr; }
.home-preview-card .table-card-meta div:nth-child(2) { display: none; }
.home-preview-card .primary-btn { min-height: 42px; padding: 0.7rem 0.9rem; font-size: 0.82rem; }

.poker-table {
  isolation: isolate;
  aspect-ratio: 16 / 9;
  min-height: auto;
  width: 100%;
  border-radius: 30px;
  border: 1px solid color-mix(in srgb, var(--accent, var(--cyan)) 34%, rgba(255,255,255,0.1));
  background: #030611;
  overflow: visible;
  box-shadow:
    0 34px 90px rgba(0,0,0,0.64),
    0 0 80px color-mix(in srgb, var(--accent, var(--cyan)) 18%, transparent);
}

.poker-table::before { display: none; }

.table-image-layer,
.table-vignette {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
}

.table-image-layer {
  z-index: 0;
  background-image: var(--tableImage);
  background-size: cover;
  background-position: center;
  filter: saturate(1.08) contrast(1.03);
}

.table-vignette {
  z-index: 1;
  background:
    radial-gradient(circle at 50% 50%, transparent 34%, rgba(0,0,0,0.18) 62%, rgba(0,0,0,0.72) 100%),
    linear-gradient(180deg, rgba(0,0,0,0.1), rgba(0,0,0,0.35));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08), inset 0 0 70px rgba(0,0,0,0.36);
}

.felt-pattern {
  z-index: 2;
  inset: 0;
  border-radius: inherit;
  opacity: 0.08;
}

.chair {
  position: absolute;
  z-index: 2;
  width: clamp(70px, 8.5vw, 124px);
  height: clamp(48px, 5.8vw, 84px);
  border-radius: 32px 32px 14px 14px;
  background:
    linear-gradient(180deg, rgba(55,62,78,0.98), rgba(8,10,17,0.98)),
    repeating-linear-gradient(90deg, transparent 0 12px, rgba(255,255,255,0.05) 13px 15px);
  border: 1px solid rgba(255,255,255,0.13);
  box-shadow: inset 0 12px 19px rgba(255,255,255,0.07), inset 0 -18px 20px rgba(0,0,0,0.36), 0 18px 32px rgba(0,0,0,0.54);
  opacity: 0.94;
}

.chair::after {
  content: "";
  position: absolute;
  inset: 9px 12px auto;
  height: 9px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
}

.chair-0 { top: -7%; left: 50%; transform: translateX(-50%); }
.chair-1 { top: 12%; right: -3%; transform: rotate(72deg); }
.chair-2 { bottom: 9%; right: -2%; transform: rotate(112deg); }
.chair-3 { bottom: 9%; left: -2%; transform: rotate(-112deg); }
.chair-4 { top: 12%; left: -3%; transform: rotate(-72deg); }
.chair-5 { bottom: -7%; left: 50%; transform: translateX(-50%) rotate(180deg); }

.pot-display,
.community-cards,
.dealer-chip,
.seat { z-index: 5; }

.pot-display {
  top: 34%;
  background: rgba(2,7,18,0.72);
  backdrop-filter: blur(12px);
}

.community-cards { top: 50%; }
.seat-0 { top: 6%; }
.seat-1 { top: 23%; right: 4%; }
.seat-2 { bottom: 20%; right: 5%; }
.seat-3 { bottom: 20%; left: 5%; }
.seat-4 { top: 23%; left: 4%; }
.seat-5 { bottom: 1%; }

.player-tag {
  background: rgba(2, 7, 17, 0.76);
  border-color: color-mix(in srgb, var(--accent, var(--cyan)) 22%, rgba(255,255,255,0.12));
  box-shadow: 0 10px 25px rgba(0,0,0,0.34);
}

@media (max-width: 1300px) {
  .home-table-grid { grid-template-columns: repeat(3, minmax(220px, 1fr)); }
  .table-grid { grid-template-columns: repeat(2, minmax(260px, 1fr)); }
}

@media (max-width: 920px) {
  .home-table-grid, .table-grid { grid-template-columns: 1fr; }
  .poker-table { min-height: 520px; aspect-ratio: auto; }
  .table-image-layer { background-size: cover; }
  .chair { opacity: 0.55; }
  .home-preview-card p { display: block; }
  .home-preview-card .table-card-meta { grid-template-columns: 1fr 1fr; }
  .home-preview-card .table-card-meta div:nth-child(2) { display: block; }
}

/* === Playable integrated table artwork upgrade === */
.table-shell {
  grid-template-columns: 250px minmax(720px, 1fr) 280px;
  gap: 1.05rem;
}

.poker-stage {
  display: grid;
  gap: 0.85rem;
}

.poker-table {
  --seat-size: clamp(128px, 12vw, 174px);
  --hero-seat-size: clamp(160px, 16vw, 230px);
  --pot-left: 50%;
  --pot-top: 33%;
  --board-left: 50%;
  --board-top: 48%;
  --seat0-left: 30%;
  --seat0-top: 18%;
  --seat1-left: 70%;
  --seat1-top: 18%;
  --seat2-left: 84%;
  --seat2-top: 45%;
  --seat3-left: 34%;
  --seat3-top: 68%;
  --seat4-left: 15%;
  --seat4-top: 45%;
  --seat5-left: 50%;
  --seat5-top: 72%;
  min-height: unset;
  border-radius: 30px;
  border: 1px solid color-mix(in srgb, var(--accent, var(--cyan)) 48%, rgba(255,255,255,0.13));
  background: #02050d;
  overflow: hidden;
  outline: 1px solid rgba(255,255,255,0.06);
}

.poker-table::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  border-radius: inherit;
  background:
    linear-gradient(90deg, rgba(0,0,0,0.36), transparent 20%, transparent 80%, rgba(0,0,0,0.36)),
    linear-gradient(180deg, rgba(0,0,0,0.28), transparent 20%, transparent 76%, rgba(0,0,0,0.42));
}

.table-image-layer {
  background-size: cover;
  background-position: center;
  transform: scale(1.002);
}

.table-vignette {
  background:
    radial-gradient(ellipse at center, rgba(0,0,0,0.02) 0 40%, rgba(0,0,0,0.13) 62%, rgba(0,0,0,0.62) 100%),
    radial-gradient(circle at 50% 52%, color-mix(in srgb, var(--accent, var(--cyan)) 14%, transparent), transparent 40%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.1),
    inset 0 0 80px rgba(0,0,0,0.48),
    0 0 60px color-mix(in srgb, var(--accent, var(--cyan)) 20%, transparent);
}

.felt-pattern { display: none; }

.live-table-title,
.integrated-art-badge {
  position: absolute;
  z-index: 8;
  pointer-events: none;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.live-table-title {
  top: 1rem;
  left: 1rem;
  max-width: min(460px, 52%);
  padding: 0.55rem 0.8rem;
  border-radius: 14px;
  color: #ecf6ff;
  background: rgba(2, 7, 17, 0.62);
  border: 1px solid color-mix(in srgb, var(--accent, var(--cyan)) 40%, rgba(255,255,255,0.09));
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: clamp(0.68rem, 1vw, 0.82rem);
  box-shadow: 0 12px 28px rgba(0,0,0,0.36);
}

.integrated-art-badge {
  top: 1rem;
  right: 1rem;
  padding: 0.5rem 0.72rem;
  border-radius: 999px;
  color: color-mix(in srgb, var(--accent, var(--cyan)) 84%, #ffffff);
  background: rgba(2, 7, 17, 0.58);
  border: 1px solid color-mix(in srgb, var(--accent, var(--cyan)) 45%, transparent);
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.12em;
}

.pot-display {
  left: var(--pot-left);
  top: var(--pot-top);
  transform: translate(-50%, -50%);
  z-index: 8;
  min-width: clamp(104px, 10vw, 150px);
  padding: 0.48rem 0.85rem;
  background:
    linear-gradient(180deg, rgba(12,18,35,0.82), rgba(2,7,18,0.78));
  border: 1px solid color-mix(in srgb, var(--accent, var(--cyan)) 50%, transparent);
  box-shadow:
    0 0 22px color-mix(in srgb, var(--accent, var(--cyan)) 20%, transparent),
    inset 0 0 18px rgba(255,255,255,0.05);
}

.pot-display span { font-size: 0.65rem; }
.pot-display strong { font-size: clamp(0.95rem, 1.55vw, 1.35rem); }

.community-cards {
  left: var(--board-left);
  top: var(--board-top);
  z-index: 8;
  gap: clamp(0.18rem, 0.75vw, 0.58rem);
  filter: drop-shadow(0 16px 22px rgba(0,0,0,0.34));
}

.community-cards .card {
  width: clamp(38px, 4.5vw, 58px);
  height: clamp(54px, 6.2vw, 82px);
  border-radius: clamp(6px, 0.7vw, 9px);
}

.seat {
  left: var(--seat-left, 50%);
  top: var(--seat-top, 50%);
  right: auto !important;
  bottom: auto !important;
  width: var(--seat-size);
  min-height: 0;
  transform: translate(-50%, -50%) !important;
  z-index: 9;
}

.seat-0 { --seat-left: var(--seat0-left); --seat-top: var(--seat0-top); }
.seat-1 { --seat-left: var(--seat1-left); --seat-top: var(--seat1-top); }
.seat-2 { --seat-left: var(--seat2-left); --seat-top: var(--seat2-top); }
.seat-3 { --seat-left: var(--seat3-left); --seat-top: var(--seat3-top); }
.seat-4 { --seat-left: var(--seat4-left); --seat-top: var(--seat4-top); }
.seat-5 { --seat-left: var(--seat5-left); --seat-top: var(--seat5-top); width: var(--hero-seat-size); }

.player-card {
  gap: clamp(0.18rem, 0.5vw, 0.42rem);
  filter: drop-shadow(0 14px 22px rgba(0,0,0,0.46));
}

.player-tag {
  grid-template-columns: clamp(28px, 3vw, 38px) minmax(0, 1fr);
  gap: 0.45rem;
  padding: clamp(0.38rem, 0.7vw, 0.58rem) clamp(0.48rem, 0.8vw, 0.72rem);
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(10,17,33,0.86), rgba(2,7,17,0.78));
  border: 1px solid color-mix(in srgb, var(--accent, var(--cyan)) 36%, rgba(255,255,255,0.1));
  box-shadow:
    0 11px 24px rgba(0,0,0,0.42),
    inset 0 1px 0 rgba(255,255,255,0.08),
    inset 0 -12px 18px rgba(0,0,0,0.22);
}

.avatar {
  width: clamp(28px, 3vw, 38px);
  height: clamp(28px, 3vw, 38px);
  box-shadow: inset 0 0 20px rgba(255,255,255,0.08), 0 0 16px color-mix(in srgb, var(--accent, var(--cyan)) 22%, transparent);
}

.player-name {
  max-width: 100%;
  font-size: clamp(0.7rem, 1.03vw, 0.92rem);
}

.player-chips,
.player-bet,
.player-status { font-size: clamp(0.62rem, 0.88vw, 0.78rem); }
.player-status { text-shadow: 0 4px 10px rgba(0,0,0,0.9); }

.hole-cards {
  justify-content: center;
  min-height: clamp(42px, 4.8vw, 58px);
}

.hole-cards .card {
  width: clamp(28px, 3.2vw, 40px);
  height: clamp(40px, 4.45vw, 56px);
  font-size: clamp(0.68rem, 0.95vw, 0.88rem);
}

.hero-seat .hole-cards .card {
  width: clamp(36px, 4vw, 54px);
  height: clamp(50px, 5.7vw, 74px);
  font-size: clamp(0.82rem, 1.15vw, 1.06rem);
}

.card {
  border: 1px solid rgba(0,0,0,0.12);
  box-shadow:
    0 10px 18px rgba(0,0,0,0.38),
    inset 0 1px 0 rgba(255,255,255,0.8);
}

.card.back {
  background:
    radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--accent, var(--cyan)) 36%, transparent), transparent 45%),
    repeating-linear-gradient(45deg, rgba(255,255,255,0.13) 0 2px, transparent 2px 8px),
    linear-gradient(135deg, #0a1530, #040814);
  border-color: color-mix(in srgb, var(--accent, var(--cyan)) 55%, transparent);
}

.chip-stack {
  justify-content: center;
  min-height: clamp(18px, 2vw, 26px);
  transform: translateY(-2px);
}

.chip {
  width: clamp(14px, 1.45vw, 20px);
  height: clamp(14px, 1.45vw, 20px);
  margin-left: -2px;
}

.dealer-chip {
  z-index: 10;
  width: clamp(26px, 3vw, 38px);
  height: clamp(26px, 3vw, 38px);
  border-width: 2px;
  box-shadow: 0 8px 18px rgba(0,0,0,0.48), 0 0 18px color-mix(in srgb, var(--accent, var(--cyan)) 26%, transparent);
}

.chair {
  z-index: 3;
  opacity: 0.72;
  filter: saturate(1.1) drop-shadow(0 18px 22px rgba(0,0,0,0.48));
  background:
    radial-gradient(circle at 50% 12%, rgba(255,255,255,0.1), transparent 36%),
    linear-gradient(180deg, color-mix(in srgb, var(--accent, var(--cyan)) 12%, #282f3d), #060813 72%);
}

.chair-0 { top: 4%; left: 50%; transform: translate(-50%, -50%); }
.chair-1 { top: 28%; right: 3%; transform: translate(45%, -50%) rotate(72deg); }
.chair-2 { bottom: 20%; right: 5%; transform: translate(45%, 50%) rotate(112deg); }
.chair-3 { bottom: 20%; left: 5%; transform: translate(-45%, 50%) rotate(-112deg); }
.chair-4 { top: 28%; left: 3%; transform: translate(-45%, -50%) rotate(-72deg); }
.chair-5 { bottom: 2%; left: 50%; transform: translate(-50%, 50%) rotate(180deg); }

/* Different images already carry their own style. These tweaks let the live overlay line up cleanly with each art direction. */
.poker-table[data-table="low"] .table-vignette,
.poker-table[data-table^="micro-nlh-table-"] .table-vignette {
  background: radial-gradient(ellipse at center, rgba(0,0,0,0.02) 0 45%, rgba(0,18,40,0.16) 68%, rgba(0,0,0,0.58) 100%);
}
.poker-table[data-table="standard"] .player-tag,
.poker-table[data-table^="low-limit-nlh-table-"] .player-tag { border-radius: 18px; }
.poker-table[data-table="vip"] .player-tag,
.poker-table[data-table^="standard-nlh-table-"] .player-tag,
.poker-table[data-table="high-roller"] .player-tag,
.poker-table[data-table^="high-roller-nlh-table-"] .player-tag { background: rgba(5, 6, 19, 0.78); }
.poker-table[data-table="high-stakes"] .player-tag,
.poker-table[data-table^="high-limit-nlh-table-"] .player-tag {
  background: linear-gradient(180deg, rgba(28,21,10,0.82), rgba(4,4,5,0.8));
  border-color: rgba(247,199,91,0.42);
}
.poker-table[data-table="high-stakes"] .card.back,
.poker-table[data-table^="high-limit-nlh-table-"] .card.back {
  background:
    repeating-linear-gradient(45deg, rgba(247,199,91,0.22) 0 2px, transparent 2px 8px),
    linear-gradient(135deg, #221909, #050506);
}

.action-panel {
  position: relative;
  z-index: 12;
  margin-top: 0;
  border-color: color-mix(in srgb, var(--accent, var(--cyan)) 26%, rgba(255,255,255,0.08));
  background:
    radial-gradient(circle at 50% 0, color-mix(in srgb, var(--accent, var(--cyan)) 11%, transparent), transparent 58%),
    rgba(7, 12, 25, 0.84);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.action-buttons button {
  border-radius: 14px;
  text-transform: uppercase;
}

.action-buttons .primary-btn,
.action-buttons .secondary-btn,
.action-buttons .danger-btn {
  min-width: 108px;
}

.table-alert {
  margin-bottom: 0;
  background: rgba(2,7,18,0.62);
  border-color: color-mix(in srgb, var(--accent, var(--cyan)) 26%, rgba(247,199,91,0.2));
  color: #eaf4ff;
  backdrop-filter: blur(14px);
}

.table-info-card,
.side-console { background: rgba(7, 12, 25, 0.76); backdrop-filter: blur(18px); }

.table-preview-frame img,
.hero-table-showcase img { object-position: center; }

@media (max-width: 1480px) {
  .table-shell { grid-template-columns: 230px minmax(650px, 1fr) 260px; }
  .seat { --seat-size: clamp(118px, 11vw, 154px); }
  .seat-5 { --hero-seat-size: clamp(150px, 15vw, 205px); }
}

@media (max-width: 1180px) {
  .table-shell { grid-template-columns: 1fr; }
  .table-info-card,
  .side-console { position: static; }
  .side-console { display: grid; grid-template-columns: minmax(220px, 0.6fr) 1fr; gap: 1rem; }
}

@media (max-width: 920px) {
  .poker-table {
    aspect-ratio: 16 / 10.5;
    min-height: 560px;
  }
  .table-image-layer { background-size: cover; }
  .chair { display: none; }
  .live-table-title { max-width: 72%; }
  .integrated-art-badge { display: none; }
  .seat { --seat-size: 126px; }
  .seat-5 { --hero-seat-size: 170px; }
  .community-cards .card { width: 40px; height: 56px; }
  .action-panel { grid-template-columns: 1fr; }
  .side-console { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .poker-table {
    min-height: 620px;
    border-radius: 22px;
  }
  .table-image-layer {
    background-size: cover;
    opacity: 0.72;
  }
  .pot-display { top: 30%; }
  .community-cards { top: 43%; flex-wrap: wrap; width: 210px; justify-content: center; }
  .seat { --seat-size: 118px; }
  .seat-0 { --seat-top: 17%; }
  .seat-1 { --seat-left: 76%; --seat-top: 28%; }
  .seat-2 { --seat-left: 78%; --seat-top: 62%; }
  .seat-3 { --seat-left: 22%; --seat-top: 62%; }
  .seat-4 { --seat-left: 24%; --seat-top: 28%; }
  .seat-5 { --seat-left: 50%; --seat-top: 82%; --hero-seat-size: 160px; }
  .player-tag { grid-template-columns: 28px 1fr; }
  .player-chips { display: none; }
}

/* === FINAL TABLE PLAYSCREEN FIX: use the real artwork as the playable table === */
#view-table {
  padding-top: 0.35rem;
}

#view-table .table-shell {
  width: min(1840px, calc(100vw - 1.25rem));
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.9rem;
}

#view-table .table-info-card {
  position: relative;
  top: auto;
  display: grid;
  grid-template-columns: auto minmax(240px, 1fr) minmax(420px, 0.95fr) repeat(2, minmax(160px, auto));
  align-items: center;
  gap: 0.9rem;
  padding: 0.85rem 1rem;
  border-radius: 20px;
}

#view-table .table-info-card .table-tier-badge { margin: 0; }
#view-table .table-info-card h2 { margin: 0; font-size: clamp(1.15rem, 1.8vw, 1.8rem); }
#view-table .table-info-card p { margin: 0; }
#view-table .table-info-card .table-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(110px, 1fr));
  gap: 0.55rem;
  margin: 0;
}
#view-table .table-info-card .full { width: auto; margin: 0; white-space: nowrap; }

#view-table .poker-stage {
  position: relative;
  display: block;
  padding-top: 0;
}

#view-table .table-alert {
  position: absolute;
  top: 0.9rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 60;
  width: fit-content;
  max-width: min(760px, 80%);
  padding: 0.58rem 0.9rem;
  margin: 0;
  font-size: 0.82rem;
  text-align: center;
  box-shadow: 0 14px 34px rgba(0,0,0,0.34);
}

#view-table .poker-table {
  width: 100%;
  max-width: none;
  aspect-ratio: 16 / 9;
  min-height: auto;
  border-radius: clamp(18px, 2.1vw, 34px);
  overflow: visible;
  background: transparent;
  border-color: color-mix(in srgb, var(--accent, #39d8ff) 58%, rgba(255,255,255,0.16));
  box-shadow:
    0 38px 110px rgba(0,0,0,0.72),
    0 0 110px color-mix(in srgb, var(--accent, #39d8ff) 17%, transparent);
}

#view-table .poker-table::after {
  inset: 0;
  border-radius: inherit;
  background:
    radial-gradient(ellipse at 50% 50%, transparent 52%, rgba(0,0,0,0.28) 84%, rgba(0,0,0,0.44) 100%);
}

#view-table .table-image-layer {
  inset: 0;
  border-radius: inherit;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center center;
  filter: saturate(1.06) contrast(1.02);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08);
}

#view-table .table-vignette {
  inset: 0;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.04), rgba(0,0,0,0.12)),
    radial-gradient(ellipse at center, transparent 0 62%, rgba(0,0,0,0.18) 82%, rgba(0,0,0,0.42) 100%);
  box-shadow: inset 0 0 90px rgba(0,0,0,0.28);
}

/* The artwork already contains the table. These should not cover it. */
#view-table .felt-pattern,
#view-table .live-table-title,
#view-table .integrated-art-badge { display: none !important; }

/* Seat and chair overlays are tuned to sit on top of the table artwork, like a real poker client. */
#view-table .chair {
  z-index: 7;
  opacity: 0.58;
  width: clamp(78px, 7.5vw, 142px);
  height: clamp(44px, 4.6vw, 86px);
  border-radius: 999px 999px 20px 20px;
  background:
    radial-gradient(circle at 50% 6%, rgba(255,255,255,0.16), transparent 42%),
    repeating-linear-gradient(90deg, rgba(255,255,255,0.035) 0 7px, transparent 8px 15px),
    linear-gradient(180deg, color-mix(in srgb, var(--accent, #39d8ff) 12%, #2a303d), #050711 78%);
  border: 1px solid rgba(255,255,255,0.13);
  box-shadow:
    inset 0 13px 18px rgba(255,255,255,0.08),
    inset 0 -18px 22px rgba(0,0,0,0.38),
    0 18px 32px rgba(0,0,0,0.58);
}
#view-table .chair-0 { top: -1.5%; left: 50%; transform: translate(-50%, -50%); }
#view-table .chair-1 { top: 25%; right: -0.3%; transform: translate(44%, -50%) rotate(72deg); }
#view-table .chair-2 { bottom: 24%; right: 0.1%; transform: translate(44%, 50%) rotate(112deg); }
#view-table .chair-3 { bottom: 24%; left: 0.1%; transform: translate(-44%, 50%) rotate(-112deg); }
#view-table .chair-4 { top: 25%; left: -0.3%; transform: translate(-44%, -50%) rotate(-72deg); }
#view-table .chair-5 { bottom: -1%; left: 50%; transform: translate(-50%, 50%) rotate(180deg); }

#view-table .seat {
  z-index: 30;
  width: var(--seat-size);
  pointer-events: none;
}
#view-table .seat-5 { width: var(--hero-seat-size); }
#view-table .player-card { transform-origin: center; }
#view-table .player-tag {
  pointer-events: auto;
  border-radius: 16px;
  background: rgba(2, 7, 17, 0.66);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
}
#view-table .player-chips { color: #eff7ff; }
#view-table .hole-cards .card {
  background-color: #f8fbff;
}

/* Make the active action controls feel attached to the table image, like the reference screenshots. */
#view-table .action-panel {
  position: absolute;
  z-index: 70;
  left: 50%;
  bottom: clamp(0.6rem, 1.15vw, 1.35rem);
  transform: translateX(-50%);
  width: min(980px, 78%);
  grid-template-columns: minmax(160px, 0.85fr) minmax(210px, 0.85fr) minmax(420px, 1.35fr);
  gap: 0.7rem;
  padding: 0.72rem;
  border-radius: 22px;
  background: rgba(3, 8, 20, 0.66);
  border: 1px solid color-mix(in srgb, var(--accent, #39d8ff) 42%, rgba(255,255,255,0.12));
  box-shadow:
    0 22px 58px rgba(0,0,0,0.54),
    inset 0 1px 0 rgba(255,255,255,0.08);
}
#view-table .turn-status strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#view-table .turn-status small { display: block; max-width: 240px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#view-table .action-buttons { flex-wrap: nowrap; }
#view-table .action-buttons button { min-width: 74px; padding-inline: 0.82rem; }
#view-table .bet-controls { grid-template-columns: auto minmax(120px, 1fr) 58px; }

#view-table .side-console {
  position: static;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(260px, 0.25fr) minmax(0, 1fr);
  gap: 0.85rem;
}
#view-table .wallet-card,
#view-table .log-card {
  margin: 0;
  border-radius: 20px;
  background: rgba(7, 12, 25, 0.74);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
#view-table .game-log { height: 150px; }

/* Table-specific overlay alignment so the live components sit where they appear in the matching art. */
#view-table .poker-table[data-table="low"],
#view-table .poker-table[data-table^="micro-nlh-table-"] {
  --pot-left: 50%; --pot-top: 29%; --board-left: 50%; --board-top: 39%;
  --seat0-left: 30%; --seat0-top: 18%; --seat1-left: 70%; --seat1-top: 18%;
  --seat2-left: 84%; --seat2-top: 43%; --seat3-left: 67%; --seat3-top: 68%;
  --seat4-left: 16%; --seat4-top: 43%; --seat5-left: 50%; --seat5-top: 68%;
}
#view-table .poker-table[data-table="standard"],
#view-table .poker-table[data-table^="low-limit-nlh-table-"] {
  --pot-left: 50%; --pot-top: 30%; --board-left: 50%; --board-top: 42%;
  --seat0-left: 30%; --seat0-top: 18%; --seat1-left: 70%; --seat1-top: 18%;
  --seat2-left: 84%; --seat2-top: 42%; --seat3-left: 69%; --seat3-top: 67%;
  --seat4-left: 16%; --seat4-top: 42%; --seat5-left: 50%; --seat5-top: 68%;
}
#view-table .poker-table[data-table="vip"],
#view-table .poker-table[data-table^="standard-nlh-table-"] {
  --pot-left: 50%; --pot-top: 31%; --board-left: 50%; --board-top: 43%;
  --seat0-left: 31%; --seat0-top: 19%; --seat1-left: 70%; --seat1-top: 19%;
  --seat2-left: 84%; --seat2-top: 44%; --seat3-left: 68%; --seat3-top: 68%;
  --seat4-left: 16%; --seat4-top: 44%; --seat5-left: 50%; --seat5-top: 68%;
}
#view-table .poker-table[data-table="high-stakes"],
#view-table .poker-table[data-table^="high-limit-nlh-table-"] {
  --pot-left: 50%; --pot-top: 49%; --board-left: 50%; --board-top: 41%;
  --seat0-left: 29%; --seat0-top: 21%; --seat1-left: 72%; --seat1-top: 21%;
  --seat2-left: 84%; --seat2-top: 45%; --seat3-left: 36%; --seat3-top: 67%;
  --seat4-left: 15%; --seat4-top: 44%; --seat5-left: 62%; --seat5-top: 67%;
}
#view-table .poker-table[data-table="high-roller"],
#view-table .poker-table[data-table^="high-roller-nlh-table-"] {
  --pot-left: 50%; --pot-top: 35%; --board-left: 50%; --board-top: 47%;
  --seat0-left: 28%; --seat0-top: 25%; --seat1-left: 50%; --seat1-top: 18%;
  --seat2-left: 72%; --seat2-top: 25%; --seat3-left: 84%; --seat3-top: 56%;
  --seat4-left: 15%; --seat4-top: 56%; --seat5-left: 50%; --seat5-top: 72%;
}

@media (max-width: 1280px) {
  #view-table .table-info-card {
    grid-template-columns: auto 1fr;
  }
  #view-table .table-info-card p,
  #view-table .table-info-card .table-meta,
  #view-table .table-info-card .full { grid-column: span 2; }
  #view-table .table-info-card .full { width: 100%; }
  #view-table .action-panel {
    position: relative;
    left: auto;
    bottom: auto;
    transform: none;
    width: 100%;
    margin-top: 0.8rem;
    grid-template-columns: 1fr;
  }
  #view-table .action-buttons { flex-wrap: wrap; }
}

@media (max-width: 760px) {
  #view-table .table-shell { width: min(100vw - 0.65rem, 1840px); }
  #view-table .table-info-card { grid-template-columns: 1fr; }
  #view-table .table-info-card p,
  #view-table .table-info-card .table-meta,
  #view-table .table-info-card .full { grid-column: auto; }
  #view-table .table-info-card .table-meta { grid-template-columns: 1fr; }
  #view-table .poker-table {
    aspect-ratio: 16 / 11;
    overflow: hidden;
  }
  #view-table .table-image-layer { background-size: cover; }
  #view-table .table-alert { display: none; }
  #view-table .chair { display: none; }
  #view-table .side-console { grid-template-columns: 1fr; }
  #view-table .game-log { height: 220px; }
}

/* === EXACT SOURCE TABLE ART MODE ===
   The joined gameplay screen now uses the uploaded table image itself as the table.
   This removes the generated placeholder felt/chair layer that made the play screen
   look different from the lobby preview artwork. */
#view-table .poker-table.exact-art-mode {
  aspect-ratio: 1672 / 941;
  border-radius: 22px;
  overflow: hidden;
  background: #000;
  border: 1px solid color-mix(in srgb, var(--accent, #39d8ff) 54%, rgba(255,255,255,0.18));
  box-shadow:
    0 36px 100px rgba(0, 0, 0, 0.75),
    0 0 92px color-mix(in srgb, var(--accent, #39d8ff) 16%, transparent);
}

#view-table .actual-table-art {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
  object-position: center;
  user-select: none;
  pointer-events: none;
  transform: translateZ(0);
}

/* The exact uploaded image already contains the table, seats, player zones, chips,
   cards, pot labels, dealer visuals, and table interface. Do not repaint over it. */
#view-table .exact-art-mode .table-image-layer,
#view-table .exact-art-mode .table-vignette,
#view-table .exact-art-mode .felt-pattern,
#view-table .exact-art-mode .chair,
#view-table .exact-art-mode::after {
  display: none !important;
}

/* Keep live game logic running, but prevent duplicate overlays from covering the
   source artwork. The real-looking table details come from the uploaded images. */
#view-table .exact-art-mode .pot-display,
#view-table .exact-art-mode .community-cards,
#view-table .exact-art-mode .dealer-chip,
#view-table .exact-art-mode .seat {
  opacity: 0;
  pointer-events: none;
}

/* Use the real gameplay controls, placed over the same lower area used by the art. */
#view-table .action-panel {
  bottom: clamp(0.45rem, 1vw, 1.1rem);
  width: min(960px, 72%);
  background: rgba(3, 8, 20, 0.44);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

#view-table .action-panel .turn-status {
  min-width: 0;
}

#view-table .action-panel .primary-btn,
#view-table .action-panel .secondary-btn,
#view-table .action-panel .danger-btn {
  background-clip: padding-box;
}

#view-table .table-alert {
  opacity: 0.86;
}

@media (max-width: 1280px) {
  #view-table .action-panel {
    position: relative;
    left: auto;
    bottom: auto;
    transform: none;
    width: 100%;
    margin-top: 0.8rem;
    background: rgba(7, 12, 25, 0.84);
  }
}

@media (max-width: 760px) {
  #view-table .poker-table.exact-art-mode {
    aspect-ratio: 1672 / 941;
    min-height: auto;
  }
  #view-table .actual-table-art {
    object-fit: contain;
    background: #000;
  }
}

/* === REAL POKER FLOW UPDATE ===
   Use the exact uploaded table art as the playable surface, while keeping live
   poker elements visible and animated on top of the artwork. */
#view-table .poker-table.exact-art-mode .pot-display,
#view-table .poker-table.exact-art-mode .community-cards,
#view-table .poker-table.exact-art-mode .dealer-chip,
#view-table .poker-table.exact-art-mode .seat {
  opacity: 1 !important;
  pointer-events: auto !important;
}

#view-table .poker-table.exact-art-mode .actual-table-art {
  z-index: 0;
  filter: saturate(1.05) contrast(1.02);
}

#view-table .poker-table.exact-art-mode .pot-display,
#view-table .poker-table.exact-art-mode .community-cards,
#view-table .poker-table.exact-art-mode .dealer-chip,
#view-table .poker-table.exact-art-mode .seat {
  z-index: 12;
}

#view-table .poker-table.exact-art-mode .seat {
  width: clamp(118px, 9vw, 168px);
}

#view-table .poker-table.exact-art-mode .seat-5 {
  width: clamp(168px, 13vw, 240px);
}

#view-table .poker-table.exact-art-mode .player-card {
  transform: translateZ(0);
  transition: transform 180ms ease, filter 180ms ease, opacity 180ms ease;
}

#view-table .poker-table.exact-art-mode .player-card.is-folded {
  opacity: 0.58;
  filter: grayscale(0.35) brightness(0.84);
}

#view-table .poker-table.exact-art-mode .player-tag {
  background: linear-gradient(180deg, rgba(3, 9, 22, 0.68), rgba(2, 5, 14, 0.56));
  border: 1px solid color-mix(in srgb, var(--accent, #39d8ff) 42%, rgba(255,255,255,0.1));
  box-shadow:
    0 12px 24px rgba(0,0,0,0.45),
    inset 0 1px 0 rgba(255,255,255,0.08),
    0 0 18px color-mix(in srgb, var(--accent, #39d8ff) 12%, transparent);
  backdrop-filter: blur(8px) saturate(1.15);
  -webkit-backdrop-filter: blur(8px) saturate(1.15);
}

#view-table .poker-table.exact-art-mode .player-card.active-turn {
  transform: translateY(-4px) scale(1.025);
  filter: drop-shadow(0 0 18px color-mix(in srgb, var(--accent, #39d8ff) 48%, transparent));
}

#view-table .poker-table.exact-art-mode .player-card.active-turn .player-tag {
  border-color: color-mix(in srgb, var(--accent, #39d8ff) 88%, white 8%);
  box-shadow:
    0 0 0 2px color-mix(in srgb, var(--accent, #39d8ff) 28%, transparent),
    0 0 38px color-mix(in srgb, var(--accent, #39d8ff) 34%, transparent),
    0 14px 26px rgba(0,0,0,0.42);
  animation: activeTurnPulse 1.15s ease-in-out infinite;
}

@keyframes activeTurnPulse {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}

#view-table .poker-table.exact-art-mode .player-card.winner .player-tag {
  border-color: #ffd166;
  box-shadow:
    0 0 0 2px rgba(255,209,102,0.26),
    0 0 42px rgba(255,209,102,0.38),
    0 14px 28px rgba(0,0,0,0.52);
}

#view-table .poker-table.exact-art-mode .pot-display {
  min-width: clamp(86px, 8vw, 136px);
  padding: clamp(0.34rem, 0.6vw, 0.58rem) clamp(0.56rem, 1vw, 0.9rem);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(5, 12, 28, 0.70), rgba(0, 3, 11, 0.58));
  border-color: color-mix(in srgb, var(--accent, #39d8ff) 54%, rgba(255,255,255,0.12));
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
}

#view-table .poker-table.exact-art-mode .community-cards {
  z-index: 16;
}

.card {
  transform-style: preserve-3d;
}

.card span,
.card b {
  display: block;
  line-height: 1;
}

.card b {
  margin-top: 0.18em;
  font-size: 1.15em;
}

.card.board-card,
.card.hole-card {
  animation: cardLivePop 260ms cubic-bezier(.2,.8,.2,1) both;
}

.card.board-placeholder.empty-card,
.card.empty-card {
  opacity: 0.22;
}

@keyframes cardLivePop {
  from { opacity: 0; transform: translateY(-7px) scale(0.92) rotateX(12deg); }
  to { opacity: 1; transform: translateY(0) scale(1) rotateX(0); }
}

#view-table .poker-table.exact-art-mode .community-cards .card {
  width: clamp(34px, 3.65vw, 58px);
  height: clamp(48px, 5.15vw, 82px);
}

#view-table .poker-table.exact-art-mode .hole-cards .card {
  width: clamp(26px, 2.55vw, 38px);
  height: clamp(37px, 3.55vw, 54px);
}

#view-table .poker-table.exact-art-mode .hero-seat .hole-cards .card {
  width: clamp(34px, 3.35vw, 52px);
  height: clamp(48px, 4.7vw, 72px);
}

#view-table .poker-table.exact-art-mode .chip-stack {
  min-height: 20px;
  transform: translateY(-2px);
}

#view-table .poker-table.exact-art-mode .chip {
  animation: chipSettle 220ms ease both;
}

@keyframes chipSettle {
  from { opacity: 0; transform: translateY(-10px) scale(0.85); }
  to { opacity: 1; }
}

#view-table .poker-table.exact-art-mode .dealer-chip {
  z-index: 18;
  animation: dealerButtonPop 260ms ease both;
}

@keyframes dealerButtonPop {
  from { opacity: 0; transform: scale(0.65); }
  to { opacity: 1; transform: scale(1); }
}

.is-hidden-action {
  display: none !important;
}

#view-table .action-panel {
  width: min(1040px, 76%);
  background: rgba(3, 8, 20, 0.56);
  border-color: color-mix(in srgb, var(--accent, #39d8ff) 52%, rgba(255,255,255,0.12));
}

#view-table .action-buttons button:not(.is-hidden-action) {
  animation: actionButtonEnter 180ms ease both;
}

@keyframes actionButtonEnter {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.flying-card,
.flying-chip,
.pot-chip-win,
.floating-action-label,
.winner-banner {
  position: absolute;
  z-index: 90;
  pointer-events: none;
  transform: translate(-50%, -50%);
}

.flying-card {
  width: clamp(34px, 3.5vw, 56px);
  height: clamp(48px, 4.9vw, 78px);
  filter: drop-shadow(0 18px 24px rgba(0,0,0,0.55));
  animation: dealCardFly 520ms cubic-bezier(.16,.92,.2,1) forwards;
}

.flying-card .card,
.flying-card .flip-card,
.flying-card .flip-face {
  width: 100%;
  height: 100%;
}

@keyframes dealCardFly {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(0.58) rotate(-12deg); }
  14% { opacity: 1; }
  100% { opacity: 1; transform: translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(1) rotate(0deg); }
}

.community-reveal {
  animation: communityCardFly 720ms cubic-bezier(.16,.92,.2,1) forwards;
}

@keyframes communityCardFly {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(0.58) rotate(-8deg); }
  18% { opacity: 1; }
  58% { transform: translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(1.05) rotate(0deg); }
  100% { opacity: 1; transform: translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(1) rotate(0deg); }
}

.flip-card {
  position: relative;
  transform-style: preserve-3d;
  animation: cardFlip 720ms ease forwards;
}

.flip-face {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
}

.flip-front {
  transform: rotateY(180deg);
}

@keyframes cardFlip {
  0%, 46% { transform: rotateY(0deg); }
  100% { transform: rotateY(180deg); }
}

.flying-chip,
.pot-chip-win {
  width: clamp(14px, 1.25vw, 22px);
  height: clamp(14px, 1.25vw, 22px);
  border-radius: 999px;
  border: 2px dashed rgba(255,255,255,0.64);
  background:
    radial-gradient(circle at 50% 50%, white 0 17%, var(--accent, #39d8ff) 18% 54%, #07111f 55% 100%);
  box-shadow: 0 12px 22px rgba(0,0,0,0.46), 0 0 16px color-mix(in srgb, var(--accent, #39d8ff) 30%, transparent);
}

.flying-chip {
  animation: chipFlyToPot 580ms cubic-bezier(.2,.9,.18,1) forwards;
}

@keyframes chipFlyToPot {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(0.7); }
  15% { opacity: 1; }
  82% { opacity: 1; transform: translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(1.08); }
  100% { opacity: 0; transform: translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(0.7); }
}

.pot-chip-win {
  background:
    radial-gradient(circle at 50% 50%, white 0 17%, #ffd166 18% 54%, #120c02 55% 100%);
  animation: potFlyToWinner 780ms cubic-bezier(.2,.9,.18,1) forwards;
}

@keyframes potFlyToWinner {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(0.75); }
  10% { opacity: 1; }
  82% { opacity: 1; transform: translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(1.12); }
  100% { opacity: 0; transform: translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(0.65); }
}

.floating-action-label {
  padding: 0.35rem 0.62rem;
  border-radius: 999px;
  color: white;
  font-weight: 950;
  font-size: clamp(0.62rem, 0.8vw, 0.78rem);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  background: rgba(2,7,17,0.78);
  border: 1px solid color-mix(in srgb, var(--accent, #39d8ff) 50%, rgba(255,255,255,0.12));
  box-shadow: 0 16px 28px rgba(0,0,0,0.4), 0 0 18px color-mix(in srgb, var(--accent, #39d8ff) 20%, transparent);
  animation: actionFloat 950ms ease forwards;
}

@keyframes actionFloat {
  0% { opacity: 0; transform: translate(-50%, -25%) scale(0.92); }
  16% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  100% { opacity: 0; transform: translate(-50%, -110%) scale(0.98); }
}

.winner-banner {
  min-width: 230px;
  text-align: center;
  padding: 0.75rem 1rem;
  border-radius: 18px;
  color: #fff8e8;
  background:
    radial-gradient(circle at 50% 0, rgba(255,209,102,0.2), transparent 55%),
    rgba(3,8,20,0.86);
  border: 1px solid rgba(255,209,102,0.52);
  box-shadow: 0 20px 55px rgba(0,0,0,0.52), 0 0 38px rgba(255,209,102,0.24);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  animation: winnerBannerIn 2.2s ease forwards;
}

.winner-banner strong,
.winner-banner span { display: block; }
.winner-banner strong { font-size: clamp(0.92rem, 1.1vw, 1.1rem); }
.winner-banner span { margin-top: 0.22rem; color: #ffd166; font-weight: 800; }

@keyframes winnerBannerIn {
  0% { opacity: 0; transform: translate(-50%, -15%) scale(0.9); }
  14% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  84% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  100% { opacity: 0; transform: translate(-50%, -70%) scale(0.96); }
}

.raise-flash { animation: raiseFlash 460ms ease; }
.check-flash { animation: checkFlash 420ms ease; }
.fold-flash { animation: foldFlash 420ms ease; }

@keyframes raiseFlash {
  50% { transform: translateY(-4px) scale(1.04); filter: drop-shadow(0 0 20px rgba(255,209,102,0.48)); }
}

@keyframes checkFlash {
  50% { transform: translateY(-2px) scale(1.02); filter: drop-shadow(0 0 16px rgba(52,211,153,0.42)); }
}

@keyframes foldFlash {
  50% { transform: scale(0.96); filter: grayscale(0.6) brightness(0.75); }
}

@media (max-width: 1280px) {
  #view-table .action-panel {
    width: 100%;
  }
}

@media (max-width: 760px) {
  #view-table .poker-table.exact-art-mode .seat {
    width: 112px;
  }
  #view-table .poker-table.exact-art-mode .seat-5 {
    width: 152px;
  }
  #view-table .poker-table.exact-art-mode .player-tag {
    padding: 0.32rem 0.42rem;
  }
  #view-table .poker-table.exact-art-mode .player-chips,
  #view-table .poker-table.exact-art-mode .player-bet {
    display: none;
  }
  #view-table .poker-table.exact-art-mode .community-cards .card {
    width: 31px;
    height: 44px;
  }
}

/* === POLISHED CARD FLOW CLEANUP ===
   Removes visible placeholder/duplicate cards and stabilizes the card/chip layer.
   Real table art stays as the background; only active gameplay cards render on top. */
#view-table .poker-table.exact-art-mode .community-cards {
  display: grid;
  grid-template-columns: repeat(5, clamp(34px, 3.65vw, 58px));
  grid-auto-rows: clamp(48px, 5.15vw, 82px);
  align-items: center;
  justify-content: center;
  gap: clamp(0.18rem, 0.75vw, 0.58rem);
  min-width: calc((clamp(34px, 3.65vw, 58px) * 5) + (clamp(0.18rem, 0.75vw, 0.58rem) * 4) + 18px);
  min-height: calc(clamp(48px, 5.15vw, 82px) + 14px);
  padding: 7px 9px;
  border-radius: 13px;
  isolation: isolate;
}

#view-table .poker-table.exact-art-mode .community-cards.is-empty {
  display: none;
}

#view-table .poker-table.exact-art-mode .community-cards.has-live-cards::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background:
    radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--accent, #39d8ff) 12%, transparent), transparent 68%),
    rgba(2, 7, 18, 0.58);
  border: 1px solid color-mix(in srgb, var(--accent, #39d8ff) 16%, rgba(255,255,255,0.08));
  box-shadow: 0 10px 28px rgba(0,0,0,0.34), inset 0 1px 0 rgba(255,255,255,0.05);
  backdrop-filter: blur(4px) brightness(0.74) saturate(1.05);
  -webkit-backdrop-filter: blur(4px) brightness(0.74) saturate(1.05);
}

#view-table .poker-table.exact-art-mode .hole-cards {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: clamp(0.18rem, 0.42vw, 0.34rem);
  min-height: 0;
  padding: 4px 5px;
  border-radius: 10px;
  isolation: isolate;
}

#view-table .poker-table.exact-art-mode .hole-cards.is-empty {
  display: none;
}

#view-table .poker-table.exact-art-mode .hole-cards.has-live-cards::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background: rgba(2, 7, 18, 0.50);
  border: 1px solid color-mix(in srgb, var(--accent, #39d8ff) 12%, rgba(255,255,255,0.08));
  box-shadow: 0 8px 20px rgba(0,0,0,0.30);
  backdrop-filter: blur(4px) brightness(0.72) saturate(1.08);
  -webkit-backdrop-filter: blur(4px) brightness(0.72) saturate(1.08);
}

/* No placeholder card backs are used in the active board or empty seats. */
#view-table .poker-table.exact-art-mode .board-placeholder,
#view-table .poker-table.exact-art-mode .empty-card {
  display: none !important;
}

/* Stable final cards: only moving cards animate. This prevents repeated re-render flicker. */
#view-table .poker-table.exact-art-mode .card.board-card,
#view-table .poker-table.exact-art-mode .card.hole-card,
#view-table .poker-table.exact-art-mode .chip,
#view-table .poker-table.exact-art-mode .dealer-chip {
  animation: none !important;
}

#view-table .poker-table.exact-art-mode .card.board-card,
#view-table .poker-table.exact-art-mode .card.hole-card {
  position: relative;
  z-index: 2;
  will-change: transform;
}

#view-table .poker-table.exact-art-mode .card.winning-card {
  border-color: #ffd166;
  box-shadow:
    0 0 0 2px rgba(255, 209, 102, 0.36),
    0 0 26px rgba(255, 209, 102, 0.44),
    0 12px 22px rgba(0,0,0,0.46),
    inset 0 1px 0 rgba(255,255,255,0.84);
  transform: translateY(-3px);
}

/* Smooth poker deal path with a soft arc and natural card-toss rotation. */
.flying-card.deal-flight,
.flying-card.community-reveal {
  will-change: transform, opacity;
  transform-origin: center center;
  backface-visibility: hidden;
}

.flying-card.deal-flight {
  animation: polishedDealCardFly 620ms cubic-bezier(.16,.82,.19,1) forwards;
}

@keyframes polishedDealCardFly {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.46) rotate(var(--rs, -12deg));
  }
  12% { opacity: 1; }
  56% {
    opacity: 1;
    transform: translate(calc(-50% + var(--mx)), calc(-50% + var(--my))) scale(1.06) rotate(var(--rm, 7deg));
  }
  100% {
    opacity: 1;
    transform: translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(1) rotate(var(--re, 0deg));
  }
}

.community-reveal {
  animation: polishedCommunityCardFly 780ms cubic-bezier(.16,.82,.19,1) forwards;
}

@keyframes polishedCommunityCardFly {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.50) rotate(var(--rs, -8deg));
  }
  13% { opacity: 1; }
  48% {
    transform: translate(calc(-50% + var(--mx)), calc(-50% + var(--my))) scale(1.07) rotate(var(--rm, 5deg));
  }
  100% {
    opacity: 1;
    transform: translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(1) rotate(var(--re, 0deg));
  }
}

.community-reveal .flip-card {
  animation: polishedCardFlip 780ms cubic-bezier(.16,.82,.19,1) forwards;
}

@keyframes polishedCardFlip {
  0%, 44% { transform: rotateY(0deg); }
  100% { transform: rotateY(180deg); }
}

/* Ensure the flying-card inner card does not run the static pop animation. */
.flying-card .card {
  animation: none !important;
}

/* Cleaner live seat layer: cards and status sit on their own small glass pads. */
#view-table .poker-table.exact-art-mode .player-status,
#view-table .poker-table.exact-art-mode .player-bet {
  min-height: 1em;
}

#view-table .poker-table.exact-art-mode .player-card.is-folded .hole-cards {
  display: none !important;
}

@media (max-width: 760px) {
  #view-table .poker-table.exact-art-mode .community-cards {
    grid-template-columns: repeat(5, 31px);
    grid-auto-rows: 44px;
    min-width: 192px;
    min-height: 56px;
    padding: 5px 6px;
  }
}

/* Cover the static cards baked into the artwork so only the live game cards are visible. */
#view-table .poker-table.exact-art-mode .community-cards.is-empty.cleanup-active {
  display: grid;
}

#view-table .poker-table.exact-art-mode .community-cards.cleanup-active::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background:
    radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--accent, #39d8ff) 10%, transparent), transparent 68%),
    rgba(2, 7, 18, 0.62);
  border: 1px solid color-mix(in srgb, var(--accent, #39d8ff) 14%, rgba(255,255,255,0.08));
  box-shadow: 0 10px 28px rgba(0,0,0,0.34), inset 0 1px 0 rgba(255,255,255,0.05);
  backdrop-filter: blur(5px) brightness(0.68) saturate(1.05);
  -webkit-backdrop-filter: blur(5px) brightness(0.68) saturate(1.05);
}

#view-table .poker-table.exact-art-mode .seat {
  isolation: isolate;
}

#view-table .poker-table.exact-art-mode .seat::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 58%;
  transform: translate(-50%, -50%);
  z-index: 0;
  width: clamp(62px, 5.6vw, 96px);
  height: clamp(34px, 3.4vw, 58px);
  border-radius: 12px;
  background: rgba(2, 7, 18, 0.48);
  border: 1px solid color-mix(in srgb, var(--accent, #39d8ff) 12%, rgba(255,255,255,0.07));
  box-shadow: 0 8px 18px rgba(0,0,0,0.28);
  backdrop-filter: blur(4px) brightness(0.70) saturate(1.08);
  -webkit-backdrop-filter: blur(4px) brightness(0.70) saturate(1.08);
}

#view-table .poker-table.exact-art-mode .seat-5::before {
  width: clamp(84px, 7.8vw, 134px);
  height: clamp(42px, 4.4vw, 74px);
  top: 55%;
}

#view-table .poker-table.exact-art-mode .player-card {
  position: relative;
  z-index: 1;
}

#view-table .poker-table.exact-art-mode .community-cards > .card {
  z-index: 2;
}

/* === FINAL DUPLICATE-CARD REMOVAL PATCH ===
   The table screenshots contain baked-in cards. This mask sits BETWEEN the
   screenshot artwork and the live gameplay cards so only the real active cards
   are visible during play. It applies to every table tier. */
#view-table .poker-table.exact-art-mode {
  --card-clean-surface:
    radial-gradient(circle at 50% 46%, color-mix(in srgb, var(--accent, #39d8ff) 8%, transparent), transparent 58%),
    linear-gradient(135deg,
      color-mix(in srgb, var(--feltA, #101827) 82%, #02040b 18%),
      color-mix(in srgb, var(--feltB, #040814) 86%, #000 14%)
    );
}

/* Table-specific surface tuning so the mask blends into each exact artwork. */
#view-table .poker-table.exact-art-mode[data-table="low"],
#view-table .poker-table.exact-art-mode[data-table^="micro-nlh-table-"] {
  --card-clean-surface: linear-gradient(135deg, #098994, #08747d 54%, #075f6f);
}
#view-table .poker-table.exact-art-mode[data-table="standard"],
#view-table .poker-table.exact-art-mode[data-table^="low-limit-nlh-table-"] {
  --card-clean-surface: linear-gradient(135deg, #074a35, #053926 58%, #06251d);
}
#view-table .poker-table.exact-art-mode[data-table="vip"],
#view-table .poker-table.exact-art-mode[data-table^="standard-nlh-table-"] {
  --card-clean-surface: radial-gradient(circle at 50% 50%, rgba(126,34,206,0.16), transparent 60%), linear-gradient(135deg, #17122d, #0b0b18 58%, #070713);
}
#view-table .poker-table.exact-art-mode[data-table="high-stakes"],
#view-table .poker-table.exact-art-mode[data-table^="high-limit-nlh-table-"] {
  --card-clean-surface: radial-gradient(circle at 50% 50%, rgba(247,199,91,0.10), transparent 62%), linear-gradient(135deg, #19140d, #0c0a07 58%, #050505);
}
#view-table .poker-table.exact-art-mode[data-table="high-roller"],
#view-table .poker-table.exact-art-mode[data-table^="high-roller-nlh-table-"] {
  --card-clean-surface: radial-gradient(circle at 50% 50%, rgba(124,140,255,0.12), transparent 62%), linear-gradient(135deg, #151827, #090b14 58%, #05050b);
}

#view-table .poker-table.exact-art-mode .community-cards {
  position: absolute !important;
  overflow: visible !important;
  background: transparent !important;
  filter: drop-shadow(0 18px 38px rgba(0, 0, 0, 0.32)) !important;
}

#view-table .poker-table.exact-art-mode .community-cards::before {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  left: -18px !important;
  right: -18px !important;
  top: -14px !important;
  bottom: -14px !important;
  border-radius: 16px !important;
  background: var(--card-clean-surface) !important;
  opacity: 1 !important;
  border: 1px solid color-mix(in srgb, var(--accent, #39d8ff) 22%, rgba(255,255,255,0.08)) !important;
  box-shadow:
    0 12px 30px rgba(0,0,0,0.42),
    inset 0 1px 0 rgba(255,255,255,0.035),
    inset 0 -18px 36px rgba(0,0,0,0.16) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  pointer-events: none !important;
}

#view-table .poker-table.exact-art-mode .community-cards > .card {
  position: relative !important;
  z-index: 3 !important;
}

/* Hide any baked-in or previous-frame hole cards under live player cards. */
#view-table .poker-table.exact-art-mode .hole-cards {
  position: relative !important;
  overflow: visible !important;
}

#view-table .poker-table.exact-art-mode .hole-cards.has-live-cards::before {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  left: -8px !important;
  right: -8px !important;
  top: -7px !important;
  bottom: -7px !important;
  border-radius: 12px !important;
  background: var(--card-clean-surface) !important;
  opacity: 0.96 !important;
  border: 1px solid color-mix(in srgb, var(--accent, #39d8ff) 16%, rgba(255,255,255,0.07)) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,0.34), inset 0 1px 0 rgba(255,255,255,0.03) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  pointer-events: none !important;
}

#view-table .poker-table.exact-art-mode .hole-cards > .card {
  position: relative !important;
  z-index: 2 !important;
}

/* Keep folded seats clean: no card silhouettes, no placeholder/back duplicates. */
#view-table .poker-table.exact-art-mode .player-card.is-folded .hole-cards,
#view-table .poker-table.exact-art-mode .hole-cards.is-empty,
#view-table .poker-table.exact-art-mode .board-placeholder,
#view-table .poker-table.exact-art-mode .empty-card {
  display: none !important;
}

/* Bigger mobile mask so baked artwork cards never peek out behind the live cards. */
@media (max-width: 760px) {
  #view-table .poker-table.exact-art-mode .community-cards::before {
    left: -12px !important;
    right: -12px !important;
    top: -10px !important;
    bottom: -10px !important;
  }
}

/* === STRONG ACTIVE-CARD CLEANUP PATCH v2 ===
   The table artwork is intentionally used as the table background, but the
   screenshots contain baked-in cards. These clean surfaces sit above the
   artwork and below the live card layer so no old/duplicate cards show through.
   They are broad, solid, and table-colored instead of card-shaped placeholders. */
#view-table .poker-table.exact-art-mode {
  --clean-zone-bg:
    radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--accent, #39d8ff) 9%, transparent), transparent 68%),
    linear-gradient(135deg,
      color-mix(in srgb, var(--feltA, #101827) 92%, #02040b 8%),
      color-mix(in srgb, var(--feltB, #050812) 94%, #000 6%)
    );
}

#view-table .poker-table.exact-art-mode[data-table="low"],
#view-table .poker-table.exact-art-mode[data-table^="micro-nlh-table-"] {
  --clean-zone-bg: radial-gradient(circle at 50% 50%, rgba(82,232,255,0.09), transparent 70%), linear-gradient(135deg, #0a8894, #07747e 58%, #075e6b);
}
#view-table .poker-table.exact-art-mode[data-table="standard"],
#view-table .poker-table.exact-art-mode[data-table^="low-limit-nlh-table-"] {
  --clean-zone-bg: radial-gradient(circle at 50% 50%, rgba(33,230,162,0.10), transparent 70%), linear-gradient(135deg, #07563a, #063c2a 58%, #05251d);
}
#view-table .poker-table.exact-art-mode[data-table="vip"],
#view-table .poker-table.exact-art-mode[data-table^="standard-nlh-table-"] {
  --clean-zone-bg: radial-gradient(circle at 50% 50%, rgba(168,85,247,0.12), transparent 70%), linear-gradient(135deg, #17132d, #0d0b1a 58%, #070713);
}
#view-table .poker-table.exact-art-mode[data-table="high-stakes"],
#view-table .poker-table.exact-art-mode[data-table^="high-limit-nlh-table-"] {
  --clean-zone-bg: radial-gradient(circle at 50% 50%, rgba(247,199,91,0.10), transparent 70%), linear-gradient(135deg, #19140d, #0d0a07 58%, #050505);
}
#view-table .poker-table.exact-art-mode[data-table="high-roller"],
#view-table .poker-table.exact-art-mode[data-table^="high-roller-nlh-table-"] {
  --clean-zone-bg: radial-gradient(circle at 50% 50%, rgba(124,140,255,0.11), transparent 70%), linear-gradient(135deg, #151827, #0b0d16 58%, #05050b);
}

#view-table .poker-table.exact-art-mode .community-cards {
  isolation: isolate !important;
  overflow: visible !important;
  background: transparent !important;
}

#view-table .poker-table.exact-art-mode .community-cards::before {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  left: 50% !important;
  top: 50% !important;
  width: clamp(390px, 35vw, 620px) !important;
  height: clamp(92px, 8.5vw, 142px) !important;
  transform: translate(-50%, -50%) !important;
  border-radius: 24px !important;
  background: var(--clean-zone-bg) !important;
  opacity: 1 !important;
  border: 0 !important;
  outline: 1px solid color-mix(in srgb, var(--accent, #39d8ff) 11%, transparent) !important;
  box-shadow:
    0 18px 42px rgba(0,0,0,0.36),
    inset 0 1px 0 rgba(255,255,255,0.035),
    inset 0 -18px 40px rgba(0,0,0,0.18) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  pointer-events: none !important;
}

#view-table .poker-table.exact-art-mode .community-cards > .card {
  position: relative !important;
  z-index: 3 !important;
  background-color: #f8fbff !important;
  opacity: 1 !important;
}

#view-table .poker-table.exact-art-mode .seat {
  isolation: isolate !important;
}

#view-table .poker-table.exact-art-mode .seat::before {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  left: 50% !important;
  top: 57% !important;
  width: clamp(122px, 8.8vw, 190px) !important;
  height: clamp(70px, 5.8vw, 120px) !important;
  transform: translate(-50%, -50%) !important;
  border-radius: 20px !important;
  background: var(--clean-zone-bg) !important;
  opacity: 0.98 !important;
  border: 0 !important;
  outline: 1px solid color-mix(in srgb, var(--accent, #39d8ff) 10%, transparent) !important;
  box-shadow: 0 14px 30px rgba(0,0,0,0.30), inset 0 1px 0 rgba(255,255,255,0.03) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  pointer-events: none !important;
}

#view-table .poker-table.exact-art-mode .seat-5::before {
  width: clamp(165px, 13vw, 265px) !important;
  height: clamp(92px, 7.3vw, 150px) !important;
  top: 56% !important;
}

#view-table .poker-table.exact-art-mode .player-card,
#view-table .poker-table.exact-art-mode .hole-cards,
#view-table .poker-table.exact-art-mode .player-tag,
#view-table .poker-table.exact-art-mode .chip-stack,
#view-table .poker-table.exact-art-mode .player-bet,
#view-table .poker-table.exact-art-mode .player-status {
  position: relative !important;
  z-index: 2 !important;
}

#view-table .poker-table.exact-art-mode .hole-cards::before,
#view-table .poker-table.exact-art-mode .hole-cards.has-live-cards::before {
  content: none !important;
  display: none !important;
}

#view-table .poker-table.exact-art-mode .hole-cards > .card {
  position: relative !important;
  z-index: 3 !important;
  background-color: #f8fbff !important;
  opacity: 1 !important;
}

#view-table .poker-table.exact-art-mode .player-card.is-folded .hole-cards,
#view-table .poker-table.exact-art-mode .hole-cards.is-empty,
#view-table .poker-table.exact-art-mode .board-placeholder,
#view-table .poker-table.exact-art-mode .empty-card {
  display: none !important;
}

@media (max-width: 760px) {
  #view-table .poker-table.exact-art-mode .community-cards::before {
    width: 250px !important;
    height: 82px !important;
  }
  #view-table .poker-table.exact-art-mode .seat::before {
    width: 105px !important;
    height: 64px !important;
  }
  #view-table .poker-table.exact-art-mode .seat-5::before {
    width: 145px !important;
    height: 82px !important;
  }
}

/* === 9-MAX GAMEPLAY PATCH ===
   Converts the live table overlay to 9 seats for controlled launch table operation. */
.poker-table .seat-0 { --seat-left: var(--seat0-left) !important; --seat-top: var(--seat0-top) !important; }
.poker-table .seat-1 { --seat-left: var(--seat1-left) !important; --seat-top: var(--seat1-top) !important; }
.poker-table .seat-2 { --seat-left: var(--seat2-left) !important; --seat-top: var(--seat2-top) !important; }
.poker-table .seat-3 { --seat-left: var(--seat3-left) !important; --seat-top: var(--seat3-top) !important; }
.poker-table .seat-4 { --seat-left: var(--seat4-left) !important; --seat-top: var(--seat4-top) !important; }
.poker-table .seat-5 { --seat-left: var(--seat5-left) !important; --seat-top: var(--seat5-top) !important; }
.poker-table .seat-6 { --seat-left: var(--seat6-left) !important; --seat-top: var(--seat6-top) !important; }
.poker-table .seat-7 { --seat-left: var(--seat7-left) !important; --seat-top: var(--seat7-top) !important; }
.poker-table .seat-8 { --seat-left: var(--seat8-left) !important; --seat-top: var(--seat8-top) !important; }

#view-table .poker-table.exact-art-mode {
  --seat-size: clamp(92px, 7.15vw, 138px);
  --hero-seat-size: clamp(142px, 11.6vw, 210px);
}

#view-table .poker-table.exact-art-mode .seat {
  width: var(--seat-size) !important;
}

#view-table .poker-table.exact-art-mode .seat-5 {
  width: var(--seat-size) !important;
}

#view-table .poker-table.exact-art-mode .seat-8,
#view-table .poker-table.exact-art-mode .hero-seat {
  width: var(--hero-seat-size) !important;
}

#view-table .poker-table.exact-art-mode .player-tag {
  grid-template-columns: clamp(24px, 2.2vw, 32px) minmax(0, 1fr);
  gap: clamp(0.24rem, 0.42vw, 0.42rem);
  padding: clamp(0.28rem, 0.52vw, 0.48rem) clamp(0.36rem, 0.62vw, 0.62rem);
}

#view-table .poker-table.exact-art-mode .avatar {
  width: clamp(24px, 2.2vw, 32px);
  height: clamp(24px, 2.2vw, 32px);
  font-size: clamp(0.72rem, 0.85vw, 0.95rem);
}

#view-table .poker-table.exact-art-mode .player-name,
#view-table .poker-table.exact-art-mode .player-chips,
#view-table .poker-table.exact-art-mode .player-status,
#view-table .poker-table.exact-art-mode .player-bet {
  font-size: clamp(0.58rem, 0.7vw, 0.78rem);
}

#view-table .poker-table.exact-art-mode .hole-cards .card {
  width: clamp(22px, 2.05vw, 34px);
  height: clamp(32px, 3vw, 48px);
}

#view-table .poker-table.exact-art-mode .hero-seat .hole-cards .card {
  width: clamp(32px, 3.05vw, 48px);
  height: clamp(46px, 4.35vw, 68px);
}

#view-table .poker-table.exact-art-mode .seat::before {
  width: clamp(98px, 7.45vw, 154px) !important;
  height: clamp(58px, 5.1vw, 104px) !important;
}

#view-table .poker-table.exact-art-mode .seat-5::before {
  width: clamp(98px, 7.45vw, 154px) !important;
  height: clamp(58px, 5.1vw, 104px) !important;
  top: 57% !important;
}

#view-table .poker-table.exact-art-mode .seat-8::before,
#view-table .poker-table.exact-art-mode .hero-seat::before {
  width: clamp(150px, 12.2vw, 245px) !important;
  height: clamp(84px, 7vw, 138px) !important;
  top: 56% !important;
}

#view-table .chair {
  width: clamp(62px, 5.8vw, 108px);
  height: clamp(38px, 3.8vw, 70px);
  opacity: 0.5;
}

#view-table .chair-0 { top: 18%; left: 22%; transform: translate(-50%, -50%) rotate(-34deg); }
#view-table .chair-1 { top: 10%; left: 38%; transform: translate(-50%, -50%) rotate(-14deg); }
#view-table .chair-2 { top: 10%; left: 62%; transform: translate(-50%, -50%) rotate(14deg); }
#view-table .chair-3 { top: 18%; left: 78%; transform: translate(-50%, -50%) rotate(34deg); }
#view-table .chair-4 { top: 43%; left: 91%; transform: translate(-50%, -50%) rotate(86deg); }
#view-table .chair-5 { top: 70%; left: 76%; transform: translate(-50%, -50%) rotate(132deg); }
#view-table .chair-6 { top: 70%; left: 24%; transform: translate(-50%, -50%) rotate(-132deg); }
#view-table .chair-7 { top: 43%; left: 9%; transform: translate(-50%, -50%) rotate(-86deg); }
#view-table .chair-8 { top: 82%; left: 50%; transform: translate(-50%, -50%) rotate(180deg); }

@media (max-width: 760px) {
  #view-table .poker-table.exact-art-mode {
    --seat-size: 92px;
    --hero-seat-size: 142px;
  }

  #view-table .poker-table.exact-art-mode .player-tag {
    grid-template-columns: 22px minmax(0, 1fr);
    padding: 0.24rem 0.32rem;
  }

  #view-table .poker-table.exact-art-mode .avatar {
    width: 22px;
    height: 22px;
  }

  #view-table .poker-table.exact-art-mode .seat::before {
    width: 88px !important;
    height: 55px !important;
  }

  #view-table .poker-table.exact-art-mode .seat-8::before,
  #view-table .poker-table.exact-art-mode .hero-seat::before {
    width: 132px !important;
    height: 76px !important;
  }
}


/* === POLISHED PLAYER CARD LAYOUT UPDATE === */
.poker-table .player-card.polished-player-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.18rem;
}

.poker-table .player-card.polished-player-card .avatar,
.poker-table .player-card.polished-player-card .chip-stack,
.poker-table .player-card.polished-player-card .player-bet {
  display: none !important;
}

.poker-table .player-card.polished-player-card .polished-hole-cards {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  min-height: 50px;
  margin-bottom: -8px;
  z-index: 3;
}

.poker-table .player-card.polished-player-card .polished-hole-cards > .card {
  position: relative;
  transform-origin: bottom center;
  box-shadow: 0 10px 22px rgba(0,0,0,0.42);
}

.poker-table .player-card.polished-player-card .polished-hole-cards > .card:first-child {
  margin-right: -8px;
  transform: rotate(-5deg);
}

.poker-table .player-card.polished-player-card .polished-hole-cards > .card:last-child {
  margin-left: -8px;
  transform: rotate(5deg);
}

.poker-table .player-card.polished-player-card .player-panel {
  position: relative;
  width: 100%;
  padding: 0.72rem 0.8rem 0.66rem;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(8, 12, 24, 0.92), rgba(3, 6, 15, 0.9));
  border: 1px solid rgba(255,255,255,0.09);
  box-shadow: 0 16px 28px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.07);
  text-align: center;
  overflow: hidden;
}

.poker-table .player-card.polished-player-card .player-panel::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent, #39d8ff) 70%, white 12%), transparent);
  opacity: 0.9;
}

.poker-table .player-card.polished-player-card .player-badge {
  position: absolute;
  top: 0.38rem;
  left: 0.42rem;
  min-width: 34px;
  padding: 0.16rem 0.34rem;
  border-radius: 8px;
  background: rgba(0,0,0,0.45);
  border: 1px solid rgba(255,255,255,0.1);
  color: #f5f8ff;
  font-size: 0.64rem;
  font-weight: 900;
  line-height: 1;
}

.poker-table .player-card.polished-player-card .player-topline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.45rem;
}

.poker-table .player-card.polished-player-card .player-name-block {
  min-width: 0;
  flex: 1;
}

.poker-table .player-card.polished-player-card .player-name {
  display: block;
  color: #f0f6ff;
  font-size: clamp(0.68rem, 0.86vw, 0.94rem);
  font-weight: 900;
  letter-spacing: 0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.poker-table .player-card.polished-player-card.is-human .player-name {
  color: #ffbf47;
}

.poker-table .player-card.polished-player-card .player-role {
  color: #9fb3d8;
  font-size: 0.56rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-top: 0.08rem;
}

.poker-table .player-card.polished-player-card .player-state-pill {
  flex: 0 0 auto;
  padding: 0.18rem 0.36rem;
  border-radius: 999px;
  font-size: 0.54rem;
  line-height: 1;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.08);
  color: #eef5ff;
}

.poker-table .player-card.polished-player-card .player-state-pill.is-active {
  background: rgba(36,215,255,0.12);
  border-color: rgba(36,215,255,0.4);
  color: #8ff2ff;
}

.poker-table .player-card.polished-player-card .player-state-pill.is-winner {
  background: rgba(247,199,91,0.12);
  border-color: rgba(247,199,91,0.45);
  color: #ffd978;
}

.poker-table .player-card.polished-player-card .player-chips {
  color: #7fc6ff !important;
  font-size: clamp(0.68rem, 0.82vw, 0.88rem);
  font-weight: 900;
  margin-top: 0.2rem;
}

.poker-table .player-card.polished-player-card .player-status {
  margin-top: 0.14rem;
  min-height: 1em;
  color: #c5d3ea;
  font-size: clamp(0.58rem, 0.7vw, 0.74rem);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.poker-table .player-card.polished-player-card.is-folded .player-panel {
  opacity: 0.78;
}

#view-table .poker-table.exact-art-mode .player-card.polished-player-card {
  gap: 0.12rem;
}

#view-table .poker-table.exact-art-mode .player-card.polished-player-card .polished-hole-cards {
  min-height: 42px;
  margin-bottom: -7px;
}

#view-table .poker-table.exact-art-mode .player-card.polished-player-card .player-panel {
  padding: 0.62rem 0.68rem 0.56rem;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(7, 11, 22, 0.9), rgba(1, 4, 11, 0.88));
  border: 1px solid color-mix(in srgb, var(--accent, #39d8ff) 32%, rgba(255,255,255,0.12));
  backdrop-filter: blur(8px) saturate(1.1);
  -webkit-backdrop-filter: blur(8px) saturate(1.1);
}

#view-table .poker-table.exact-art-mode .player-card.polished-player-card .player-name {
  font-size: clamp(0.62rem, 0.74vw, 0.82rem);
}

#view-table .poker-table.exact-art-mode .player-card.polished-player-card .player-role {
  font-size: 0.5rem;
}

#view-table .poker-table.exact-art-mode .player-card.polished-player-card .player-chips {
  font-size: clamp(0.62rem, 0.72vw, 0.8rem);
}

#view-table .poker-table.exact-art-mode .player-card.polished-player-card .player-status {
  font-size: clamp(0.54rem, 0.66vw, 0.72rem);
}

#view-table .poker-table.exact-art-mode .player-card.polished-player-card .player-badge {
  top: 0.32rem;
  left: 0.34rem;
  min-width: 30px;
  font-size: 0.58rem;
}

#view-table .poker-table.exact-art-mode .seat-8 .player-panel,
#view-table .poker-table.exact-art-mode .hero-seat .player-panel {
  padding-top: 0.7rem;
}

@media (max-width: 760px) {
  .poker-table .player-card.polished-player-card .polished-hole-cards > .card:first-child {
    margin-right: -6px;
  }

  .poker-table .player-card.polished-player-card .polished-hole-cards > .card:last-child {
    margin-left: -6px;
  }

  .poker-table .player-card.polished-player-card .player-panel {
    padding: 0.52rem 0.5rem 0.48rem;
  }

  .poker-table .player-card.polished-player-card .player-status {
    display: none;
  }
}


/* High-Roller animation removed completely. */
.table-edge-glow,
.table-rail-glow {
  display: none !important;
  animation: none !important;
}


/* === PRIVATE TABLE OVERLAY FOR ROBERT'S TABLE === */
.private-table-overlay {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  text-align: center;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(2, 5, 12, 0.38), rgba(2, 5, 12, 0.56));
  backdrop-filter: blur(1.5px);
  -webkit-backdrop-filter: blur(1.5px);
}

.private-table-overlay.is-hidden {
  display: none !important;
}

.private-table-overlay strong {
  color: #ffffff;
  font-size: clamp(1.2rem, 2.2vw, 2.15rem);
  font-weight: 950;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-shadow: 0 6px 18px rgba(0,0,0,0.52);
}

.private-table-overlay span {
  color: rgba(235, 244, 255, 0.96);
  font-size: clamp(0.76rem, 1.1vw, 1rem);
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-shadow: 0 4px 14px rgba(0,0,0,0.48);
}

.card-private-overlay {
  background: linear-gradient(180deg, rgba(2, 5, 12, 0.28), rgba(2, 5, 12, 0.48));
}

.card-private-overlay strong {
  font-size: clamp(0.96rem, 1.5vw, 1.35rem);
}

.card-private-overlay span {
  font-size: clamp(0.64rem, 0.95vw, 0.82rem);
}

.table-preview-frame.is-private-preview img,
.hero-table-showcase:has(.private-table-overlay:not(.is-hidden)) img,
#view-table .poker-table .play-private-overlay:not(.is-hidden) ~ .actual-table-art {
  filter: brightness(0.82) saturate(0.92);
}

.hero-table-showcase {
  position: relative;
}

.hero-table-showcase .private-table-overlay {
  border-radius: 22px;
}

.play-private-overlay {
  z-index: 5;
  inset: 2.4% 2.2%;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(3, 7, 16, 0.14), rgba(3, 7, 16, 0.34));
}

.play-private-overlay strong {
  font-size: clamp(1.35rem, 2.35vw, 2.4rem);
}

.play-private-overlay span {
  font-size: clamp(0.82rem, 1.05vw, 1.02rem);
}

@media (max-width: 900px) {
  .private-table-overlay strong {
    letter-spacing: 0.12em;
  }
  .play-private-overlay {
    inset: 3% 2.5%;
  }
}


/* === CARDS DIRECTLY ON TABLE PATCH ===
   Remove the large clean blocks behind community cards and player hole cards
   so the cards sit directly on the felt/artwork on all tables. */
#view-table .poker-table.exact-art-mode .community-cards,
#view-table .poker-table.exact-art-mode .seat,
#view-table .poker-table.exact-art-mode .hole-cards {
  isolation: auto !important;
}

#view-table .poker-table.exact-art-mode .community-cards::before,
#view-table .poker-table.exact-art-mode .seat::before,
#view-table .poker-table.exact-art-mode .hole-cards::before,
#view-table .poker-table.exact-art-mode .hole-cards.has-live-cards::before {
  content: none !important;
  display: none !important;
  background: none !important;
  box-shadow: none !important;
  border: 0 !important;
  outline: 0 !important;
}

#view-table .poker-table.exact-art-mode .community-cards {
  gap: clamp(0.18rem, 0.55vw, 0.42rem) !important;
  filter: drop-shadow(0 10px 16px rgba(0,0,0,0.28)) !important;
}

#view-table .poker-table.exact-art-mode .community-cards > .card {
  z-index: 4 !important;
  box-shadow: 0 12px 18px rgba(0,0,0,0.32), 0 2px 2px rgba(255,255,255,0.18) inset !important;
}

#view-table .poker-table.exact-art-mode .player-card.polished-player-card .polished-hole-cards {
  margin-bottom: -4px !important;
}

#view-table .poker-table.exact-art-mode .hole-cards {
  min-height: auto !important;
  gap: 0 !important;
  filter: drop-shadow(0 8px 14px rgba(0,0,0,0.24)) !important;
}

#view-table .poker-table.exact-art-mode .hole-cards > .card {
  z-index: 4 !important;
  box-shadow: 0 10px 16px rgba(0,0,0,0.28), 0 2px 2px rgba(255,255,255,0.16) inset !important;
}

#view-table .poker-table.exact-art-mode .player-card.polished-player-card .polished-hole-cards > .card:first-child {
  margin-right: -7px !important;
}

#view-table .poker-table.exact-art-mode .player-card.polished-player-card .polished-hole-cards > .card:last-child {
  margin-left: -7px !important;
}

@media (max-width: 760px) {
  #view-table .poker-table.exact-art-mode .community-cards {
    gap: 0.16rem !important;
  }

  #view-table .poker-table.exact-art-mode .player-card.polished-player-card .polished-hole-cards > .card:first-child {
    margin-right: -5px !important;
  }

  #view-table .poker-table.exact-art-mode .player-card.polished-player-card .polished-hole-cards > .card:last-child {
    margin-left: -5px !important;
  }
}


/* === PRIVATE TABLE LABELS HOME-ONLY PATCH === */
#view-table .play-private-overlay,
#view-table .private-table-overlay.play-private-overlay {
  display: none !important;
}

.card-private-overlay strong,
.hero-table-showcase .private-table-overlay strong {
  max-width: 92%;
  line-height: 1.12;
}

.card-private-overlay span,
.hero-table-showcase .private-table-overlay span {
  display: none !important;
}




/* Document-free KYC flow */
.kyc-status-pill,
.kyc-admin-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.06);
  color: var(--muted);
  font-weight: 900;
  white-space: nowrap;
}

.kyc-status-pill[data-status="approved"],
.kyc-admin-status[data-status="approved"],
#tableKycStatus[data-status="approved"] { color: #bafde9; border-color: rgba(33,230,162,0.38); background: rgba(33,230,162,0.08); }
.kyc-status-pill[data-status="pending"],
.kyc-admin-status[data-status="pending"],
#tableKycStatus[data-status="pending"] { color: #ffe5aa; border-color: rgba(247,199,91,0.38); background: rgba(247,199,91,0.08); }
.kyc-status-pill[data-status="rejected"],
.kyc-admin-status[data-status="rejected"],
#tableKycStatus[data-status="rejected"] { color: #ffc9d3; border-color: rgba(255,92,122,0.38); background: rgba(255,92,122,0.08); }

.kyc-grid {
  display: grid;
  grid-template-columns: minmax(300px, 0.78fr) minmax(420px, 1.22fr);
  gap: 1rem;
  align-items: start;
}

.kyc-card {
  border: 1px solid var(--border);
  background:
    radial-gradient(circle at 15% 10%, rgba(36, 215, 255, 0.1), transparent 18rem),
    linear-gradient(180deg, rgba(15, 23, 42, 0.82), rgba(5, 10, 22, 0.76));
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: clamp(1rem, 2vw, 1.45rem);
  overflow: hidden;
}

.kyc-card h3 { margin: 0.7rem 0 0.4rem; font-size: clamp(1.35rem, 2.4vw, 2.05rem); letter-spacing: -0.04em; }
.kyc-card p { color: var(--muted); line-height: 1.72; margin: 0 0 1rem; }
.kyc-card.wide { grid-column: 1 / -1; }

.kyc-card-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  flex-wrap: wrap;
}

.no-doc-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.48rem 0.7rem;
  border-radius: 999px;
  color: #bafde9;
  border: 1px solid rgba(33,230,162,0.28);
  background: rgba(33,230,162,0.08);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.kyc-reference-box {
  margin: 1rem 0;
  padding: 1rem;
  border-radius: 18px;
  border: 1px solid rgba(36,215,255,0.22);
  background: rgba(36,215,255,0.07);
}

.kyc-reference-box span,
.kyc-check-row span { color: var(--muted); font-size: 0.86rem; }
.kyc-reference-box strong { display: block; margin-top: 0.35rem; font-size: 1.15rem; word-break: break-word; }

.kyc-check-list {
  display: grid;
  gap: 0.6rem;
}

.kyc-check-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.78rem 0.9rem;
  border-radius: 15px;
  background: rgba(255,255,255,0.045);
  border: 1px solid rgba(255,255,255,0.08);
}

.kyc-check-row strong { text-align: right; color: var(--text); }

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
  margin-top: 1rem;
}

.form-grid label,
.kyc-consents label {
  display: grid;
  gap: 0.42rem;
  color: #dce8ff;
  font-weight: 800;
}

.form-grid input,
.form-grid select {
  width: 100%;
  min-height: 48px;
  border-radius: 14px;
  border: 1px solid rgba(139,187,255,0.22);
  background: rgba(5, 10, 22, 0.82);
  color: var(--text);
  padding: 0.85rem 0.9rem;
  outline: none;
}

.form-grid input:focus,
.form-grid select:focus {
  border-color: rgba(36,215,255,0.65);
  box-shadow: 0 0 0 3px rgba(36,215,255,0.12);
}

.wide-field { grid-column: 1 / -1; }

.kyc-consents {
  display: grid;
  gap: 0.72rem;
  margin: 1rem 0;
  padding: 1rem;
  border-radius: 18px;
  border: 1px solid rgba(247,199,91,0.2);
  background: rgba(247,199,91,0.055);
}

.kyc-consents label {
  grid-template-columns: auto 1fr;
  align-items: start;
  color: #ffe5aa;
  line-height: 1.45;
  font-weight: 700;
}

.kyc-consents input { margin-top: 0.17rem; accent-color: var(--cyan); }

.kyc-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.production-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
  margin-top: 1rem;
}

.production-grid div {
  min-height: 120px;
  padding: 1rem;
  border-radius: 18px;
  background: rgba(255,255,255,0.045);
  border: 1px solid rgba(255,255,255,0.08);
}

.production-grid strong { display: block; margin-bottom: 0.5rem; color: var(--text); }
.production-grid span { display: block; color: var(--muted); line-height: 1.55; }

.kyc-mini-card button { margin-top: 0.85rem; }
#tableKycStatus { font-size: 1.25rem; }
.table-card .primary-btn.requires-kyc {
  background: linear-gradient(135deg, rgba(247,199,91,0.95), rgba(168,85,247,0.72));
  color: #110816;
}

@media (max-width: 980px) {
  .kyc-grid,
  .production-grid { grid-template-columns: 1fr; }
  .kyc-card.wide { grid-column: auto; }
}

@media (max-width: 640px) {
  .form-grid { grid-template-columns: 1fr; }
  .wide-field { grid-column: auto; }
  .kyc-check-row { display: grid; }
  .kyc-check-row strong { text-align: left; }
  .kyc-actions > * { width: 100%; }
}

/* Account + administrator access update */
.mode-pill em {
  font-style: normal;
}

.account-grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr 1fr;
  gap: 1rem;
}

.account-card,
.admin-auth-notice {
  border: 1px solid rgba(139,187,255,0.16);
  background: linear-gradient(180deg, rgba(13,20,44,0.86), rgba(6,10,22,0.92));
  border-radius: 24px;
  box-shadow: var(--shadow);
  padding: 1.2rem;
}

.account-card h3 { margin: 0.35rem 0 0.55rem; }
.account-card p { color: var(--muted); line-height: 1.6; }

.account-session-box {
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(36,215,255,0.2);
  border-radius: 18px;
  background: rgba(36,215,255,0.06);
}

.account-session-box span {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 0.3rem;
}

.account-session-box strong {
  color: var(--text);
  word-break: break-word;
}

.account-form {
  display: grid;
  gap: 0.85rem;
}

.account-form label,
.account-consent {
  display: grid;
  gap: 0.45rem;
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 800;
}

.account-form input {
  border-radius: 14px;
  border: 1px solid rgba(139,187,255,0.22);
  background: rgba(5, 10, 22, 0.82);
  color: var(--text);
  padding: 0.85rem 0.9rem;
  outline: none;
}

.account-form input:focus {
  border-color: rgba(36,215,255,0.65);
  box-shadow: 0 0 0 3px rgba(36,215,255,0.12);
}

.account-consent {
  grid-template-columns: auto 1fr;
  align-items: start;
  color: #ffe5aa;
  line-height: 1.45;
}

.account-consent input { margin-top: 0.12rem; accent-color: var(--cyan); }

.account-message {
  min-height: 1.35rem;
  margin-top: 1rem;
  color: var(--muted);
  font-weight: 800;
}

.account-message[data-tone="success"] { color: #73f2b6; }
.account-message[data-tone="warn"] { color: #ffd16f; }
.account-message[data-tone="error"] { color: #ff7d91; }

.admin-auth-notice {
  margin-bottom: 1rem;
  color: var(--muted);
  font-weight: 900;
}

.admin-auth-notice[data-status="approved"] {
  color: #73f2b6;
  border-color: rgba(115,242,182,0.28);
  background: rgba(115,242,182,0.07);
}

.admin-auth-notice[data-status="rejected"] {
  color: #ffd16f;
  border-color: rgba(247,199,91,0.26);
  background: rgba(247,199,91,0.06);
}

.admin-grid.is-locked {
  opacity: 0.45;
  pointer-events: none;
  filter: grayscale(0.3);
}

.kyc-form.is-locked {
  opacity: 0.62;
  filter: grayscale(0.2);
}

.kyc-form.is-locked::after {
  content: "Instant play is active. No verification is required.";
  display: block;
  margin-top: 0.85rem;
  color: #ffd16f;
  font-weight: 900;
}

@media (max-width: 1080px) {
  .account-grid { grid-template-columns: 1fr; }
}

.admin-card select.full {
  width: 100%;
  border-radius: 14px;
  border: 1px solid rgba(139,187,255,0.22);
  background: rgba(5, 10, 22, 0.82);
  color: var(--text);
  padding: 0.85rem 0.9rem;
  outline: none;
  margin: 0.75rem 0;
}

.admin-users-panel {
  display: grid;
  gap: 0.6rem;
  margin-top: 0.85rem;
  color: var(--muted);
}

.admin-user-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.045);
}

.admin-user-row strong,
.admin-user-row span {
  display: block;
}

.admin-user-row span {
  color: var(--muted);
  font-size: 0.8rem;
  margin-top: 0.2rem;
}

.admin-user-row em {
  flex: none;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.7rem;
  font-weight: 900;
  border-radius: 999px;
  padding: 0.38rem 0.55rem;
  border: 1px solid rgba(255,255,255,0.12);
  color: var(--muted);
}

.admin-user-row em[data-status="pending"] { color: #ffd16f; border-color: rgba(247,199,91,0.28); background: rgba(247,199,91,0.08); }
.admin-user-row em[data-status="approved"] { color: #73f2b6; border-color: rgba(115,242,182,0.28); background: rgba(115,242,182,0.08); }
.admin-user-row em[data-status="rejected"] { color: #ff7d91; border-color: rgba(255,125,145,0.28); background: rgba(255,125,145,0.08); }

/* Launch real-player polish */
.site-header {
  grid-template-columns: auto minmax(0, 1fr) auto;
}

.top-nav {
  justify-self: center;
  max-width: 100%;
  overflow-x: auto;
  scrollbar-width: thin;
}

.top-nav button {
  white-space: nowrap;
}




@keyframes cardSheen {
  0%, 42% { transform: translateX(-120%); opacity: 0; }
  52% { opacity: 0.95; }
  68%, 100% { transform: translateX(120%); opacity: 0; }
}



























.onboarding-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0 0 1rem;
}

.onboarding-step {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.78rem 0.9rem;
  color: var(--muted);
}

.onboarding-step strong {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: var(--text);
}

.onboarding-step span { font-weight: 900; }
.onboarding-step.active {
  color: #bafde9;
  border-color: rgba(33,230,162,0.32);
  background: rgba(33,230,162,0.075);
}

.password-rules {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.password-rules span {
  padding: 0.45rem 0.58rem;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
}

.password-rules span[data-ok="true"] {
  color: #bafde9;
  border-color: rgba(33,230,162,0.28);
  background: rgba(33,230,162,0.075);
}

.lobby-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
}

.balance-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0.72rem 1rem;
  border-radius: 999px;
  color: #fff4c8;
  border: 1px solid rgba(247,199,91,0.3);
  background: rgba(247,199,91,0.08);
  font-weight: 950;
  white-space: nowrap;
}

.table-balance-requirement {
  margin-top: 0.75rem;
  padding: 0.85rem;
  background: rgba(247,199,91,0.055);
  border-color: rgba(247,199,91,0.16);
}

.table-balance-requirement span,
.table-balance-requirement small {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
}

.table-balance-requirement strong {
  display: block;
  margin: 0.18rem 0;
  color: #fff4c8;
}

.table-card[data-access="balance"] .table-balance-requirement {
  border-color: rgba(255, 92, 122, 0.32);
  background: rgba(255, 92, 122, 0.075);
}

.table-card .primary-btn.requires-balance {
  background: linear-gradient(135deg, rgba(255, 92, 122, 0.95), rgba(247,199,91,0.72));
  color: #19070b;
}

.table-card.access-locked:not([data-access="ready"]) {
  border-color: rgba(247,199,91,0.24);
}

.balance-grid {
  grid-template-columns: minmax(260px, 0.82fr) minmax(320px, 1fr);
  align-items: start;
}

.balance-card {
  padding: 1.2rem;
}

.balance-card.wide { grid-column: 1 / -1; }
.balance-main-card h3 { color: #fff4c8; }

.balance-warning {
  margin-top: 1rem;
  padding: 0.95rem;
  border-radius: 18px;
  border: 1px solid rgba(255, 92, 122, 0.22);
  background: rgba(255, 92, 122, 0.07);
  color: #ffc9d3;
  line-height: 1.55;
}

.cashier-action-buttons {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  margin: 1rem 0;
}

.cashier-form {
  display: grid;
  gap: 0.75rem;
}

.cashier-form label {
  display: grid;
  gap: 0.42rem;
  color: var(--muted);
  font-weight: 900;
}

.cashier-form input {
  border-radius: 14px;
  border: 1px solid rgba(139,187,255,0.22);
  background: rgba(5, 10, 22, 0.82);
  color: var(--text);
  padding: 0.85rem 0.9rem;
  outline: none;
}

.balance-requirement-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  gap: 0.7rem;
  margin-top: 1rem;
}

.balance-requirement-row {
  display: grid;
  gap: 0.25rem;
  padding: 0.9rem;
}

.balance-requirement-row strong { color: var(--text); }
.balance-requirement-row span { color: var(--muted); font-size: 0.82rem; }
.balance-requirement-row em {
  font-style: normal;
  color: #ffd16f;
  font-size: 0.82rem;
  font-weight: 900;
}
.balance-requirement-row[data-status="ready"] {
  border-color: rgba(33,230,162,0.26);
  background: rgba(33,230,162,0.06);
}
.balance-requirement-row[data-status="ready"] em { color: #bafde9; }

.table-requirement-card strong { color: #fff4c8; }

@media (max-width: 1280px) {

  .balance-requirement-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 980px) {



  .onboarding-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .site-header { grid-template-columns: 1fr; }
  .brand,
  .mode-pill,
  .top-nav { justify-self: stretch; }
  .top-nav { justify-content: flex-start; border-radius: 18px; }


}


/* Legal & Compliance Center */
.inline-link-btn {
  display: inline-flex;
  margin-left: 0.25rem;
  padding: 0;
  color: #bafde9;
  background: transparent;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 900;
}

.account-consent a {
  color: #bafde9;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.legal-hero-panel,
.readiness-card {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
  gap: 1rem;
  padding: clamp(1rem, 2.6vw, 1.65rem);
  border-radius: var(--radius);
  border: 1px solid rgba(247,199,91,0.22);
  background:
    radial-gradient(circle at 15% 0%, rgba(247,199,91,0.14), transparent 30rem),
    linear-gradient(135deg, rgba(14,20,36,0.92), rgba(7,10,20,0.88));
  box-shadow: var(--shadow);
  margin-bottom: 1rem;
}

.legal-hero-panel h3,
.readiness-card h3 {
  margin: 0.45rem 0;
  font-size: clamp(1.55rem, 3vw, 2.6rem);
  letter-spacing: -0.045em;
}

.legal-hero-panel p,
.readiness-card p,
.compliance-status-card p,
.legal-doc-card p,
.legal-doc-card li {
  color: var(--muted);
  line-height: 1.7;
}

.legal-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-top: 1rem;
}

.launch-lock-card {
  display: grid;
  align-content: center;
  gap: 0.55rem;
  padding: 1.2rem;
  border-radius: 22px;
  border: 1px solid rgba(255,92,122,0.28);
  background: rgba(255,92,122,0.08);
}

.launch-lock-card span,
.compliance-status-card span,
.legal-doc-card span {
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.74rem;
  font-weight: 900;
}

.launch-lock-card strong {
  color: #ffd2da;
  font-size: clamp(1.3rem, 2.4vw, 2rem);
  letter-spacing: 0.04em;
}

.compliance-status-grid,
.legal-doc-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 1rem 0;
}

.compliance-status-card,
.legal-doc-card {
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  padding: 1.15rem;
  border: 1px solid var(--border);
  background: rgba(11,17,34,0.76);
  box-shadow: 0 18px 50px rgba(0,0,0,0.28);
}

.compliance-status-card::before,
.legal-doc-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, var(--gold), var(--cyan));
  opacity: 0.8;
}

.compliance-status-card.blocked::before { background: linear-gradient(90deg, var(--red), var(--gold)); }
.compliance-status-card.pending::before { background: linear-gradient(90deg, var(--gold), var(--purple)); }

.compliance-status-card strong {
  display: block;
  margin-top: 0.35rem;
  color: var(--text);
  font-size: 1.1rem;
}

.legal-doc-card h3 {
  margin: 0.5rem 0 0.35rem;
  font-size: 1.35rem;
}

.legal-doc-card ul {
  padding-left: 1.15rem;
  margin: 0.8rem 0 0;
}

.readiness-card {
  grid-template-columns: 0.8fr 1.2fr;
  margin-top: 1rem;
}

.readiness-list {
  display: grid;
  gap: 0.65rem;
}

.readiness-list div {
  display: grid;
  grid-template-columns: 42px 1fr;
  align-items: center;
  gap: 0.7rem;
  padding: 0.72rem;
  border-radius: 16px;
  border: 1px solid rgba(139,187,255,0.16);
  background: rgba(255,255,255,0.045);
}

.readiness-list strong {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: rgba(247,199,91,0.14);
  color: #ffe2a0;
}

.readiness-list span { color: var(--muted); line-height: 1.55; }

@media (max-width: 1100px) {
  .legal-hero-panel,
  .readiness-card,
  .compliance-status-grid,
  .legal-doc-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
  .legal-hero-panel,
  .readiness-card,
  .compliance-status-grid,
  .legal-doc-grid { grid-template-columns: 1fr; }
  .legal-action-row > * { width: 100%; }
}


.compliance-lock-list {
  display: grid;
  gap: 0.5rem;
  margin: 0.9rem 0;
}

.compliance-lock-list span {
  display: flex;
  justify-content: space-between;
  gap: 0.8rem;
  padding: 0.62rem 0.7rem;
  border-radius: 14px;
  border: 1px solid rgba(139,187,255,0.16);
  background: rgba(255,255,255,0.045);
  color: var(--muted);
}

.compliance-lock-list strong { color: #ffd2da; }

/* Admin security command center */
.admin-command-heading {
  align-items: flex-start;
  gap: 1rem;
}

.admin-command-heading code {
  color: #ffe8a3;
  background: rgba(255, 232, 163, 0.08);
  border: 1px solid rgba(255, 232, 163, 0.18);
  border-radius: 8px;
  padding: 0.08rem 0.35rem;
}

.admin-command-actions,
.admin-card-title-row,
.admin-review-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.admin-command-actions > * { white-space: nowrap; }

.admin-security-message {
  margin: 0 auto 1rem;
  width: min(1180px, calc(100% - 2rem));
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.055);
  color: var(--muted);
  border-radius: 18px;
  padding: 0.85rem 1rem;
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.22);
}

.admin-security-message[data-tone="success"] {
  color: #8fffc8;
  border-color: rgba(115, 242, 182, 0.28);
  background: rgba(115, 242, 182, 0.08);
}

.admin-security-message[data-tone="error"] {
  color: #ff9cac;
  border-color: rgba(255, 125, 145, 0.3);
  background: rgba(255, 125, 145, 0.08);
}

.admin-command-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

.admin-kpi-card {
  overflow: hidden;
  position: relative;
}

.admin-kpi-card::after {
  content: "";
  position: absolute;
  inset: auto -20% -40% 45%;
  height: 180px;
  background: radial-gradient(circle, rgba(247, 199, 91, 0.18), transparent 64%);
  pointer-events: none;
}

.security-mode-badge,
.audit-retention-pill {
  border: 1px solid rgba(247, 199, 91, 0.28);
  background: rgba(247, 199, 91, 0.09);
  color: #f7d777;
  border-radius: 999px;
  padding: 0.5rem 0.75rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-kpi-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.8rem;
  margin-top: 1rem;
}

.admin-kpi {
  min-height: 118px;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 18px;
  padding: 0.9rem;
  background: linear-gradient(145deg, rgba(255,255,255,0.08), rgba(255,255,255,0.025));
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.admin-kpi span,
.security-list span,
.backup-row span,
.incident-row span,
.audit-row span,
.audit-row em,
.admin-user-row small {
  color: var(--muted);
  font-size: 0.78rem;
}

.admin-kpi strong {
  font-size: clamp(1.25rem, 2.4vw, 2rem);
  color: #fff4c6;
  letter-spacing: -0.03em;
}

.admin-kpi small {
  color: rgba(255,255,255,0.52);
  line-height: 1.35;
}

.security-review-card {
  min-height: 280px;
}

.security-list,
.backup-list,
.incident-list,
.audit-log-panel {
  display: grid;
  gap: 0.55rem;
  margin-top: 0.9rem;
  max-height: 420px;
  overflow: auto;
  padding-right: 0.25rem;
}

.security-list div,
.backup-row,
.incident-row,
.audit-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  padding: 0.7rem 0.78rem;
  background: rgba(5, 8, 18, 0.34);
}

.security-list strong {
  color: #f8e3a0;
  font-size: 0.84rem;
  text-align: right;
}

.admin-user-review-card .admin-review-controls {
  justify-content: flex-start;
  margin: 0.9rem 0;
}

.admin-review-controls select {
  flex: 1 1 280px;
}

.admin-review-controls button {
  flex: 0 0 auto;
}

.admin-user-row.is-frozen {
  border-color: rgba(255, 125, 145, 0.28);
  background: rgba(255, 125, 145, 0.07);
}

.admin-user-row small {
  display: block;
  margin-top: 0.2rem;
}

.backup-status {
  margin-top: 0.75rem;
  border: 1px solid rgba(115, 242, 182, 0.22);
  background: rgba(115, 242, 182, 0.06);
  color: #a8f7cb;
  border-radius: 14px;
  padding: 0.72rem 0.8rem;
  font-size: 0.86rem;
}

.backup-row,
.incident-row {
  align-items: flex-start;
}

.backup-row strong,
.incident-row strong,
.audit-row strong {
  color: #fff;
  overflow-wrap: anywhere;
}

.incident-form {
  display: grid;
  gap: 0.65rem;
  margin-top: 0.8rem;
}

.incident-form input,
.incident-form textarea,
.incident-form select,
.admin-review-controls select {
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(0, 0, 0, 0.24);
  color: #fff;
  border-radius: 14px;
  padding: 0.78rem 0.85rem;
  outline: none;
}

.incident-row {
  position: relative;
  border-left: 3px solid rgba(247, 199, 91, 0.55);
}

.incident-row[data-severity="critical"] { border-left-color: #ff4d6d; }
.incident-row[data-severity="high"] { border-left-color: #ff9b54; }
.incident-row[data-severity="medium"] { border-left-color: #f7c75b; }
.incident-row[data-severity="low"] { border-left-color: #73f2b6; }
.incident-row[data-status="resolved"] { opacity: 0.68; }

.incident-row > div {
  display: grid;
  gap: 0.22rem;
}

.incident-row small {
  color: rgba(255,255,255,0.62);
  line-height: 1.45;
}

.audit-log-panel {
  max-height: 520px;
}

.audit-row {
  display: grid;
  grid-template-columns: 1.05fr 1fr 1fr 1.6fr;
  align-items: start;
}

.audit-row small {
  color: rgba(255,255,255,0.62);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

@media (max-width: 1180px) {
  .admin-command-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .audit-row { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
  .admin-command-grid,
  .admin-kpi-grid { grid-template-columns: 1fr; }
  .admin-card-title-row,
  .admin-command-actions { align-items: stretch; }
  .admin-command-actions > *,
  .admin-review-controls button { width: 100%; }
  .audit-row { grid-template-columns: 1fr; }
  .security-list div,
  .backup-row,
  .incident-row { flex-direction: column; align-items: flex-start; }
}

/* RiverX platform dashboard layout update */
body {
  background:
    radial-gradient(circle at 50% -12rem, rgba(57, 128, 255, 0.16), transparent 32rem),
    linear-gradient(180deg, #142736 0%, #102230 44%, #0b1a26 100%);
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  background: linear-gradient(90deg, rgba(5, 12, 18, .86) 0 236px, transparent 236px), radial-gradient(circle at 80% 18%, rgba(41, 124, 255, .08), transparent 30rem);
  pointer-events: none;
  z-index: -4;
}

.app-sidebar {
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  width: 236px;
  padding: 14px 12px;
  background: rgba(11, 28, 39, 0.94);
  border-right: 1px solid rgba(129, 175, 205, 0.12);
  box-shadow: 18px 0 55px rgba(0,0,0,.2);
  z-index: 45;
  overflow-y: auto;
}

.sidebar-brand-mini {
  display: flex;
  align-items: center;
  gap: 10px;
  height: 48px;
  margin-bottom: 14px;
  padding: 0 8px;
}

.sidebar-brand-mini span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: #dbf2ff;
  font-weight: 950;
  background: linear-gradient(135deg, rgba(50, 201, 255, .42), rgba(79, 93, 255, .2));
  border: 1px solid rgba(115, 195, 255, .32);
  box-shadow: 0 0 22px rgba(45, 146, 255, .18);
}

.sidebar-brand-mini strong {
  font-size: 1.05rem;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.sidebar-section {
  padding: 12px 0;
  border-top: 1px solid rgba(149, 185, 207, .13);
}

.sidebar-section p {
  margin: 0 0 8px;
  padding: 0 10px;
  color: rgba(203, 224, 238, .58);
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 900;
}

.app-sidebar button {
  width: 100%;
  min-height: 41px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 10px;
  border-radius: 10px;
  background: transparent;
  color: rgba(235, 247, 255, .85);
  font-weight: 850;
  text-align: left;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}

.app-sidebar button span {
  width: 22px;
  text-align: center;
  opacity: .88;
}

.app-sidebar button:hover,
.app-sidebar button.active {
  background: rgba(136, 177, 210, .13);
  color: #ffffff;
  transform: translateX(2px);
}

.app-sidebar button.active {
  box-shadow: inset 3px 0 0 rgba(46, 168, 255, .86);
}

.sidebar-test-note {
  margin-top: 14px;
  padding: 12px;
  border-radius: 14px;
  background: rgba(20, 37, 54, .84);
  border: 1px solid rgba(83, 151, 204, .18);
  color: rgba(229, 243, 255, .82);
}

.sidebar-test-note strong,
.sidebar-test-note span {
  display: block;
}

.sidebar-test-note strong {
  color: #aee7ff;
  margin-bottom: 5px;
}

.sidebar-test-note span {
  font-size: .8rem;
  line-height: 1.45;
  color: rgba(215, 230, 244, .65);
}

.site-header {
  position: fixed;
  left: 236px;
  right: 0;
  top: 0;
  z-index: 40;
  height: 58px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1rem;
  padding: 0 22px;
  background: rgba(13, 29, 41, .92);
  border-bottom: 1px solid rgba(126, 162, 190, .14);
  backdrop-filter: blur(18px);
  box-shadow: 0 16px 40px rgba(0,0,0,.16);
}

.brand {
  justify-self: center;
  grid-column: 2;
  gap: .6rem;
}

.brand-mark {
  width: 36px;
  height: 36px;
  border-radius: 10px;
}

.brand strong {
  letter-spacing: .16em;
}

.brand small {
  display: none;
}

.top-nav {
  grid-column: 1;
  grid-row: 1;
  justify-self: start;
  display: inline-flex;
  gap: 8px;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 12px;
  max-width: 420px;
  overflow-x: auto;
}

.top-nav button {
  min-height: 34px;
  padding: .48rem .78rem;
  border-radius: 8px;
  color: rgba(230, 244, 255, .82);
  background: rgba(128, 159, 184, .12);
  white-space: nowrap;
  font-size: .86rem;
}

.top-nav button:nth-child(n+5) {
  display: none;
}

.top-nav button:hover,
.top-nav button.active {
  background: linear-gradient(180deg, #40d071, #20a952);
  color: #ffffff;
  box-shadow: 0 8px 24px rgba(35, 193, 96, .2);
}

.topbar-account-cluster {
  grid-column: 3;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.topbar-balance {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  padding: 0 0 0 14px;
  border-radius: 9px;
  overflow: hidden;
  background: rgba(7, 16, 24, .72);
  border: 1px solid rgba(126, 165, 198, .14);
  color: #f5fbff;
}

.topbar-balance strong {
  font-size: .9rem;
  letter-spacing: .02em;
}

.topbar-balance span {
  align-self: stretch;
  display: inline-grid;
  place-items: center;
  padding: 0 16px;
  background: linear-gradient(180deg, #357eff, #1d5ee8);
  font-weight: 900;
  color: #fff;
}

.mode-pill {
  justify-self: auto;
  max-width: 310px;
  min-height: 40px;
  padding: 0 12px;
  border-radius: 9px;
  background: rgba(9, 21, 31, .72);
  color: rgba(220, 240, 255, .86);
  border: 1px solid rgba(136, 178, 208, .13);
}

.mode-pill em {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-style: normal;
  font-size: .84rem;
}

main {
  width: min(1180px, calc(100% - 280px));
  margin: 0 auto 0 236px;
  padding: 72px 24px 42px;
}

.view {
  padding: 0 0 clamp(2rem, 4vw, 4rem);
}

.rx-dashboard-home {
  display: grid;
  gap: 22px;
  margin-bottom: 28px;
}

.rx-promo-row {
  display: grid;
  grid-template-columns: 1.18fr 1fr 1fr;
  gap: 16px;
}

.rx-promo-card {
  min-height: 182px;
  position: relative;
  display: grid;
  grid-template-columns: 1fr 138px;
  gap: 14px;
  align-items: center;
  overflow: hidden;
  border-radius: 10px;
  padding: 20px;
  background: rgba(23, 47, 62, .86);
  border: 1px solid rgba(122, 161, 190, .12);
  box-shadow: 0 18px 46px rgba(0,0,0,.18);
}

.rx-promo-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 78% 28%, rgba(52, 140, 255, .28), transparent 14rem), linear-gradient(90deg, rgba(255,255,255,.03), transparent);
  pointer-events: none;
}

.rx-promo-card.featured {
  grid-template-columns: 1fr 180px;
}

.rx-promo-card > div,
.rx-promo-card > img {
  position: relative;
  z-index: 1;
}

.rx-promo-card h2 {
  margin: 8px 0;
  font-size: clamp(1.2rem, 2.2vw, 1.9rem);
  line-height: 1.05;
  letter-spacing: -.04em;
}

.rx-promo-card p {
  margin: 0 0 16px;
  color: rgba(222, 237, 250, .72);
  line-height: 1.5;
  font-size: .92rem;
}

.rx-promo-card img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 16px;
  box-shadow: 0 16px 38px rgba(0,0,0,.26), 0 0 28px rgba(52, 140, 255, .18);
}

.rx-search-strip {
  height: 46px;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 10px;
  padding: 0 16px;
  border-radius: 7px;
  background: rgba(8, 19, 28, .82);
  border: 1px solid rgba(128, 165, 197, .18);
  color: rgba(224, 239, 250, .6);
}

.rx-search-strip input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--text);
}

.rx-search-strip input::placeholder {
  color: rgba(220, 238, 250, .58);
}

.rx-category-pills {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px;
  border-radius: 999px;
  background: rgba(8, 19, 28, .82);
  box-shadow: inset 0 0 0 1px rgba(128, 165, 197, .08);
  overflow-x: auto;
}

.rx-category-pills button {
  min-height: 36px;
  flex: 0 0 auto;
  padding: .55rem .95rem;
  border-radius: 999px;
  background: transparent;
  color: rgba(224, 240, 250, .85);
  font-weight: 900;
  font-size: .88rem;
}

.rx-category-pills button:hover,
.rx-category-pills button.active {
  background: rgba(128, 159, 184, .22);
  color: #fff;
}

.rx-game-shelf {
  display: grid;
  gap: 12px;
}

.rx-shelf-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.rx-shelf-heading h2 {
  margin: 0;
  font-size: 1.25rem;
  letter-spacing: -.02em;
}

.rx-game-row,
.home-table-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.rx-game-tile {
  display: grid;
  gap: 7px;
  text-align: left;
  padding: 0 0 10px;
  overflow: hidden;
  border-radius: 9px;
  background: rgba(20, 43, 58, .78);
  border: 1px solid rgba(126, 165, 198, .12);
  transition: transform .18s ease, box-shadow .18s ease;
}

.rx-game-tile:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(0,0,0,.24), 0 0 30px rgba(52, 140, 255, .13);
}

.rx-game-tile img,
.rx-test-balance-art {
  width: 100%;
  aspect-ratio: 1.24 / 1;
  object-fit: cover;
  background: linear-gradient(135deg, rgba(59, 143, 255, .58), rgba(153, 79, 255, .5));
}

.rx-test-balance-art {
  display: grid;
  place-items: center;
  color: rgba(255,255,255,.96);
  font-size: clamp(2rem, 4vw, 3.6rem);
  font-weight: 1000;
  letter-spacing: .08em;
}

.rx-game-tile strong,
.rx-game-tile span {
  padding: 0 10px;
}

.rx-game-tile strong {
  color: #fff;
  font-size: .98rem;
}

.rx-game-tile span {
  color: rgba(218, 235, 248, .68);
  font-size: .82rem;
}

.hero {
  min-height: auto;
  margin-top: 18px;
  padding: 24px;
  border-radius: 14px;
  background: rgba(17, 37, 52, .48);
  border: 1px solid rgba(133, 174, 205, .1);
  grid-template-columns: minmax(0, 1fr) minmax(340px, .72fr);
}

.hero h1,
.section-heading h2 {
  font-size: clamp(2rem, 4vw, 4.4rem);
}


.home-table-section {
  padding: 22px;
}

.home-table-heading h2 {
  font-size: clamp(1.55rem, 3vw, 2.4rem);
}

/* Make existing table tiles fit cleanly into the poker dashboard row. */
.home-table-card,
.table-card {
  border-radius: 10px !important;
  background: rgba(20, 43, 58, .78) !important;
}

@media (max-width: 1220px) {
  .rx-promo-row { grid-template-columns: 1fr; }
  .rx-promo-card,
  .rx-promo-card.featured { grid-template-columns: 1fr 150px; }
  .rx-game-row,
  .home-table-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero { grid-template-columns: 1fr; }
}

@media (max-width: 920px) {
  .app-sidebar {
    position: sticky;
    top: 58px;
    width: 100%;
    height: auto;
    max-height: 220px;
    display: flex;
    gap: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    border-right: 0;
    border-bottom: 1px solid rgba(129, 175, 205, 0.12);
    padding: 10px;
  }
  .sidebar-brand-mini,
  .sidebar-test-note { display: none; }
  .sidebar-section {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0;
    border-top: 0;
  }
  .sidebar-section p { display: none; }
  .app-sidebar button {
    width: auto;
    white-space: nowrap;
  }
  .site-header {
    left: 0;
    grid-template-columns: 1fr auto;
    padding: 0 12px;
  }
  .brand { grid-column: 1; justify-self: start; }
  .top-nav { display: none; }
  .topbar-account-cluster { grid-column: 2; }
  .mode-pill { display: none; }
  main {
    width: 100%;
    margin-left: 0;
    padding: 18px 12px 36px;
  }
  .rx-dashboard-home { margin-top: 10px; }
}

@media (max-width: 640px) {
  .rx-promo-card,
  .rx-promo-card.featured {
    grid-template-columns: 1fr;
  }
  .rx-promo-card img {
    max-height: 180px;
  }
  .rx-game-row,
  .home-table-grid { grid-template-columns: 1fr; }
  .topbar-balance strong { display: none; }
  .hero { padding: 16px; }
}


/* RiverX centered legal/responsible gaming footer */
.site-footer.riverx-legal-footer {
  width: calc(100vw - 214px);
  max-width: none;
  margin: 2.5rem 0 1.8rem 214px;
  padding: 1.45rem 1rem 0;
  display: grid;
  gap: 0.45rem;
  justify-items: center;
  justify-content: center;
  text-align: center;
  color: rgba(231, 221, 245, 0.82);
  border-top: 1px solid rgba(226, 174, 86, 0.26);
  font-size: 0.86rem;
  line-height: 1.55;
  box-sizing: border-box;
}

.site-footer.riverx-legal-footer p {
  max-width: 920px;
  margin: 0;
}

.site-footer.riverx-legal-footer strong {
  color: #fff4d6;
  font-weight: 850;
}

.site-footer.riverx-legal-footer a {
  color: #ffd36b;
  font-weight: 800;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 211, 107, 0.58);
}

.site-footer.riverx-legal-footer a:hover,
.site-footer.riverx-legal-footer a:focus-visible {
  color: #fff0b0;
  border-bottom-color: #fff0b0;
}


@media (max-width: 920px) {
  .site-footer.riverx-legal-footer {
    width: calc(100% - 24px);
    margin-left: auto;
    margin-right: auto;
  }
}


/* RiverX KYC-free fraud prevention dashboard */
.fraud-command-card,
.fraud-alert-card,
.fraud-rules-card {
  border-color: rgba(199, 114, 255, 0.32) !important;
  box-shadow: 0 18px 60px rgba(68, 20, 112, 0.24), inset 0 1px 0 rgba(255,255,255,0.06);
}

.fraud-kpi-grid .admin-kpi strong {
  letter-spacing: -0.03em;
}

.fraud-alert-panel {
  display: grid;
  gap: 10px;
  max-height: 460px;
  overflow: auto;
  padding-right: 6px;
}

.fraud-alert-row {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(255,255,255,0.06), rgba(123, 44, 191, 0.08));
}

.fraud-alert-row[data-band="high"],
.fraud-alert-row[data-band="critical"] {
  border-color: rgba(255, 86, 128, 0.36);
  background: linear-gradient(135deg, rgba(255, 86, 128, 0.11), rgba(77, 15, 45, 0.18));
}

.fraud-alert-row strong {
  display: block;
  color: #fff;
  font-size: 0.95rem;
}

.fraud-alert-row span,
.fraud-alert-row small {
  display: block;
  color: rgba(255,255,255,0.68);
  margin-top: 3px;
}

.fraud-flag-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}

.fraud-flag-cloud span {
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.78);
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 0.78rem;
}

/* NOWPayments cashier integration */
.cashier-grid {
  display: grid;
  grid-template-columns: minmax(260px, 1.1fr) minmax(260px, 1fr) minmax(260px, 1fr);
  gap: 1rem;
}
.cashier-grid .wide { grid-column: 1 / -1; }
.cashier-provider-list,
.cashier-admin-summary { margin: 1rem 0; }
.cashier-form select,
.cashier-form input {
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(8, 6, 18, 0.82);
  color: #fff;
  border-radius: 14px;
  padding: 0.78rem 0.9rem;
  outline: none;
}
.cashier-form select:focus,
.cashier-form input:focus { border-color: rgba(247, 199, 91, 0.75); box-shadow: 0 0 0 3px rgba(247, 199, 91, 0.12); }
.cashier-result a,
.cashier-row a { color: #f7c75b; font-weight: 800; text-decoration: none; }
.cashier-history-panel {
  display: grid;
  gap: 0.72rem;
  max-height: 560px;
  overflow: auto;
  padding-right: 0.25rem;
}
.cashier-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: linear-gradient(135deg, rgba(21, 15, 45, 0.86), rgba(9, 7, 20, 0.74));
  border-radius: 18px;
  padding: 0.88rem 0.95rem;
}
.cashier-row strong,
.cashier-row span,
.cashier-row small { display: block; }
.cashier-row span { color: rgba(255, 255, 255, 0.76); margin-top: 0.18rem; }
.cashier-row small { color: rgba(255, 255, 255, 0.55); margin-top: 0.18rem; word-break: break-all; }
.cashier-row[data-status*="pending"] { border-color: rgba(247, 199, 91, 0.24); }
.cashier-row[data-status*="approved"] { border-color: rgba(36, 215, 255, 0.28); }
.cashier-admin-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
  min-width: 240px;
}
.cashier-admin-actions button { padding: 0.58rem 0.72rem; font-size: 0.78rem; }
.admin-cashier-panel h4 { margin: 1rem 0 0.55rem; }
@media (max-width: 1100px) {
  .cashier-grid { grid-template-columns: 1fr; }
  .cashier-row { align-items: flex-start; flex-direction: column; }
  .cashier-admin-actions { min-width: 0; justify-content: flex-start; }
}

/* Premium cashier redesign */
.rx-cashier-view {
  padding-bottom: 4rem;
}

.cashier-hero-shell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(310px, 0.65fr);
  gap: 1.25rem;
  align-items: stretch;
  margin-bottom: 1.15rem;
}

.cashier-hero-shell::before {
  content: "";
  position: absolute;
  inset: -18px -20px auto auto;
  width: 320px;
  height: 220px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(174, 72, 255, 0.28), transparent 68%);
  filter: blur(8px);
  pointer-events: none;
  z-index: -1;
}

.cashier-hero-copy,
.cashier-hero-balance-card,
.cashier-metric-grid article,
.rx-payment-card,
.rx-provider-card,
.rx-cashier-history-card {
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 24px 65px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.cashier-hero-copy {
  position: relative;
  overflow: hidden;
  min-height: 245px;
  border-radius: 30px;
  padding: clamp(1.45rem, 3vw, 2.4rem);
  background:
    radial-gradient(circle at 10% 10%, rgba(247, 199, 91, 0.17), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(170, 89, 255, 0.22), transparent 32%),
    linear-gradient(135deg, rgba(18, 12, 40, 0.96), rgba(7, 6, 18, 0.95));
}

.cashier-hero-copy::after {
  content: "";
  position: absolute;
  inset: auto -16% -55% 32%;
  height: 210px;
  transform: rotate(-8deg);
  background: linear-gradient(90deg, transparent, rgba(247, 199, 91, 0.16), rgba(172, 87, 255, 0.14), transparent);
  pointer-events: none;
}

.cashier-hero-copy h2 {
  max-width: 800px;
  margin: 0.35rem 0 0.7rem;
  font-size: clamp(2.35rem, 5vw, 4.7rem);
  line-height: 0.92;
  letter-spacing: -0.07em;
  color: #fff8dd;
  text-shadow: 0 18px 45px rgba(0, 0, 0, 0.35);
}

.cashier-hero-copy p {
  max-width: 760px;
  margin: 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 1rem;
  line-height: 1.65;
}

.cashier-hero-badges,
.cashier-mini-trust,
.cashier-quick-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.cashier-hero-badges {
  margin-top: 1.25rem;
}

.cashier-hero-badges span,
.cashier-mini-trust span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0.48rem 0.75rem;
  border: 1px solid rgba(247, 199, 91, 0.2);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.055);
  color: rgba(255, 244, 213, 0.88);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.cashier-hero-balance-card {
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  padding: 1.4rem;
  background:
    radial-gradient(circle at 75% 15%, rgba(247, 199, 91, 0.2), transparent 35%),
    linear-gradient(160deg, rgba(29, 21, 58, 0.95), rgba(7, 6, 17, 0.96));
}

.cashier-card-glow {
  position: absolute;
  inset: auto -65px -90px auto;
  width: 220px;
  height: 220px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(248, 200, 91, 0.28), transparent 68%);
  pointer-events: none;
}

.cashier-status-line,
.rx-card-topline,
.admin-card-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.cashier-hero-balance-card strong {
  position: relative;
  z-index: 1;
  display: block;
  margin: 1.15rem 0 0.4rem;
  color: #f7c75b;
  font-size: clamp(2.1rem, 4vw, 3.4rem);
  line-height: 0.95;
  letter-spacing: -0.05em;
}

.cashier-hero-balance-card small {
  position: relative;
  z-index: 1;
  display: block;
  min-height: 44px;
  color: rgba(255, 255, 255, 0.68);
  line-height: 1.45;
}

.cashier-hero-balance-card .secondary-btn {
  position: relative;
  z-index: 1;
  margin-top: 1.2rem;
}

.cashier-metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
  margin-bottom: 1rem;
}

.cashier-metric-grid article {
  position: relative;
  overflow: hidden;
  min-height: 126px;
  border-radius: 24px;
  padding: 1rem;
  background: linear-gradient(145deg, rgba(24, 18, 50, 0.92), rgba(8, 7, 20, 0.9));
}

.cashier-metric-grid article::after {
  content: "";
  position: absolute;
  inset: auto 12px 0 12px;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(247, 199, 91, 0.58), transparent);
  opacity: 0.7;
}

.cashier-metric-grid span {
  display: block;
  color: rgba(255, 255, 255, 0.58);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.cashier-metric-grid strong {
  display: block;
  margin: 0.52rem 0 0.35rem;
  color: #fff7d7;
  font-size: 1.6rem;
  letter-spacing: -0.04em;
}

.cashier-metric-grid small {
  color: rgba(255, 255, 255, 0.55);
  line-height: 1.35;
}

.rx-cashier-pro-grid.cashier-grid {
  grid-template-columns: minmax(280px, 1fr) minmax(280px, 1fr) minmax(260px, 0.82fr);
  gap: 1rem;
}

.rx-payment-card,
.rx-provider-card,
.rx-cashier-history-card {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), transparent 22%),
    linear-gradient(145deg, rgba(21, 15, 45, 0.95), rgba(8, 6, 18, 0.95));
}

.rx-payment-card::before,
.rx-provider-card::before,
.rx-cashier-history-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(247, 199, 91, 0.65), rgba(179, 85, 255, 0.4), transparent);
}

.rx-card-topline {
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: 0.8rem;
}

.cashier-card-icon {
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 17px;
  border: 1px solid rgba(247, 199, 91, 0.28);
  background:
    radial-gradient(circle at 35% 25%, rgba(255, 255, 255, 0.25), transparent 30%),
    linear-gradient(145deg, rgba(247, 199, 91, 0.22), rgba(140, 64, 255, 0.16));
  color: #f7c75b;
  font-size: 1.3rem;
  font-weight: 1000;
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.25);
}

.rx-card-topline h3 {
  margin: 0.18rem 0 0;
  color: #fff7db;
  letter-spacing: -0.035em;
}

.cashier-card-copy {
  margin: 0 0 1rem;
  color: rgba(255, 255, 255, 0.67);
  line-height: 1.55;
}

.rx-cashier-form {
  gap: 0.8rem;
}

.rx-cashier-form label {
  color: rgba(255, 248, 222, 0.8);
  font-weight: 900;
  letter-spacing: 0.02em;
}

.rx-cashier-form input,
.rx-cashier-form select {
  min-height: 50px;
  margin-top: 0.4rem;
  border-color: rgba(255, 255, 255, 0.12);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02)),
    rgba(5, 4, 16, 0.86);
  border-radius: 16px;
  font-weight: 800;
}

.rx-cashier-form input::placeholder {
  color: rgba(255, 255, 255, 0.35);
}

.cashier-quick-row {
  margin: -0.25rem 0 0.15rem;
}

.cashier-quick-row button {
  border: 1px solid rgba(247, 199, 91, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.055);
  color: rgba(255, 247, 219, 0.86);
  padding: 0.47rem 0.68rem;
  font-weight: 950;
  cursor: pointer;
  transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.cashier-quick-row button:hover {
  transform: translateY(-1px);
  border-color: rgba(247, 199, 91, 0.55);
  background: rgba(247, 199, 91, 0.1);
}

.rx-cashier-submit {
  min-height: 52px;
  margin-top: 0.25rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.rx-withdraw-card .secondary-btn.rx-cashier-submit {
  border-color: rgba(247, 199, 91, 0.46);
  color: #18100a;
  background: linear-gradient(135deg, #f8d873, #c68c2f);
  box-shadow: 0 18px 42px rgba(247, 199, 91, 0.18);
}

.cashier-mini-trust {
  margin-top: 0.95rem;
}

.cashier-mini-trust span {
  min-height: 28px;
  padding: 0.35rem 0.52rem;
  font-size: 0.64rem;
  border-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.64);
}

.cashier-result {
  margin-top: 0.9rem;
}

.rx-provider-card .cashier-provider-list {
  display: grid;
  gap: 0.62rem;
  margin-bottom: 0;
}

.rx-provider-card .cashier-provider-list div {
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.045);
}

.rx-cashier-history-card .cashier-history-panel {
  max-height: 420px;
}

.rx-cashier-history-card .cashier-row {
  border-radius: 20px;
  background:
    linear-gradient(90deg, rgba(247, 199, 91, 0.08), transparent 30%),
    linear-gradient(135deg, rgba(18, 13, 40, 0.92), rgba(7, 6, 18, 0.86));
}

@media (max-width: 1220px) {
  .cashier-hero-shell,
  .rx-cashier-pro-grid.cashier-grid {
    grid-template-columns: 1fr;
  }
  .cashier-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .cashier-hero-copy,
  .cashier-hero-balance-card,
  .cashier-metric-grid article,
  .rx-payment-card,
  .rx-provider-card,
  .rx-cashier-history-card {
    border-radius: 22px;
  }
  .cashier-hero-copy {
    min-height: auto;
  }
  .cashier-hero-copy h2 {
    font-size: 2.35rem;
  }
  .cashier-status-line {
    flex-direction: column;
    align-items: flex-start;
  }
  .cashier-metric-grid {
    grid-template-columns: 1fr;
  }
  .cashier-hero-badges span,
  .cashier-mini-trust span,
  .cashier-quick-row button {
    flex: 1 1 auto;
    justify-content: center;
  }
}


/* Simple cashier screen cleanup */
.rx-simple-cashier-view {
  max-width: 1120px;
  margin-inline: auto;
}

.simple-cashier-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
  gap: 1rem;
  align-items: stretch;
  margin-bottom: 1rem;
}

.simple-cashier-title,
.simple-balance-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(247, 199, 91, 0.14);
  border-radius: 28px;
  background:
    radial-gradient(circle at 12% 0%, rgba(166, 72, 255, 0.2), transparent 35%),
    linear-gradient(145deg, rgba(21, 15, 45, 0.95), rgba(8, 6, 18, 0.95));
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
}

.simple-cashier-title {
  padding: clamp(1.25rem, 2vw, 1.75rem);
}

.simple-cashier-title h2 {
  margin: 0.28rem 0 0;
  color: #fff7dc;
  font-size: clamp(2rem, 5vw, 4.2rem);
  line-height: 0.95;
  letter-spacing: -0.065em;
}

.simple-balance-card {
  display: grid;
  align-content: center;
  gap: 0.5rem;
  padding: 1.15rem;
}

.simple-balance-card span {
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.74rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.simple-balance-card strong {
  color: #f7c75b;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1;
  letter-spacing: -0.055em;
}

.simple-balance-card .secondary-btn {
  min-height: 44px;
  margin-top: 0.35rem;
}

.rx-simple-cashier-grid.cashier-grid {
  grid-template-columns: repeat(2, minmax(280px, 1fr));
  gap: 1rem;
}

.rx-simple-cashier-view .rx-payment-card {
  min-height: 0;
  padding: clamp(1rem, 2vw, 1.35rem);
}

.rx-simple-cashier-view .rx-card-topline {
  margin-bottom: 1.1rem;
}

.rx-simple-cashier-view .cashier-card-copy,
.rx-simple-cashier-view .cashier-mini-trust,
.rx-simple-cashier-view .cashier-metric-grid,
.rx-simple-cashier-view .rx-provider-card,
.rx-simple-cashier-view .rx-cashier-history-card {
  display: none !important;
}

.rx-simple-cashier-view .rx-cashier-form {
  gap: 0.95rem;
}

.rx-simple-cashier-view .cashier-quick-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.45rem;
  margin: -0.2rem 0 0;
}

.rx-simple-cashier-view .cashier-result:empty {
  display: none;
}

.rx-simple-cashier-view .cashier-result {
  margin-top: 0.9rem;
}

@media (max-width: 860px) {
  .simple-cashier-header,
  .rx-simple-cashier-grid.cashier-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .rx-simple-cashier-view .cashier-quick-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}



/* ---- riverx-table-card-upgrade.css ---- */

/* RiverX Poker Compact Table Lobby Cards
   Drop this file into: public/assets/css/riverx-table-card-upgrade.css
   Load it AFTER the main site stylesheet.

   This version makes the main table boxes much smaller, tighter, and closer
   to a modern poker lobby layout: compact image cards, close spacing,
   slim footer info, and full-card click behavior handled by the companion JS.
*/

:root {
  --rx-card-bg: #0f2230;
  --rx-card-panel: #203645;
  --rx-card-panel-deep: #142735;
  --rx-card-line: rgba(95, 132, 160, 0.48);
  --rx-card-text: #eef7ff;
  --rx-card-muted: #95abba;
  --rx-card-green: #36e65f;
  --rx-card-blue: #2f82ff;
  --rx-card-gold: #d9a43b;
  --rx-card-purple: #8d4dff;
  --rx-lobby-tile-width: clamp(122px, 7.4vw, 154px);
  --rx-lobby-tile-gap: clamp(0.42rem, 0.65vw, 0.7rem);
}

/* Stake-style compact rows: many smaller cards, close together, no stretching. */
#view-lobby .table-grid,
#view-home .table-grid,
.home-table-grid,
.home-tables-grid,
.home-preview-grid,
.table-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(var(--rx-lobby-tile-width), var(--rx-lobby-tile-width))) !important;
  gap: var(--rx-lobby-tile-gap) !important;
  align-items: start !important;
  justify-content: start !important;
  grid-auto-flow: row dense;
}

.table-card {
  position: relative !important;
  width: var(--rx-lobby-tile-width) !important;
  max-width: var(--rx-lobby-tile-width) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: 0.72 / 1 !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) 42px !important;
  overflow: hidden !important;
  border-radius: 7px !important;
  border: 1px solid rgba(72, 99, 123, 0.72) !important;
  background: var(--rx-card-panel) !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.26) !important;
  cursor: pointer !important;
  isolation: isolate;
  transform: translateZ(0);
  transition:
    transform 150ms ease,
    border-color 150ms ease,
    box-shadow 150ms ease,
    filter 150ms ease;
}

.table-card::before,
.table-card::after {
  display: none !important;
  content: none !important;
}

.table-card:hover,
.table-card:focus-within {
  transform: translateY(-2px) !important;
  border-color: color-mix(in srgb, var(--accent, var(--rx-card-blue)) 78%, #ffffff 22%) !important;
  box-shadow:
    0 12px 26px rgba(0, 0, 0, 0.36),
    0 0 0 1px color-mix(in srgb, var(--accent, var(--rx-card-blue)) 35%, transparent) !important;
  filter: brightness(1.04);
}

.table-card.selected {
  border-color: color-mix(in srgb, var(--accent, var(--rx-card-blue)) 70%, var(--rx-card-gold) 30%) !important;
}

/* Image block fills almost the entire card like premium poker lobby thumbnails. */
.table-preview-frame {
  position: relative !important;
  min-height: 0 !important;
  height: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  border-radius: 7px 7px 0 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  background: radial-gradient(circle at 50% 40%, rgba(255,255,255,0.08), transparent 58%), #06111a !important;
}

.table-preview-frame img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  transform: scale(1.04);
  filter: saturate(1.16) contrast(1.07) brightness(0.94);
  transition: transform 260ms ease, filter 180ms ease;
}

.table-card:hover .table-preview-frame img {
  transform: scale(1.085);
  filter: saturate(1.22) contrast(1.1) brightness(1.02);
}

.table-preview-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(3, 8, 13, 0.04), rgba(3, 8, 13, 0.08) 58%, rgba(3, 8, 13, 0.48)),
    radial-gradient(circle at 50% 18%, color-mix(in srgb, var(--accent, #4f8cff) 14%, transparent), transparent 62%);
}

/* Small brand chip instead of the old large center banner. */
.riverx-lobby-brand {
  position: absolute;
  z-index: 4;
  top: 0.42rem;
  left: 0.42rem;
  display: inline-flex;
  align-items: center;
  gap: 0.24rem;
  max-width: calc(100% - 0.84rem);
  padding: 0.16rem 0.34rem 0.17rem;
  border-radius: 999px;
  color: #ffffff;
  background: rgba(8, 19, 30, 0.68);
  border: 1px solid rgba(255, 255, 255, 0.12);
  font-weight: 900;
  letter-spacing: 0.035em;
  text-transform: uppercase;
  font-size: 0.55rem;
  line-height: 1;
  text-shadow: 0 1px 4px rgba(0,0,0,0.55);
  white-space: nowrap;
  backdrop-filter: blur(8px);
}

.riverx-lobby-brand::before,
.riverx-lobby-brand::after {
  content: none !important;
  display: none !important;
}

.riverx-lobby-gem {
  width: 0.42rem;
  height: 0.42rem;
  flex: 0 0 auto;
  transform: rotate(45deg);
  border-radius: 1.5px;
  background: linear-gradient(135deg, #f8c6ff, #8e31ff 46%, #421071);
  border: 1px solid rgba(247, 209, 125, 0.85);
  box-shadow: 0 0 8px rgba(168, 85, 247, 0.68);
}

/* Remove old bulky lobby-card elements. */
.preview-chair-strip,
.table-card .table-card-meta,
.table-card .buyin-range-panel,
.table-card .table-balance-requirement,
.table-card .stakes-subline,
.table-card .balance-shortcut,
.table-card .buyin-head > span {
  display: none !important;
}

/* Slim footer strip like the Stake game boxes. */
.table-card-content {
  position: relative !important;
  inset: auto !important;
  display: grid !important;
  grid-template-rows: auto auto !important;
  align-content: center !important;
  gap: 0.08rem !important;
  min-height: 0 !important;
  height: 42px !important;
  padding: 0.38rem 0.46rem 0.36rem !important;
  overflow: hidden !important;
  background: linear-gradient(180deg, var(--rx-card-panel), var(--rx-card-panel-deep)) !important;
  border-top: 1px solid rgba(255,255,255,0.05) !important;
}

.table-card-content::before,
.table-card-content::after {
  content: none !important;
  display: none !important;
}

.table-card-content > * {
  position: relative;
  z-index: 2;
}

.table-card .tier-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 0.28rem !important;
  margin: 0 !important;
  min-width: 0 !important;
}

.table-card .table-number {
  display: none !important;
}

.table-card .tier {
  display: block !important;
  min-width: 0 !important;
  color: var(--rx-card-text) !important;
  font-size: 0.74rem !important;
  font-weight: 850 !important;
  letter-spacing: -0.018em !important;
  line-height: 1.05 !important;
  text-transform: none !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.table-card .game-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.18rem;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: #bfeccc !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 0.52rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.02em !important;
  line-height: 1 !important;
}

.table-card .game-pill::before {
  content: "";
  width: 0.34rem;
  height: 0.34rem;
  border-radius: 999px;
  background: var(--rx-card-green);
  box-shadow: 0 0 8px rgba(54, 230, 95, 0.6);
}

.table-card .buyin-head {
  display: flex !important;
  align-items: center !important;
  gap: 0.25rem !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
  color: var(--rx-card-muted) !important;
  line-height: 1 !important;
}

.table-card .buyin-head::before {
  content: "";
  flex: 0 0 auto;
  width: 0.32rem;
  height: 0.32rem;
  border-radius: 999px;
  background: var(--rx-card-green);
  box-shadow: 0 0 7px rgba(54, 230, 95, 0.56);
}

.table-card .buyin-head strong {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  color: var(--rx-card-muted) !important;
  font-weight: 800 !important;
  font-size: 0.58rem !important;
  letter-spacing: -0.01em !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* The existing join button remains usable but is visually turned into a full-card hit target. */
.table-card .table-join-btn {
  position: absolute !important;
  inset: 0 !important;
  z-index: 9 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: transparent !important;
  box-shadow: none !important;
  opacity: 0 !important;
  font-size: 0 !important;
  cursor: pointer !important;
}

.table-card .table-join-btn::before,
.table-card .table-join-btn::after {
  display: none !important;
  content: none !important;
}

.table-card .table-join-btn:disabled {
  cursor: not-allowed !important;
}


/* Click fix: hidden buttons no longer catch pointer clicks. The JS routes the
   entire tile to the original Join / Account / Verify / Balance button handler. */
.table-card .table-join-btn,
.table-card .balance-shortcut {
  pointer-events: none !important;
}

.table-card .rx-card-action-pill {
  position: absolute;
  z-index: 8;
  right: 0.38rem;
  bottom: 0.34rem;
  max-width: 58%;
  padding: 0.13rem 0.34rem 0.14rem;
  border-radius: 999px;
  color: #eef7ff;
  background: rgba(6, 16, 25, 0.64);
  border: 1px solid rgba(255, 255, 255, 0.10);
  font-size: 0.48rem;
  font-weight: 950;
  letter-spacing: 0.035em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  backdrop-filter: blur(8px);
}

.table-card[data-rx-card-action="balance"] .rx-card-action-pill {
  color: #ffeec0;
}

.table-card[data-rx-card-action="kyc"] .rx-card-action-pill,
.table-card[data-rx-card-action="account"] .rx-card-action-pill {
  color: #dff0ff;
}

.table-card.rx-card-no-action-flash {
  animation: rxNoActionFlash 420ms ease;
}

@keyframes rxNoActionFlash {
  50% { transform: translateY(-2px) scale(0.985); filter: brightness(0.82) saturate(0.85); }
}

.table-card:has(.table-join-btn:disabled) {
  opacity: 0.68;
  filter: grayscale(0.18);
}

/* Private tables still show a private-table sign, but sized for compact tiles. */
.table-card.rx-private-card .riverx-lobby-brand {
  display: none !important;
}

.table-card.rx-private-card .table-preview-frame img {
  filter: blur(1.4px) brightness(0.5) saturate(1.15) contrast(1.08) !important;
  transform: scale(1.08);
}


.table-card.rx-private-card[data-table-id="roberts"] .table-preview-frame {
  background: radial-gradient(circle at 50% 43%, rgba(58, 116, 255, 0.22), transparent 64%), #030710 !important;
}

.table-card.rx-private-card .private-table-overlay {
  display: grid !important;
  place-items: center !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 6 !important;
  padding: 0.42rem !important;
  background: rgba(0, 0, 0, 0.08) !important;
  pointer-events: none !important;
}

.table-card.rx-private-card .private-table-overlay strong {
  color: #fff !important;
  font-size: clamp(0.86rem, 1.02vw, 1.12rem) !important;
  line-height: 1.06 !important;
  letter-spacing: 0.105em !important;
  text-align: center !important;
  text-transform: uppercase !important;
  text-shadow:
    0 2px 0 rgba(0,0,0,0.72),
    0 0 18px rgba(255,255,255,0.17) !important;
}

/* Home/main page preview cards use the same compact sizing. */
.home-preview-card.table-card,
.table-card.home-preview-card {
  aspect-ratio: 0.72 / 1 !important;
}

.home-preview-card .table-card-content,
.table-card.home-preview-card .table-card-content {
  height: 40px !important;
  padding: 0.34rem 0.42rem !important;
}

.home-preview-card .tier,
.table-card.home-preview-card .tier {
  font-size: 0.7rem !important;
}

.home-preview-card .buyin-head strong,
.table-card.home-preview-card .buyin-head strong {
  font-size: 0.54rem !important;
}

@media (max-width: 920px) {
  :root {
    --rx-lobby-tile-width: clamp(118px, 18vw, 146px);
  }
}

@media (max-width: 640px) {
  :root {
    --rx-lobby-tile-width: calc((100vw - 2.25rem) / 2);
    --rx-lobby-tile-gap: 0.55rem;
  }

  #view-lobby .table-grid,
  #view-home .table-grid,
  .home-table-grid,
  .home-tables-grid,
  .home-preview-grid,
  .table-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .table-card {
    width: 100% !important;
    max-width: none !important;
    grid-template-rows: minmax(0, 1fr) 44px !important;
  }

  .table-card-content {
    height: 44px !important;
  }

  .table-card .tier {
    font-size: 0.78rem !important;
  }

  .table-card .buyin-head strong {
    font-size: 0.6rem !important;
  }
}

/* === RiverX 6-Max Live Table Card Update ===
   Premium 3D table previews using the actual table images in the site.
   No chairs are added to the preview cards. Player counts are live 0/6 - 6/6. */
:root {
  --rx-lobby-tile-width: clamp(250px, 18.5vw, 330px);
  --rx-lobby-tile-gap: clamp(0.9rem, 1.15vw, 1.35rem);
}

#view-lobby .table-grid,
#view-home .table-grid,
.home-table-grid,
.home-tables-grid,
.home-preview-grid,
.table-grid {
  grid-template-columns: repeat(auto-fill, minmax(var(--rx-lobby-tile-width), var(--rx-lobby-tile-width))) !important;
  gap: var(--rx-lobby-tile-gap) !important;
}

.table-card {
  aspect-ratio: 1.16 / 1 !important;
  grid-template-rows: minmax(0, 1fr) 86px !important;
  border-radius: 14px !important;
  border-color: rgba(234, 172, 73, 0.42) !important;
  background: linear-gradient(180deg, rgba(18, 8, 28, 0.96), rgba(5, 2, 10, 0.98)) !important;
  box-shadow:
    0 18px 38px rgba(0, 0, 0, 0.42),
    inset 0 1px 0 rgba(255, 237, 185, 0.08) !important;
}

.table-preview-frame {
  border-radius: 14px 14px 0 0 !important;
  background:
    radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--accent, #9b5dff) 24%, transparent), transparent 60%),
    linear-gradient(180deg, #11081b, #050309) !important;
}

.table-preview-frame::before {
  content: "NLH";
  position: absolute;
  top: 0.55rem;
  left: 0.55rem;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.2rem 0.46rem;
  border-radius: 7px;
  color: #ffe08a;
  background: rgba(9, 5, 12, 0.76);
  border: 1px solid rgba(234, 172, 73, 0.38);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255,255,255,0.06);
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.035em;
  line-height: 1;
  pointer-events: none;
  backdrop-filter: blur(8px);
}

.table-preview-frame img {
  object-fit: cover !important;
  object-position: center 42% !important;
  transform: scale(1.03) !important;
  filter: saturate(1.18) contrast(1.09) brightness(0.98) !important;
}

.table-card:hover .table-preview-frame img {
  transform: scale(1.07) !important;
}

.table-card-content {
  height: 86px !important;
  padding: 0.7rem 0.9rem 0.72rem !important;
  gap: 0.38rem !important;
  background: linear-gradient(180deg, rgba(11, 5, 17, 0.96), rgba(4, 2, 8, 0.98)) !important;
  border-top: 1px solid rgba(234, 172, 73, 0.14) !important;
}

.table-card .tier-row {
  grid-template-columns: minmax(0, 1fr) !important;
}

.table-card .tier {
  font-size: clamp(1.02rem, 1.05vw, 1.24rem) !important;
  font-weight: 850 !important;
  color: #fff7eb !important;
}

.table-card .game-pill {
  display: none !important;
}

.table-card .buyin-head {
  padding-right: 6.2rem !important;
}

.table-card .buyin-head strong {
  font-size: clamp(0.84rem, 0.82vw, 1rem) !important;
  color: #cfc3d9 !important;
  letter-spacing: -0.02em !important;
}

.table-card .live-player-count {
  position: absolute;
  right: 0.82rem;
  bottom: 0.76rem;
  z-index: 8;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.32rem;
  max-width: 48%;
  color: #c67cff;
  font-size: clamp(0.78rem, 0.72vw, 0.92rem);
  font-weight: 850;
  letter-spacing: -0.01em;
  line-height: 1;
  white-space: nowrap;
}

.table-card .live-player-count::before {
  content: "👥";
  font-size: 0.92em;
  filter: drop-shadow(0 0 6px rgba(184, 90, 255, 0.55));
}

.table-card .live-player-count[data-full="true"] {
  color: #ffcf6a;
}

.table-card.is-table-full {
  filter: saturate(0.82) brightness(0.84);
}

.table-card.is-table-full::after {
  content: "FULL" !important;
  position: absolute;
  top: 0.55rem;
  right: 0.55rem;
  z-index: 10;
  display: inline-flex !important;
  padding: 0.22rem 0.5rem;
  border-radius: 7px;
  color: #1d1000;
  background: linear-gradient(135deg, #ffdf7c, #c88924);
  border: 1px solid rgba(255, 237, 186, 0.6);
  font-size: 0.62rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  pointer-events: none;
}

.table-card .rx-card-action-pill {
  display: none !important;
}

.table-card .table-balance-requirement,
.table-card .table-card-meta,
.preview-chair-strip {
  display: none !important;
}

.player-card.is-empty-seat {
  opacity: 0.68;
  border-style: dashed;
}

.player-card.is-empty-seat .player-name,
.player-card.is-empty-seat .player-status {
  color: rgba(255, 236, 190, 0.78) !important;
}

.player-card.is-remote-live .player-role,
.player-card.is-empty-seat .player-role {
  color: #d99bff !important;
}

@media (max-width: 720px) {
  :root { --rx-lobby-tile-width: min(100%, 330px); }
  .table-card { width: 100% !important; max-width: 330px !important; }
  .table-card .buyin-head { padding-right: 5.8rem !important; }
  .table-card .live-player-count { font-size: 0.78rem; }
}


/* === Production polish update: cleaner home cards and no cut-off text === */
.home-table-grid.rx-compact-table-row .table-card {
  aspect-ratio: 0.88 / 1 !important;
  grid-template-rows: minmax(0, 1fr) 96px !important;
}

.home-table-grid.rx-compact-table-row .table-card .table-card-content {
  height: 96px !important;
  padding: 0.72rem 0.78rem 0.8rem !important;
  gap: 0.4rem !important;
}

.home-table-grid.rx-compact-table-row .table-card .tier-row {
  align-items: start !important;
}

.home-table-grid.rx-compact-table-row .table-card .tier {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  line-clamp: 2;
  min-height: 2.35em;
  font-size: clamp(0.92rem, 0.95vw, 1.06rem) !important;
  line-height: 1.12 !important;
}

.home-table-grid.rx-compact-table-row .table-card .buyin-head {
  padding-right: 0 !important;
}

.home-table-grid.rx-compact-table-row .table-card .buyin-head strong {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  line-height: 1.15 !important;
  font-size: 0.78rem !important;
}

.home-table-grid.rx-compact-table-row .table-card .live-player-count {
  position: static !important;
  max-width: none !important;
  justify-content: flex-start !important;
  margin-top: 0.08rem;
  font-size: 0.78rem !important;
}

.home-table-grid.rx-compact-table-row .table-card .table-preview-frame img {
  object-position: center 46% !important;
}

@media (max-width: 1100px) {
  .rx-continue-shelf,
  .rx-actual-games-shelf,
  .rx-tools-shelf {
    width: 100%;
  }

  .home-table-grid.rx-compact-table-row {
    --rx-lobby-tile-width: clamp(136px, 17vw, 168px);
  }
}



/* ---- riverx-clean-poker-layout.css ---- */

/* RiverX clean poker dashboard layout
   Keeps the approved compact poker-home layout while preserving the original
   poker, account, balance, compliance, and admin views. */

:root {
  --rx-clean-bg: #102432;
  --rx-clean-bg-2: #0c1d2a;
  --rx-clean-side: #0b1b27;
  --rx-clean-card: #152b3a;
  --rx-clean-card-2: #1d3648;
  --rx-clean-border: rgba(141, 184, 214, 0.18);
  --rx-clean-soft: rgba(214, 234, 249, 0.72);
  --rx-clean-blue: #347cff;
  --rx-clean-green: #2ec95f;
  --rx-clean-gap: 10px;
}

html,
body {
  min-height: 100%;
}

body {
  background:
    radial-gradient(circle at 56% -20%, rgba(70, 143, 255, 0.12), transparent 30rem),
    linear-gradient(180deg, var(--rx-clean-bg) 0%, #102431 46%, var(--rx-clean-bg-2) 100%) !important;
  color: #f4fbff;
}

body::before {
  background:
    linear-gradient(90deg, rgba(7, 17, 26, 0.83) 0 214px, transparent 214px),
    radial-gradient(circle at 72% 10%, rgba(46, 119, 255, 0.08), transparent 28rem) !important;
}

.bg-orb,
.bg-grid {
  opacity: 0.22;
}

.site-header {
  display: none !important;
}

.app-sidebar.rx-clean-sidebar {
  width: 214px;
  padding: 12px 10px;
  background: rgba(9, 24, 35, 0.96) !important;
  border-right: 1px solid rgba(121, 161, 190, 0.12) !important;
  box-shadow: 14px 0 42px rgba(0,0,0,0.20) !important;
}

.rx-wordmark-side {
  margin-bottom: 8px;
  height: 38px;
}

.rx-wordmark-side span {
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: linear-gradient(135deg, #2255ff, #25d7ff) !important;
  box-shadow: 0 0 24px rgba(47, 130, 255, 0.22) !important;
}

.rx-wordmark-side strong {
  letter-spacing: 0.05em;
  text-transform: none;
}

.rx-clean-sidebar .sidebar-section {
  padding: 5px 0;
  border-top: 0;
}

.rx-clean-sidebar .sidebar-section p {
  display: none;
}

.rx-clean-sidebar button {
  min-height: 42px;
  margin: 5px 0;
  padding: 0 13px;
  border-radius: 8px;
  background: rgba(43, 65, 82, 0.62) !important;
  border: 1px solid rgba(128, 167, 196, 0.06);
  color: #e7f5ff;
  font-size: 0.94rem;
  box-shadow: 0 1px 0 rgba(255,255,255,0.04) inset;
}

.rx-clean-sidebar button:hover,
.rx-clean-sidebar button.active {
  transform: none !important;
  color: #ffffff;
  background: rgba(54, 82, 104, 0.82) !important;
  border-color: rgba(91, 146, 255, 0.24);
  box-shadow: 0 0 0 1px rgba(55, 124, 255, 0.15), 0 12px 26px rgba(0,0,0,0.12) !important;
}

.rx-clean-sidebar button.active {
  box-shadow: inset 3px 0 0 var(--rx-clean-blue), 0 10px 24px rgba(0,0,0,0.12) !important;
}

.rx-clean-sidebar .rx-player-menu {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(143, 183, 211, 0.12);
}

.sidebar-test-note {
  margin-top: 16px;
  border-radius: 9px;
  background: rgba(26, 48, 64, 0.78) !important;
  border: 1px solid rgba(112, 159, 193, 0.14) !important;
}

main {
  width: min(1080px, calc(100vw - 260px)) !important;
  margin: 0 auto 0 214px !important;
  padding: 12px 18px 42px !important;
}

.view {
  padding: 0 0 42px !important;
}

.rx-clean-dashboard {
  width: min(100%, 1120px);
  margin: 0 auto;
  display: grid;
  gap: 16px !important;
}

.rx-dashboard-topbar {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  min-height: 42px;
}

.rx-wordmark {
  grid-column: 2;
  justify-self: center;
  background: transparent;
  color: #f0f6ff;
  font-size: clamp(1.1rem, 2.1vw, 1.65rem);
  letter-spacing: 0.34em;
  font-weight: 850;
  text-transform: uppercase;
  padding-left: 0.34em;
  text-shadow: 0 0 28px rgba(80, 160, 255, 0.18);
}

.rx-wordmark span {
  color: #2f86ff;
}

.rx-top-actions {
  grid-column: 3;
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.rx-top-actions .primary-btn,
.rx-top-actions .ghost-btn {
  min-height: 34px;
  padding: 0 13px;
  border-radius: 7px;
  font-size: 0.84rem;
}

.rx-mini-wallet {
  min-height: 34px !important;
  border-radius: 7px !important;
}

.rx-mini-wallet strong {
  font-size: 0.78rem !important;
}

.rx-mini-wallet span {
  padding: 0 12px !important;
}

.rx-feature-strip {
  grid-template-columns: repeat(2, minmax(250px, 1fr)) !important;
  gap: 14px !important;
  width: min(660px, 100%);
  justify-self: center;
}

.rx-feature-card {
  min-height: 114px !important;
  padding: 16px 16px !important;
  border-radius: 8px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 120px !important;
  text-align: left !important;
  overflow: hidden;
  border: 1px solid rgba(130, 179, 218, 0.16) !important;
  box-shadow: 0 14px 32px rgba(0,0,0,0.16) !important;
}

.rx-feature-card.sports-card {
  background: linear-gradient(135deg, rgba(50, 187, 80, 0.86), rgba(32, 128, 53, 0.80)) !important;
}

.rx-feature-card::before {
  background:
    radial-gradient(circle at 85% 42%, rgba(255,255,255,0.20), transparent 8rem),
    linear-gradient(90deg, rgba(255,255,255,0.07), transparent 60%) !important;
}

.rx-feature-card .eyebrow {
  color: #ffffff;
  font-size: 0.94rem;
  letter-spacing: -0.02em;
  text-transform: none;
}

.rx-feature-card h2 {
  margin: 4px 0 4px !important;
  font-size: 1.03rem !important;
  letter-spacing: -0.02em !important;
}

.rx-feature-card p {
  margin: 0 !important;
  max-width: 22ch;
  font-size: 0.78rem !important;
  line-height: 1.35 !important;
  color: rgba(241, 250, 255, 0.78) !important;
}

.rx-feature-card img {
  width: 120px !important;
  height: 92px !important;
  border-radius: 8px !important;
  object-fit: cover !important;
  opacity: 0.92;
  transform: rotate(-3deg) scale(1.02);
  box-shadow: none !important;
}

.rx-clean-search {
  width: min(850px, 100%);
  justify-self: center;
  height: 40px !important;
  border-radius: 7px !important;
  background: rgba(6, 18, 28, 0.86) !important;
  border-color: rgba(128, 168, 199, 0.25) !important;
}

.rx-game-shelf {
  border-radius: 6px;
}

.rx-shelf-heading {
  min-height: 26px;
  margin-top: 2px;
}

.rx-shelf-heading h2 {
  font-size: 1.03rem !important;
  letter-spacing: -0.01em;
}

.inline-link-btn {
  color: #ffffff !important;
  font-size: 0.78rem;
}

.rx-continue-shelf,
.rx-actual-games-shelf,
.rx-tools-shelf {
  width: min(1120px, 100%);
  justify-self: center;
}

.home-table-grid.rx-compact-table-row {
  --rx-lobby-tile-width: clamp(138px, 10vw, 164px);
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(var(--rx-lobby-tile-width), var(--rx-lobby-tile-width))) !important;
  gap: 10px !important;
  justify-content: start !important;
  align-items: start !important;
}

.rx-real-game-row {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)) !important;
  gap: 10px !important;
}

.rx-real-game-card {
  min-height: 0;
  border-radius: 7px !important;
  background: rgba(19, 39, 54, 0.86) !important;
  border: 1px solid rgba(114, 155, 188, 0.18) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,0.18) !important;
}

.rx-real-game-card img,
.rx-real-game-card .rx-test-balance-art {
  aspect-ratio: 1.36 / 1 !important;
  border-radius: 7px 7px 0 0;
  filter: saturate(1.08) contrast(1.04);
}

.rx-real-game-card strong {
  font-size: 0.86rem !important;
  line-height: 1.1;
  padding: 0 9px !important;
}

.rx-real-game-card span {
  font-size: 0.7rem !important;
  padding: 0 9px 2px !important;
}

.rx-tool-card .rx-test-balance-art {
  font-size: 1.7rem !important;
  background:
    radial-gradient(circle at 50% 35%, rgba(255,255,255,0.18), transparent 4rem),
    linear-gradient(135deg, rgba(44, 125, 255, 0.62), rgba(95, 48, 166, 0.62)) !important;
}

/* Keep the rest of the site functional, but let the clean home be the first impression. */
#view-account,
#view-balance,
#view-lobby,
#view-kyc,
#view-legal,
#view-table,
#view-admin {
  width: min(1220px, 100%);
  margin: 0 auto;
}


#view-lobby .table-grid {
  --rx-lobby-tile-width: 138px;
}

/* Home search filtering: cards marked hidden by JS stay hidden. */
.rx-home-filter-hidden {
  display: none !important;
}

@media (max-width: 1100px) {
  main {
    width: calc(100vw - 232px) !important;
    margin-left: 214px !important;
  }

  .rx-feature-strip,
  .rx-clean-search,
  .rx-continue-shelf,
  .rx-actual-games-shelf,
  .rx-tools-shelf {
    width: 100%;
  }
}

@media (max-width: 920px) {
  body::before {
    background: radial-gradient(circle at 50% 0%, rgba(46, 119, 255, 0.10), transparent 24rem) !important;
  }

  .app-sidebar.rx-clean-sidebar {
    position: sticky;
    top: 0;
    width: 100%;
    max-height: none;
    display: flex;
    align-items: center;
    overflow-x: auto;
    padding: 8px;
  }

  .rx-clean-sidebar .sidebar-section {
    display: flex;
    gap: 6px;
    flex: 0 0 auto;
    border-top: 0;
    padding: 0;
    margin: 0;
  }

  .rx-clean-sidebar .rx-player-menu {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
  }

  .rx-clean-sidebar button {
    width: auto;
    white-space: nowrap;
    margin: 0;
  }

  main {
    width: 100% !important;
    margin-left: 0 !important;
    padding: 12px !important;
  }

  .rx-dashboard-topbar {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .rx-wordmark,
  .rx-top-actions {
    grid-column: 1;
    justify-self: center;
  }
}

@media (max-width: 680px) {
  .rx-feature-strip {
    grid-template-columns: 1fr !important;
  }

  .rx-feature-card {
    grid-template-columns: 1fr 104px !important;
  }

  .home-table-grid.rx-compact-table-row {
    --rx-lobby-tile-width: calc((100vw - 42px) / 2);
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .rx-real-game-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .rx-top-actions .rx-mini-wallet {
    display: none;
  }
}

.rx-sr-live-stat {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}


/* === Homepage poker table centering cleanup === */
.rx-continue-shelf {
  width: min(1180px, 100%);
}

.rx-continue-shelf .rx-shelf-heading {
  align-items: center;
}

.home-table-grid.rx-compact-table-row {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 14px !important;
  width: 100%;
  margin: 0 auto;
}

.home-table-grid.rx-compact-table-row .table-card {
  flex: 0 0 clamp(158px, 10.6vw, 176px);
  width: clamp(158px, 10.6vw, 176px) !important;
  max-width: clamp(158px, 10.6vw, 176px) !important;
}

@media (max-width: 680px) {
  .home-table-grid.rx-compact-table-row {
    justify-content: center !important;
    gap: 12px !important;
  }

  .home-table-grid.rx-compact-table-row .table-card {
    flex: 0 0 calc(50% - 10px);
    width: calc(50% - 10px) !important;
    max-width: 190px !important;
  }
}


/* === Homepage content true-center alignment update === */
main {
  width: calc(100vw - 214px) !important;
  max-width: none !important;
  margin: 0 0 0 214px !important;
  display: block;
}

#view-home.active {
  display: flex;
  justify-content: center;
}

#view-home .rx-clean-dashboard {
  width: min(1120px, 100%) !important;
  justify-self: center;
}

@media (max-width: 920px) {
  main {
    width: 100% !important;
    margin-left: 0 !important;
  }

  #view-home.active {
    display: block;
  }
}


/* === Remove circled homepage extras and keep table selection centered === */
#view-home .rx-feature-strip,
#view-home .rx-clean-search {
  display: none !important;
}

.rx-dashboard-topbar .rx-top-actions .primary-btn {
  display: none !important;
}

#view-home .rx-clean-dashboard {
  padding-top: 8px;
}

#view-home .rx-continue-shelf {
  margin-top: 18px;
}

#view-lobby:not(.active) {
  display: none !important;
}



/* ---- riverx-rich-poker-theme.css ---- */

/* RiverX High-End Rich Theme
   Uses the uploaded reference ONLY for color direction: deep purple, black glass,
   polished gold, and amethyst accents. No background image is used. */

:root {
  --bg: #05020a;
  --bg2: #10041d;
  --panel: rgba(19, 10, 31, 0.78);
  --panel2: rgba(31, 16, 46, 0.88);
  --border: rgba(246, 203, 111, 0.18);
  --text: #fff8ea;
  --muted: #c8b9d9;
  --cyan: #b987ff;
  --blue: #824cff;
  --green: #38e48c;
  --purple: #8f32ff;
  --gold: #f3c76c;
  --red: #ff5f95;
  --shadow: 0 30px 90px rgba(0, 0, 0, 0.56);

  --rx-clean-bg: #07020d;
  --rx-clean-bg-2: #11051d;
  --rx-clean-side: #090311;
  --rx-clean-card: #16091f;
  --rx-clean-card-2: #241036;
  --rx-clean-border: rgba(242, 199, 108, 0.20);
  --rx-clean-soft: rgba(255, 242, 213, 0.76);
  --rx-clean-blue: #a463ff;
  --rx-clean-green: #38e48c;

  --rx-card-bg: #090411;
  --rx-card-panel: #150a20;
  --rx-card-panel-deep: #0d0614;
  --rx-card-line: rgba(242, 199, 108, 0.30);
  --rx-card-text: #fff8ea;
  --rx-card-muted: #bfaece;
  --rx-card-green: #38e48c;
  --rx-card-blue: #a463ff;
  --rx-card-gold: #f3c76c;
  --rx-card-purple: #8f32ff;
}

html,
body {
  min-height: 100%;
}

body {
  background:
    radial-gradient(circle at 50% -12%, rgba(151, 59, 255, 0.31), transparent 31rem),
    radial-gradient(circle at 82% 10%, rgba(242, 199, 108, 0.14), transparent 24rem),
    radial-gradient(circle at 8% 22%, rgba(118, 32, 207, 0.18), transparent 26rem),
    linear-gradient(180deg, #050209 0%, #0a0311 45%, #130620 100%) !important;
  color: #fff8ea !important;
}

body::before {
  background:
    linear-gradient(90deg, rgba(3, 1, 7, 0.90) 0 214px, transparent 214px),
    radial-gradient(circle at 68% 8%, rgba(242, 199, 108, 0.10), transparent 25rem),
    radial-gradient(circle at 44% 0%, rgba(151, 59, 255, 0.16), transparent 28rem) !important;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    linear-gradient(90deg, transparent 0, rgba(242, 199, 108, 0.035) 50%, transparent 100%),
    radial-gradient(circle at 50% 112%, rgba(242, 199, 108, 0.12), transparent 28rem);
  opacity: 0.86;
}

.bg-grid {
  opacity: 0.13 !important;
  background-image:
    linear-gradient(rgba(242,199,108,0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(151,59,255,0.04) 1px, transparent 1px) !important;
}

.bg-orb-a {
  background: #8f32ff !important;
  opacity: 0.18 !important;
}

.bg-orb-b {
  background: #f3c76c !important;
  opacity: 0.12 !important;
}

/* Sidebar */
.app-sidebar.rx-clean-sidebar {
  background:
    linear-gradient(180deg, rgba(10, 4, 17, 0.98), rgba(4, 2, 8, 0.98)) !important;
  border-right: 1px solid rgba(242, 199, 108, 0.15) !important;
  box-shadow:
    18px 0 54px rgba(0, 0, 0, 0.36),
    inset -1px 0 0 rgba(151, 59, 255, 0.12) !important;
}

.rx-wordmark-side span {
  background: linear-gradient(135deg, #f7d885 0%, #9a5cff 50%, #2a0e4a 100%) !important;
  border: 1px solid rgba(255, 224, 145, 0.58) !important;
  box-shadow:
    0 0 22px rgba(151, 59, 255, 0.34),
    0 0 18px rgba(242, 199, 108, 0.16) !important;
}

.rx-wordmark-side strong,
.rx-wordmark,
.brand strong {
  color: #fff8ea !important;
  text-shadow:
    0 0 22px rgba(151, 59, 255, 0.28),
    0 0 14px rgba(242, 199, 108, 0.10) !important;
}

.rx-wordmark span {
  color: #f3c76c !important;
  text-shadow: 0 0 22px rgba(242, 199, 108, 0.34) !important;
}

.rx-clean-sidebar button {
  color: #f2e9ff !important;
  background:
    linear-gradient(180deg, rgba(38, 16, 58, 0.74), rgba(18, 8, 30, 0.76)) !important;
  border: 1px solid rgba(242, 199, 108, 0.10) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.06),
    0 8px 18px rgba(0, 0, 0, 0.18) !important;
}

.rx-clean-sidebar button:hover,
.rx-clean-sidebar button.active {
  color: #fff9ef !important;
  background:
    linear-gradient(135deg, rgba(80, 27, 132, 0.78), rgba(26, 9, 42, 0.92)) !important;
  border-color: rgba(242, 199, 108, 0.34) !important;
  box-shadow:
    0 0 0 1px rgba(151, 59, 255, 0.18),
    0 0 26px rgba(151, 59, 255, 0.12),
    0 12px 28px rgba(0, 0, 0, 0.25) !important;
}

.rx-clean-sidebar button.active {
  box-shadow:
    inset 3px 0 0 #f3c76c,
    0 0 0 1px rgba(151, 59, 255, 0.18),
    0 0 28px rgba(242, 199, 108, 0.10),
    0 12px 28px rgba(0, 0, 0, 0.26) !important;
}

.rx-clean-sidebar .rx-player-menu,
.sidebar-section,
.top-nav {
  border-color: rgba(242, 199, 108, 0.12) !important;
}

.sidebar-test-note,
.mode-pill,
.balance-pill,
.topbar-balance {
  background: rgba(21, 8, 35, 0.84) !important;
  border: 1px solid rgba(242, 199, 108, 0.19) !important;
  color: #fff2d6 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04), 0 14px 28px rgba(0,0,0,0.18) !important;
}

/* Buttons */
.primary-btn {
  background: linear-gradient(135deg, #f8d98b 0%, #d99a37 42%, #9b5dff 100%) !important;
  color: #16080d !important;
  border: 1px solid rgba(255, 231, 163, 0.52) !important;
  box-shadow:
    0 14px 32px rgba(151, 59, 255, 0.22),
    0 0 22px rgba(242, 199, 108, 0.12) !important;
}

.secondary-btn,
.ghost-btn,
.inline-link-btn {
  background: rgba(27, 10, 43, 0.68) !important;
  border: 1px solid rgba(242, 199, 108, 0.18) !important;
  color: #fff1d1 !important;
}

.primary-btn:hover:not(:disabled),
.secondary-btn:hover:not(:disabled),
.ghost-btn:hover:not(:disabled) {
  border-color: rgba(255, 221, 142, 0.44) !important;
  box-shadow:
    0 18px 42px rgba(0, 0, 0, 0.36),
    0 0 28px rgba(151, 59, 255, 0.18) !important;
}

/* Top feature cards */
.rx-feature-card {
  border-color: rgba(242, 199, 108, 0.24) !important;
  box-shadow:
    0 18px 40px rgba(0, 0, 0, 0.30),
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 0 0 1px rgba(151, 59, 255, 0.08) !important;
}

.rx-feature-card.sports-card {
  background:
    radial-gradient(circle at 82% 42%, rgba(242, 199, 108, 0.15), transparent 7rem),
    linear-gradient(135deg, rgba(16, 92, 55, 0.90), rgba(10, 35, 25, 0.94) 48%, rgba(48, 17, 70, 0.68)) !important;
}

.rx-feature-card::before {
  background:
    radial-gradient(circle at 82% 36%, rgba(255, 235, 177, 0.16), transparent 7.5rem),
    linear-gradient(90deg, rgba(255,255,255,0.06), transparent 62%) !important;
}

.rx-feature-card .eyebrow,
.eyebrow {
  color: #f3c76c !important;
}


.rx-feature-card p,
.section-heading p,
.hero p,
.admin-card p,
.table-info-card p,
.rx-real-game-card span {
  color: rgba(231, 218, 245, 0.82) !important;
}

.rx-feature-card img {
  filter: saturate(1.14) contrast(1.08) brightness(0.96) drop-shadow(0 10px 18px rgba(0,0,0,0.28)) !important;
}

/* Search */
.rx-clean-search,
.rx-search-strip {
  background: rgba(7, 3, 12, 0.88) !important;
  border: 1px solid rgba(242, 199, 108, 0.24) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.04),
    0 14px 34px rgba(0, 0, 0, 0.24) !important;
}

.rx-clean-search:focus-within,
.rx-search-strip:focus-within {
  border-color: rgba(242, 199, 108, 0.46) !important;
  box-shadow:
    0 0 0 1px rgba(151, 59, 255, 0.20),
    0 0 30px rgba(151, 59, 255, 0.14),
    0 14px 34px rgba(0, 0, 0, 0.26) !important;
}

.rx-search-strip input,
input,
select,
textarea {
  color: #fff8ea !important;
  caret-color: #f3c76c !important;
}

.rx-search-strip input::placeholder,
input::placeholder,
textarea::placeholder {
  color: rgba(214, 197, 231, 0.66) !important;
}


.rx-game-shelf {
  padding: 0.44rem 0.48rem 0.54rem;
  border-radius: 10px !important;
}

.rx-real-game-card {
  background: linear-gradient(180deg, rgba(26, 11, 42, 0.88), rgba(10, 5, 16, 0.92)) !important;
  border-color: rgba(242, 199, 108, 0.18) !important;
  box-shadow:
    0 14px 30px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255,255,255,0.05) !important;
}

.rx-real-game-card:hover {
  border-color: rgba(242, 199, 108, 0.42) !important;
  box-shadow:
    0 20px 44px rgba(0, 0, 0, 0.36),
    0 0 26px rgba(151, 59, 255, 0.13) !important;
}

.rx-real-game-card img,
.rx-real-game-card .rx-test-balance-art {
  filter: saturate(1.18) contrast(1.08) brightness(0.92) !important;
}

/* Compact poker/table cards */
.table-card {
  background: linear-gradient(180deg, rgba(24, 10, 39, 0.94), rgba(7, 3, 12, 0.96)) !important;
  border-color: rgba(242, 199, 108, 0.22) !important;
  box-shadow:
    0 14px 28px rgba(0, 0, 0, 0.38),
    inset 0 1px 0 rgba(255, 255, 255, 0.045) !important;
}

.table-card:hover,
.table-card:focus-within {
  border-color: color-mix(in srgb, var(--accent, #9b5dff) 42%, #f3c76c 58%) !important;
  box-shadow:
    0 18px 42px rgba(0, 0, 0, 0.46),
    0 0 0 1px rgba(242, 199, 108, 0.16),
    0 0 30px color-mix(in srgb, var(--accent, #9b5dff) 20%, transparent) !important;
}

.table-preview-frame {
  background:
    radial-gradient(circle at 50% 34%, rgba(242, 199, 108, 0.08), transparent 58%),
    linear-gradient(180deg, #12071c, #05030a) !important;
}

.table-preview-frame::after {
  background:
    linear-gradient(180deg, rgba(3, 1, 7, 0.02), rgba(3, 1, 7, 0.10) 58%, rgba(3, 1, 7, 0.58)),
    radial-gradient(circle at 50% 18%, color-mix(in srgb, var(--accent, #9b5dff) 18%, transparent), transparent 62%) !important;
}

.table-card-content {
  background:
    linear-gradient(180deg, rgba(24, 10, 39, 0.98), rgba(9, 4, 15, 0.98)) !important;
  border-top: 1px solid rgba(242, 199, 108, 0.10) !important;
}

.riverx-lobby-brand {
  background: rgba(10, 4, 16, 0.70) !important;
  border-color: rgba(242, 199, 108, 0.22) !important;
  color: #fff5dc !important;
}

.riverx-lobby-gem {
  background: linear-gradient(135deg, #f8d98b, #9b5dff 52%, #3c115f) !important;
  border-color: rgba(255, 230, 165, 0.90) !important;
  box-shadow:
    0 0 8px rgba(151, 59, 255, 0.68),
    0 0 8px rgba(242, 199, 108, 0.22) !important;
}

.table-card .game-pill::before,
.table-card .buyin-head::before {
  background: #45f090 !important;
  box-shadow: 0 0 9px rgba(69, 240, 144, 0.72) !important;
}

.table-card .game-pill {
  color: #c9ffd9 !important;
}

.table-card .buyin-head strong,
.table-card .tier {
  color: #fff8ea !important;
}

.table-card .buyin-head strong {
  color: #cbbbd9 !important;
}

.table-card .rx-card-action-pill {
  background: rgba(9, 3, 14, 0.72) !important;
  border-color: rgba(242, 199, 108, 0.16) !important;
  color: #ffe7a4 !important;
}


.table-card.rx-private-card[data-table-id="roberts"] .table-preview-frame {
  background:
    radial-gradient(circle at 50% 43%, rgba(242, 199, 108, 0.18), transparent 62%),
    radial-gradient(circle at 50% 43%, rgba(92, 58, 255, 0.20), transparent 64%),
    linear-gradient(180deg, #12071f, #07020a) !important;
}

.table-card.rx-private-card .private-table-overlay strong {
  color: #fff8ea !important;
  text-shadow:
    0 2px 0 rgba(0,0,0,0.84),
    0 0 18px rgba(151,59,255,0.22),
    0 0 14px rgba(242,199,108,0.16) !important;
}

/* Table, forms, and admin surfaces */
.card,
.player-seat,
.community-card,
.action-panel,
.poker-felt,
.match-list-card,
.ledger-row,
.audit-row,
.compliance-card,
.wallet-card {
  border-color: rgba(242, 199, 108, 0.16) !important;
  background-color: rgba(17, 7, 27, 0.72) !important;
}

input,
select,
textarea {
  background: rgba(7, 3, 12, 0.86) !important;
  border-color: rgba(242, 199, 108, 0.18) !important;
}

input:focus,
select:focus,
textarea:focus {
  outline: none !important;
  border-color: rgba(242, 199, 108, 0.48) !important;
  box-shadow: 0 0 0 3px rgba(151, 59, 255, 0.16) !important;
}

/* Scrollbar polish */
* {
  scrollbar-color: rgba(242, 199, 108, 0.40) rgba(10, 4, 17, 0.80);
}

::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-track {
  background: rgba(10, 4, 17, 0.80);
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(242, 199, 108, 0.48), rgba(151, 59, 255, 0.46));
  border-radius: 999px;
  border: 2px solid rgba(10, 4, 17, 0.90);
}

@media (max-width: 920px) {
  body::before {
    background:
      radial-gradient(circle at 50% 0%, rgba(151, 59, 255, 0.18), transparent 24rem),
      radial-gradient(circle at 82% 8%, rgba(242, 199, 108, 0.10), transparent 18rem) !important;
  }

  .app-sidebar.rx-clean-sidebar {
    border-bottom: 1px solid rgba(242, 199, 108, 0.16) !important;
  }
}

/* Final override: 6-max live-only premium table card previews. */
:root {
  --rx-lobby-tile-width: clamp(250px, 18.5vw, 330px) !important;
  --rx-lobby-tile-gap: clamp(0.9rem, 1.15vw, 1.35rem) !important;
}

#view-lobby .table-grid,
#view-home .table-grid,
.home-table-grid,
.table-grid {
  grid-template-columns: repeat(auto-fill, minmax(var(--rx-lobby-tile-width), var(--rx-lobby-tile-width))) !important;
  gap: var(--rx-lobby-tile-gap) !important;
}

.table-card {
  width: var(--rx-lobby-tile-width) !important;
  max-width: var(--rx-lobby-tile-width) !important;
  aspect-ratio: 1.16 / 1 !important;
  grid-template-rows: minmax(0, 1fr) 86px !important;
  border-radius: 14px !important;
  border-color: rgba(234, 172, 73, 0.42) !important;
}

.table-preview-frame { border-radius: 14px 14px 0 0 !important; }
.table-preview-frame::before {
  content: "NLH";
  position: absolute;
  top: 0.55rem;
  left: 0.55rem;
  z-index: 5;
  padding: 0.2rem 0.46rem;
  border-radius: 7px;
  color: #ffe08a;
  background: rgba(9, 5, 12, 0.76);
  border: 1px solid rgba(234, 172, 73, 0.38);
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.035em;
  line-height: 1;
  pointer-events: none;
  backdrop-filter: blur(8px);
}

.table-preview-frame img {
  object-fit: cover !important;
  object-position: center 42% !important;
  transform: scale(1.03) !important;
  filter: saturate(1.18) contrast(1.09) brightness(0.98) !important;
}

.table-card:hover .table-preview-frame img { transform: scale(1.07) !important; }

.table-card-content {
  height: 86px !important;
  padding: 0.7rem 0.9rem 0.72rem !important;
  gap: 0.38rem !important;
}

.table-card .tier-row { grid-template-columns: minmax(0, 1fr) !important; }
.table-card .tier { font-size: clamp(1.02rem, 1.05vw, 1.24rem) !important; }
.table-card .game-pill { display: none !important; }
.table-card .buyin-head { padding-right: 6.2rem !important; }
.table-card .buyin-head strong { font-size: clamp(0.84rem, 0.82vw, 1rem) !important; }
.table-card .rx-card-action-pill { display: none !important; }
.preview-chair-strip { display: none !important; }

.table-card .live-player-count {
  position: absolute;
  right: 0.82rem;
  bottom: 0.76rem;
  z-index: 8;
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  max-width: 48%;
  color: #c67cff;
  font-size: clamp(0.78rem, 0.72vw, 0.92rem);
  font-weight: 850;
  line-height: 1;
  white-space: nowrap;
}
.table-card .live-player-count::before { content: "👥"; font-size: 0.92em; }
.table-card .live-player-count[data-full="true"] { color: #ffcf6a; }
.table-card.is-table-full { filter: saturate(0.82) brightness(0.84); }
.table-card.is-table-full::after {
  content: "FULL" !important;
  position: absolute;
  top: 0.55rem;
  right: 0.55rem;
  z-index: 10;
  display: inline-flex !important;
  padding: 0.22rem 0.5rem;
  border-radius: 7px;
  color: #1d1000;
  background: linear-gradient(135deg, #ffdf7c, #c88924);
  border: 1px solid rgba(255, 237, 186, 0.6);
  font-size: 0.62rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  pointer-events: none;
}

.player-card.is-empty-seat { opacity: 0.68; border-style: dashed; }
.player-card.is-remote-live .player-role,
.player-card.is-empty-seat .player-role { color: #d99bff !important; }

/* === Production Open Seat / Click-to-Sit Update === */
#view-table .poker-table.exact-art-mode .seat.is-open-seat {
  cursor: pointer;
  pointer-events: auto !important;
}

#view-table .poker-table.exact-art-mode .seat.is-open-seat .seat-take-card,
.player-card.is-empty-seat.seat-take-card {
  position: relative;
  overflow: hidden;
  opacity: 1 !important;
  min-height: 104px;
  border: 1px solid rgba(246, 206, 112, 0.52) !important;
  border-style: solid !important;
  border-radius: 18px;
  background:
    radial-gradient(circle at 50% 0%, rgba(168, 85, 247, 0.28), transparent 56%),
    linear-gradient(145deg, rgba(25, 14, 39, 0.94), rgba(7, 6, 14, 0.92));
  box-shadow:
    0 18px 34px rgba(0, 0, 0, 0.42),
    inset 0 1px 0 rgba(255, 238, 190, 0.18),
    0 0 0 1px rgba(126, 66, 205, 0.24),
    0 0 24px rgba(168, 85, 247, 0.12);
  transform: translateZ(0);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, filter 180ms ease;
}

#view-table .poker-table.exact-art-mode .seat.is-open-seat:hover .seat-take-card,
#view-table .poker-table.exact-art-mode .seat.is-open-seat:focus-within .seat-take-card {
  transform: translateY(-3px) scale(1.02);
  border-color: rgba(255, 223, 124, 0.86) !important;
  box-shadow:
    0 22px 38px rgba(0, 0, 0, 0.48),
    inset 0 1px 0 rgba(255, 244, 209, 0.25),
    0 0 0 1px rgba(255, 213, 104, 0.28),
    0 0 34px rgba(168, 85, 247, 0.26),
    0 0 20px rgba(246, 206, 112, 0.16);
}

.seat-ambient-glow {
  position: absolute;
  inset: -40%;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 223, 124, 0.16), transparent 24%),
    conic-gradient(from 90deg, transparent, rgba(168, 85, 247, 0.25), transparent, rgba(255, 223, 124, 0.14), transparent);
  opacity: 0.62;
  animation: openSeatAura 5.5s linear infinite;
}

.open-seat-icon {
  position: absolute;
  top: 0.72rem;
  right: 0.72rem;
  z-index: 2;
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #1c1102;
  font-size: 1.05rem;
  font-weight: 950;
  background: linear-gradient(135deg, #fff0a8, #d99b32 52%, #8d5916);
  border: 1px solid rgba(255, 244, 202, 0.78);
  box-shadow: 0 7px 16px rgba(0, 0, 0, 0.35), 0 0 18px rgba(255, 213, 104, 0.2);
}

.open-seat-panel {
  position: relative;
  z-index: 2;
  gap: 0.32rem;
}

.player-card.is-empty-seat.seat-take-card .player-name {
  color: #fff4c7 !important;
  font-weight: 950;
  letter-spacing: -0.01em;
}

.player-card.is-empty-seat.seat-take-card .player-role {
  color: #d99bff !important;
  font-weight: 900;
  letter-spacing: 0.12em;
}

.player-state-pill.is-open {
  color: #151006;
  background: linear-gradient(135deg, #ffe996, #c98d28);
  border-color: rgba(255, 238, 190, 0.68);
  box-shadow: 0 0 14px rgba(246, 206, 112, 0.14);
}

.seat-click-cta {
  width: max-content;
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.34rem 0.72rem;
  border-radius: 999px;
  color: #ffeeb7;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.02em;
  background: linear-gradient(135deg, rgba(98, 45, 156, 0.92), rgba(42, 20, 75, 0.9));
  border: 1px solid rgba(217, 155, 255, 0.42);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 0 18px rgba(168, 85, 247, 0.12);
}

.player-card.is-empty-seat.seat-take-card .player-status {
  color: rgba(255, 236, 190, 0.76) !important;
  font-size: 0.76rem;
  font-weight: 750;
}

#view-table .table-alert {
  border-color: rgba(246, 206, 112, 0.36);
  background: linear-gradient(135deg, rgba(18, 9, 28, 0.9), rgba(42, 18, 66, 0.82));
  color: rgba(255, 239, 193, 0.9);
}

@keyframes openSeatAura {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@media (max-width: 720px) {
  #view-table .poker-table.exact-art-mode .seat.is-open-seat .seat-take-card,
  .player-card.is-empty-seat.seat-take-card {
    min-height: 88px;
    border-radius: 14px;
  }
  .open-seat-icon {
    width: 22px;
    height: 22px;
    font-size: 0.95rem;
  }
  .seat-click-cta {
    font-size: 0.72rem;
    padding: 0.28rem 0.58rem;
  }
}


/* === Open seat sign implementation === */
#view-table .poker-table.exact-art-mode .seat.is-open-seat .seat-take-card,
.player-card.is-empty-seat.seat-take-card {
  min-height: 0;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

#view-table .poker-table.exact-art-mode .seat.is-open-seat:hover .seat-take-card,
#view-table .poker-table.exact-art-mode .seat.is-open-seat:focus-within .seat-take-card {
  transform: translateY(-2px) scale(1.02);
  border-color: transparent !important;
  box-shadow: none !important;
}

.player-card.is-empty-seat.seat-take-card .seat-ambient-glow {
  inset: 5% 6%;
  opacity: 0.5;
  filter: blur(8px);
}

.player-card.is-empty-seat.seat-take-card .open-seat-sign {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  user-select: none;
  pointer-events: none;
  filter: drop-shadow(0 10px 16px rgba(0,0,0,0.42)) drop-shadow(0 0 22px rgba(168, 85, 247, 0.24));
  transition: transform 180ms ease, filter 180ms ease;
}

#view-table .poker-table.exact-art-mode .seat.is-open-seat:hover .open-seat-sign,
#view-table .poker-table.exact-art-mode .seat.is-open-seat:focus-within .open-seat-sign {
  transform: scale(1.025);
  filter: drop-shadow(0 14px 24px rgba(0,0,0,0.5)) drop-shadow(0 0 28px rgba(168, 85, 247, 0.32));
}

.player-card.is-empty-seat.seat-take-card .open-seat-icon,
.player-card.is-empty-seat.seat-take-card .open-seat-panel,
.player-card.is-empty-seat.seat-take-card .player-name,
.player-card.is-empty-seat.seat-take-card .player-role,
.player-card.is-empty-seat.seat-take-card .player-status,
.player-card.is-empty-seat.seat-take-card .seat-click-cta,
.player-card.is-empty-seat.seat-take-card .player-state-pill {
  display: none !important;
}

.player-card.is-empty-seat.seat-take-card .open-seat-sr {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 720px) {
  .player-card.is-empty-seat.seat-take-card .seat-ambient-glow {
    inset: 7% 8%;
    filter: blur(6px);
  }
}


/* === Open seat quality refresh: crisp non-pixel seat cards === */
#view-table .poker-table.exact-art-mode .seat.is-open-seat,
#view-table .poker-table.exact-art-mode .seat.is-open-seat * {
  image-rendering: auto;
}

#view-table .poker-table.exact-art-mode .seat.is-open-seat .seat-take-card,
.player-card.is-empty-seat.seat-take-card {
  min-height: clamp(78px, 6.25vw, 104px) !important;
  width: 100%;
  padding: clamp(0.42rem, 0.5vw, 0.56rem) !important;
  border-radius: 16px !important;
  border: 1px solid rgba(232, 182, 76, 0.62) !important;
  background:
    linear-gradient(180deg, rgba(10, 12, 28, 0.96), rgba(23, 11, 41, 0.94)),
    radial-gradient(circle at 50% 0%, rgba(113, 58, 173, 0.25), transparent 58%) !important;
  box-shadow:
    0 10px 26px rgba(0, 0, 0, 0.36),
    inset 0 1px 0 rgba(255, 245, 205, 0.12),
    0 0 0 1px rgba(112, 66, 176, 0.20),
    0 0 20px rgba(111, 48, 172, 0.16) !important;
  overflow: hidden !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

#view-table .poker-table.exact-art-mode .seat.is-open-seat:hover .seat-take-card,
#view-table .poker-table.exact-art-mode .seat.is-open-seat:focus-within .seat-take-card {
  transform: translateY(-2px) scale(1.025);
  border-color: rgba(255, 215, 120, 0.92) !important;
  box-shadow:
    0 14px 30px rgba(0, 0, 0, 0.44),
    inset 0 1px 0 rgba(255, 247, 223, 0.16),
    0 0 0 1px rgba(255, 216, 128, 0.26),
    0 0 26px rgba(150, 78, 230, 0.22) !important;
}

.player-card.is-empty-seat.seat-take-card .seat-ambient-glow {
  inset: -25%;
  opacity: 0.36;
  filter: blur(9px);
}

.player-card.is-empty-seat.seat-take-card .open-seat-sign {
  display: none !important;
}

.player-card.is-empty-seat.seat-take-card .open-seat-panel {
  position: relative;
  z-index: 2;
  width: 100%;
  display: grid !important;
  gap: clamp(0.24rem, 0.36vw, 0.34rem);
  justify-items: center;
  text-align: center;
}

.player-card.is-empty-seat.seat-take-card .open-seat-header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.34rem;
  flex-wrap: wrap;
}

.player-card.is-empty-seat.seat-take-card .player-name {
  display: block !important;
  margin: 0;
  color: #f8e5a2 !important;
  font-size: clamp(0.82rem, 0.95vw, 1rem) !important;
  line-height: 1.05 !important;
  font-weight: 900 !important;
  letter-spacing: -0.01em;
  text-shadow: 0 1px 0 rgba(0,0,0,0.35);
}

.player-card.is-empty-seat.seat-take-card .player-state-pill.is-open {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 0.14rem 0.42rem;
  border-radius: 999px;
  font-size: clamp(0.52rem, 0.6vw, 0.62rem);
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.player-card.is-empty-seat.seat-take-card .seat-click-cta {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: min(100%, 108px);
  padding: 0.3rem 0.72rem;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(139, 64, 233, 0.98), rgba(85, 32, 145, 0.98)) !important;
  border: 1px solid rgba(223, 183, 255, 0.32);
  color: #fff4d3 !important;
  font-size: clamp(0.7rem, 0.8vw, 0.82rem) !important;
  line-height: 1.05;
  font-weight: 900 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.18),
    0 0 18px rgba(151, 74, 236, 0.18);
}

.player-card.is-empty-seat.seat-take-card .player-status {
  display: block !important;
  margin: 0;
  color: rgba(255, 233, 186, 0.78) !important;
  font-size: clamp(0.56rem, 0.62vw, 0.66rem) !important;
  line-height: 1.05;
  font-weight: 700;
}

.player-card.is-empty-seat.seat-take-card .open-seat-icon {
  display: none !important;
}

@media (max-width: 1100px) {
  #view-table .poker-table.exact-art-mode .seat.is-open-seat .seat-take-card,
  .player-card.is-empty-seat.seat-take-card {
    min-height: 72px !important;
    padding: 0.38rem !important;
  }

  .player-card.is-empty-seat.seat-take-card .player-name {
    font-size: 0.78rem !important;
  }

  .player-card.is-empty-seat.seat-take-card .seat-click-cta {
    min-width: 96px;
    font-size: 0.68rem !important;
    padding: 0.28rem 0.56rem;
  }

  .player-card.is-empty-seat.seat-take-card .player-status {
    font-size: 0.54rem !important;
  }
}


/* ---- riverx-luxury-final-polish.css ---- */

/* RiverX luxury final polish: premium poker finish */
:root {
  --rx-bg: #07040d;
  --rx-panel: rgba(13, 8, 22, 0.82);
  --rx-panel-strong: rgba(18, 11, 32, 0.94);
  --rx-gold: #f0c66b;
  --rx-gold-soft: rgba(240, 198, 107, 0.18);
  --rx-purple: #7f36ff;
  --rx-purple-soft: rgba(127, 54, 255, 0.20);
  --rx-border: rgba(240, 198, 107, 0.18);
  --rx-text: #fff7e6;
  --rx-muted: rgba(234, 222, 247, 0.78);
  --rx-shadow: 0 26px 70px rgba(0, 0, 0, 0.42);
}

html {
  background: var(--rx-bg);
}

body {
  background:
    radial-gradient(circle at 18% 8%, rgba(126, 55, 255, 0.19), transparent 30rem),
    radial-gradient(circle at 86% 18%, rgba(240, 198, 107, 0.11), transparent 24rem),
    linear-gradient(180deg, #090411 0%, #07030b 56%, #030207 100%) !important;
  color: var(--rx-text) !important;
  letter-spacing: -0.01em;
}

.bg-grid {
  opacity: 0.25;
  background-image:
    linear-gradient(rgba(240, 198, 107, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(240, 198, 107, 0.055) 1px, transparent 1px) !important;
  background-size: 42px 42px !important;
}

main {
  padding: clamp(18px, 2.4vw, 34px) !important;
}

.rx-clean-sidebar {
  background:
    linear-gradient(180deg, rgba(15, 8, 26, 0.96), rgba(5, 4, 10, 0.98)) !important;
  border-right: 1px solid rgba(240, 198, 107, 0.18) !important;
  box-shadow: 24px 0 80px rgba(0, 0, 0, 0.36) !important;
}

.rx-wordmark-side {
  border: 1px solid rgba(240, 198, 107, 0.2) !important;
  background: linear-gradient(135deg, rgba(240, 198, 107, 0.12), rgba(127, 54, 255, 0.10)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 12px 28px rgba(0,0,0,0.28) !important;
}

.rx-clean-sidebar button,
.rx-main-menu button,
.rx-player-menu button {
  min-height: 44px;
  border-radius: 14px !important;
  color: rgba(242, 231, 255, 0.82) !important;
  transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease, color 0.18s ease !important;
}

.rx-clean-sidebar button:hover,
.rx-clean-sidebar button.active {
  transform: translateX(2px);
  color: #fff6dc !important;
  border-color: rgba(240, 198, 107, 0.34) !important;
  background: linear-gradient(135deg, rgba(240, 198, 107, 0.16), rgba(127, 54, 255, 0.15)) !important;
}

.sidebar-test-note {
  border: 1px solid rgba(240, 198, 107, 0.16) !important;
  background: rgba(255,255,255,0.035) !important;
  border-radius: 18px !important;
  color: var(--rx-muted) !important;
}

.sidebar-test-note strong {
  color: #fff2ca !important;
}

.rx-dashboard-home,
.rx-clean-dashboard,
.view.active {
  animation: rxViewFade 0.28s ease-out both;
}

@keyframes rxViewFade {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

.rx-dashboard-home {
  max-width: 1500px;
  margin: 0 auto;
}

.rx-dashboard-topbar {
  min-height: 74px;
  margin-bottom: 24px !important;
  padding: 14px 18px !important;
  border: 1px solid rgba(240, 198, 107, 0.16) !important;
  border-radius: 24px !important;
  background:
    linear-gradient(180deg, rgba(19, 12, 31, 0.84), rgba(8, 5, 14, 0.78)) !important;
  box-shadow: var(--rx-shadow), inset 0 1px 0 rgba(255,255,255,0.05) !important;
  backdrop-filter: blur(14px);
}

.rx-wordmark {
  letter-spacing: 0.16em !important;
  color: #fff2cb !important;
  text-shadow: 0 0 24px rgba(240, 198, 107, 0.25) !important;
}

.rx-wordmark span {
  color: var(--rx-gold) !important;
}

.rx-mini-wallet,
.topbar-balance,
.balance-pill {
  border: 1px solid rgba(240, 198, 107, 0.22) !important;
  background: linear-gradient(135deg, rgba(240, 198, 107, 0.11), rgba(95, 48, 166, 0.14)) !important;
  color: #fff4d5 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 10px 24px rgba(0,0,0,0.22) !important;
}

.rx-game-shelf,
.section-heading,
.balance-card,
.legal-card,
.admin-card,
.table-shell,
.table-info-card,
.simple-cashier-card,
.simple-balance-card {
  border: 1px solid var(--rx-border) !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at 16% 0%, rgba(240, 198, 107, 0.10), transparent 22rem),
    radial-gradient(circle at 85% 6%, rgba(127, 54, 255, 0.12), transparent 24rem),
    linear-gradient(180deg, rgba(16, 9, 28, 0.88), rgba(7, 5, 13, 0.82)) !important;
  box-shadow: var(--rx-shadow), inset 0 1px 0 rgba(255,255,255,0.045) !important;
}

.rx-game-shelf {
  padding: clamp(18px, 2.2vw, 28px) !important;
  margin-bottom: 24px !important;
}

.rx-shelf-heading,
.section-heading {
  align-items: center !important;
  gap: 18px !important;
}

.rx-shelf-heading h2,
.section-heading h2 {
  color: #fff6dd !important;
  font-size: clamp(1.65rem, 2.5vw, 2.55rem) !important;
  letter-spacing: -0.04em !important;
}

.section-heading p,
.balance-card p,
.legal-card p,
.admin-card p {
  color: var(--rx-muted) !important;
  line-height: 1.62 !important;
}

.eyebrow {
  color: var(--rx-gold) !important;
  letter-spacing: 0.14em !important;
  font-weight: 900 !important;
}

.game-home-cta,
.inline-link-btn,
.primary-btn,
.secondary-btn,
button[class*="btn"] {
  border-radius: 14px !important;
  font-weight: 900 !important;
  letter-spacing: 0.01em !important;
}

.primary-btn,
.game-home-cta,
.inline-link-btn {
  background: linear-gradient(135deg, #f4cf77, #b98934 58%, #8b55ff) !important;
  color: #100813 !important;
  border: 1px solid rgba(255, 232, 167, 0.42) !important;
  box-shadow: 0 12px 26px rgba(0,0,0,0.24), inset 0 1px 0 rgba(255,255,255,0.33) !important;
}

.secondary-btn {
  background: rgba(255,255,255,0.055) !important;
  color: #fff1cc !important;
  border: 1px solid rgba(240, 198, 107, 0.18) !important;
}

.primary-btn:hover,
.secondary-btn:hover,
.inline-link-btn:hover,
.game-home-cta:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
}

.home-table-grid,
.rx-compact-table-row {
  gap: 16px !important;
}

.rx-table-card,
.table-card,
.home-table-grid > * {
  border-radius: 22px !important;
  border-color: rgba(240, 198, 107, 0.18) !important;
  box-shadow: 0 18px 46px rgba(0,0,0,0.32) !important;
}

input,
select,
textarea {
  border-radius: 14px !important;
  border-color: rgba(240, 198, 107, 0.16) !important;
  background: rgba(8, 5, 14, 0.72) !important;
  color: #fff5d9 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04) !important;
}

input:focus,
select:focus,
textarea:focus {
  outline: none !important;
  border-color: rgba(240, 198, 107, 0.45) !important;
  box-shadow: 0 0 0 3px rgba(240, 198, 107, 0.10), inset 0 1px 0 rgba(255,255,255,0.05) !important;
}

.playing-card {
  box-shadow: 0 10px 24px rgba(0,0,0,0.28) !important;
}

.site-footer.riverx-legal-footer {
  border-top: 1px solid rgba(240, 198, 107, 0.14) !important;
  background: rgba(4, 3, 9, 0.82) !important;
  color: rgba(234, 222, 247, 0.70) !important;
}

@media (max-width: 720px) {
  main {
    padding: 14px !important;
  }

  .rx-dashboard-topbar,
  .rx-game-shelf,
  .section-heading {
    border-radius: 20px !important;
  }

  .rx-shelf-heading,
  .section-heading {
    align-items: flex-start !important;
  }
}


/* === RiverX Duelbits-style lobby layout update === */
#view-home .rx-dashboard-home {
  max-width: 1240px !important;
  margin: 0 auto !important;
}

.rx-lobby-category-tabs {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  overflow-x: auto !important;
  padding: 0 0 14px !important;
  margin: 4px 0 12px !important;
  scrollbar-width: thin;
}

.rx-lobby-category-tabs button {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 36px !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: rgba(238, 246, 255, 0.86) !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

.rx-lobby-category-tabs button.active,
.rx-lobby-category-tabs button:hover {
  background: #52677f !important;
  color: #fff !important;
}

.rx-lobby-category-tabs button span {
  opacity: 0.88 !important;
}

.rx-lobby-row {
  margin: 18px 0 24px !important;
}

.rx-lobby-row-heading {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin: 0 0 12px !important;
}

.rx-lobby-row-heading h2 {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  margin: 0 !important;
  color: #ffffff !important;
  font-size: 1rem !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: -0.01em !important;
}

.rx-lobby-row-heading h2 span {
  color: #8ba7c5 !important;
  font-size: 1rem !important;
}

.rx-view-all {
  border: 0 !important;
  background: transparent !important;
  color: #ffffff !important;
  font-size: 0.78rem !important;
  font-weight: 900 !important;
  padding: 5px 7px !important;
  cursor: pointer !important;
}

.rx-view-all:hover {
  color: #9ed0ff !important;
}

.rx-promo-strip {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(260px, 1fr)) !important;
  gap: 14px !important;
}

.rx-promo-card {
  min-height: 118px !important;
  padding: 18px !important;
  border: 0 !important;
  border-radius: 7px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: center !important;
  text-align: center !important;
  color: #fff !important;
  cursor: pointer !important;
  position: relative !important;
  isolation: isolate !important;
  box-shadow: 0 14px 30px rgba(0,0,0,0.22) !important;
  transition: transform 0.16s ease, filter 0.16s ease !important;
}

.rx-promo-card:hover {
  transform: translateY(-2px) !important;
  filter: brightness(1.06) !important;
}

.rx-promo-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -2 !important;
  background:
    radial-gradient(circle at 78% 26%, rgba(255,255,255,0.22), transparent 26%),
    linear-gradient(135deg, rgba(74, 179, 255, 0.78), rgba(88, 38, 184, 0.74)),
    #16283a !important;
}

.rx-promo-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  background: linear-gradient(180deg, rgba(0,0,0,0.04), rgba(0,0,0,0.62)) !important;
}

.rx-promo-card.promo-originals::before {
  background:
    linear-gradient(90deg, rgba(48, 235, 156, 0.22), transparent 55%),
    repeating-linear-gradient(100deg, rgba(255,255,255,0.045) 0 2px, transparent 2px 16px),
    linear-gradient(135deg, #17243d, #174f5e 55%, #0c1724) !important;
}

.rx-promo-card.promo-leaderboard::before {
  background:
    radial-gradient(circle at 72% 22%, rgba(255,255,255,0.24), transparent 20%),
    linear-gradient(135deg, #17283a, #273d5a 45%, #0b111d) !important;
}

.rx-promo-card span {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  padding: 4px 8px !important;
  border-radius: 5px !important;
  background: rgba(255,255,255,0.14) !important;
  color: #dff2ff !important;
  font-size: 0.7rem !important;
  font-weight: 900 !important;
  margin-bottom: 7px !important;
}

.rx-promo-card strong {
  max-width: 360px !important;
  color: #fff !important;
  font-size: clamp(1.1rem, 2vw, 1.45rem) !important;
  line-height: 1.02 !important;
  font-weight: 1000 !important;
  text-transform: uppercase !important;
  text-shadow: 0 3px 12px rgba(0,0,0,0.38) !important;
}

.rx-promo-card em {
  color: rgba(255,255,255,0.78) !important;
  font-size: 0.8rem !important;
  font-style: normal !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  margin-top: 4px !important;
}

.rx-live-poker-row .home-table-grid {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 16px !important;
  overflow-x: auto !important;
  padding-bottom: 8px !important;
}

.rx-live-poker-row .home-table-grid > * {
  flex: 0 0 209px !important;
  width: 209px !important;
  min-width: 209px !important;
  max-width: 209px !important;
}

@media (max-width: 900px) {
  .rx-promo-strip {
    grid-template-columns: 1fr !important;
  }

  .rx-promo-card {
    min-height: 120px !important;
  }
}

@media (max-width: 640px) {
  .rx-lobby-category-tabs {
    margin-top: 2px !important;
  }

  .rx-live-poker-row .home-table-grid {
    gap: 12px !important;
  }
}

/* === RiverX all poker tables visible on main screen update ===
   The Live Poker Tables section now wraps onto the page instead of using a horizontal/movable bar. */
#view-home .rx-live-poker-row {
  max-width: 1240px !important;
  margin: 28px auto 36px !important;
}

#view-home .rx-live-poker-row .rx-lobby-row-heading {
  margin-bottom: 16px !important;
}

#view-home .rx-live-poker-row .home-table-grid,
#view-home #homeTableGrid.home-table-grid,
#homeTableGrid.rx-compact-table-row {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  padding: 0 !important;
  margin: 0 auto !important;
  scrollbar-width: none !important;
}

#view-home .rx-live-poker-row .home-table-grid::-webkit-scrollbar,
#view-home #homeTableGrid.home-table-grid::-webkit-scrollbar,
#homeTableGrid.rx-compact-table-row::-webkit-scrollbar {
  display: none !important;
}

#view-home .rx-live-poker-row .home-table-grid > *,
#view-home #homeTableGrid.home-table-grid > *,
#homeTableGrid.rx-compact-table-row > * {
  flex: unset !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

/* Keep the table cards compact enough for all seven tables to be visible as a wrapped grid. */
#view-home .rx-live-poker-row .table-card,
#view-home #homeTableGrid .table-card {
  min-height: 0 !important;
  height: auto !important;
}

@media (min-width: 1180px) {
  #view-home .rx-live-poker-row .home-table-grid,
  #view-home #homeTableGrid.home-table-grid,
  #homeTableGrid.rx-compact-table-row {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 920px) {
  #view-home .rx-live-poker-row .home-table-grid,
  #view-home #homeTableGrid.home-table-grid,
  #homeTableGrid.rx-compact-table-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  #view-home .rx-live-poker-row .home-table-grid,
  #view-home #homeTableGrid.home-table-grid,
  #homeTableGrid.rx-compact-table-row {
    grid-template-columns: 1fr !important;
  }
}

/* === RiverX poker main screen graphic boxes update ===
   Use the provided poker-table graphic boxes on the home screen, with all tables visible
   and no horizontal movable bar. */
#view-home .rx-live-poker-row {
  max-width: 1320px !important;
  margin: 28px auto 36px !important;
}

#view-home .rx-live-poker-row .rx-lobby-row-heading {
  margin-bottom: 16px !important;
}

#view-home #homeTableGrid.home-table-grid,
#homeTableGrid.rx-compact-table-row,
#view-home .rx-live-poker-row .home-table-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 4px 0 8px !important;
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  scrollbar-width: none !important;
}

#view-home #homeTableGrid.home-table-grid::-webkit-scrollbar,
#homeTableGrid.rx-compact-table-row::-webkit-scrollbar {
  display: none !important;
}

#view-home #homeTableGrid > * {
  min-width: 0 !important;
}

#view-home .rx-home-table-graphic-card {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer !important;
  line-height: 0 !important;
  justify-self: center !important;
  align-self: start !important;
  transition: transform 0.18s ease !important;
}

#view-home .rx-home-table-graphic-card:hover,
#view-home .rx-home-table-graphic-card:focus-visible {
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  transform: translateY(-3px) !important;
}

#view-home .rx-home-table-graphic-card img {
  display: block !important;
  width: 100% !important;
  max-width: 300px !important;
  height: auto !important;
  margin: 0 auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

@media (max-width: 1180px) {
  #view-home #homeTableGrid.home-table-grid,
  #homeTableGrid.rx-compact-table-row,
  #view-home .rx-live-poker-row .home-table-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 860px) {
  #view-home #homeTableGrid.home-table-grid,
  #homeTableGrid.rx-compact-table-row,
  #view-home .rx-live-poker-row .home-table-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  #view-home .rx-home-table-graphic-card img {
    max-width: 280px !important;
  }
}

@media (max-width: 560px) {
  #view-home #homeTableGrid.home-table-grid,
  #homeTableGrid.rx-compact-table-row,
  #view-home .rx-live-poker-row .home-table-grid {
    grid-template-columns: 1fr !important;
  }

  #view-home .rx-home-table-graphic-card img {
    max-width: 320px !important;
  }
}


/* === RiverX poker full-home-card no-crop fix === */

#view-home .rx-home-table-graphic-card {
  overflow: visible !important;
}

#view-home .rx-home-table-graphic-card img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center top !important;
  overflow: visible !important;
  image-rendering: auto !important;
}


/* === RiverX poker home transparent graphics v5 === */

#view-home .rx-live-poker-row,
#view-home #homeTableGrid,
#view-home #homeTableGrid > *,
#view-home .rx-home-table-graphic-card {
  background: transparent !important;
  box-shadow: none !important;
}

#view-home .rx-home-table-graphic-card img {
  background: transparent !important;
  object-fit: contain !important;
  object-position: center center !important;
}

/* === RiverX poker-first home focus update ===
   Poker tables are the main focus on the home screen. Other games stay visible,
   but are visually secondary and less dominant. */
#view-home .rx-dashboard-home {
  max-width: 1380px !important;
}

#view-home .rx-poker-main-focus-row {
  max-width: 1340px !important;
  margin: 20px auto 28px !important;
  padding: 18px 18px 22px !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(150, 79, 255, 0.14), transparent 52%),
    linear-gradient(180deg, rgba(10, 15, 27, 0.62), rgba(4, 6, 12, 0.18)) !important;
  border: 1px solid rgba(179, 126, 255, 0.16) !important;
  box-shadow: 0 22px 70px rgba(0, 0, 0, 0.28) !important;
}

#view-home .rx-poker-main-focus-row .rx-lobby-row-heading {
  justify-content: center !important;
  text-align: center !important;
  margin-bottom: 18px !important;
  position: relative !important;
}

#view-home .rx-poker-main-focus-row .rx-lobby-row-heading h2 {
  font-size: clamp(1.35rem, 2.25vw, 2.15rem) !important;
  letter-spacing: -0.035em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  text-shadow: 0 0 24px rgba(169, 97, 255, 0.38) !important;
}

#view-home .rx-poker-main-focus-row .rx-lobby-row-heading h2 span {
  font-size: 1.15em !important;
  color: #f6d37a !important;
}

#view-home .rx-poker-main-focus-row .rx-view-all {
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  opacity: 0.9 !important;
}

#view-home .rx-poker-main-focus-row #homeTableGrid.home-table-grid,
#view-home .rx-poker-main-focus-row .home-table-grid,
#homeTableGrid.rx-compact-table-row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  max-width: 1320px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
}

#view-home .rx-poker-main-focus-row .rx-home-table-graphic-card {
  justify-self: center !important;
  width: 100% !important;
  max-width: 315px !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  overflow: visible !important;
}

#view-home .rx-poker-main-focus-row .rx-home-table-graphic-card img {
  width: 100% !important;
  max-width: 315px !important;
  height: auto !important;
  object-fit: contain !important;
  background: transparent !important;
  filter: saturate(1.05) contrast(1.03) !important;
}

#view-home .rx-poker-main-focus-row .rx-home-table-graphic-card:hover img,
#view-home .rx-poker-main-focus-row .rx-home-table-graphic-card:focus-visible img {
  filter: saturate(1.1) contrast(1.06) brightness(1.04) !important;
}

/* Make non-poker content more nonchalant while keeping it visible and clickable. */
#view-home .rx-secondary-lobby-row {
  max-width: 1180px !important;
  margin: 18px auto 24px !important;
  opacity: 0.72 !important;
  transition: opacity 0.18s ease !important;
}

#view-home .rx-secondary-lobby-row:hover,
#view-home .rx-secondary-lobby-row:focus-within {
  opacity: 0.92 !important;
}

#view-home .rx-secondary-lobby-row .rx-lobby-row-heading {
  margin-bottom: 10px !important;
}

#view-home .rx-secondary-lobby-row .rx-lobby-row-heading h2 {
  font-size: 0.96rem !important;
  color: rgba(238, 246, 255, 0.82) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

#view-home .rx-secondary-lobby-row .rx-view-all {
  opacity: 0.7 !important;
}

/* Promotions stay present but less dominant. */
#view-home .rx-promotions-row .rx-promo-strip {
  grid-template-columns: repeat(3, minmax(220px, 1fr)) !important;
  gap: 12px !important;
}

#view-home .rx-promotions-row .rx-promo-card {
  min-height: 82px !important;
  padding: 12px 14px !important;
  border-radius: 9px !important;
  box-shadow: none !important;
}

#view-home .rx-promotions-row .rx-promo-card span {
  font-size: 0.62rem !important;
  margin-bottom: 4px !important;
}

#view-home .rx-promotions-row .rx-promo-card strong {
  font-size: clamp(0.86rem, 1.2vw, 1.08rem) !important;
  line-height: 1.05 !important;
}

#view-home .rx-promotions-row .rx-promo-card em {
  font-size: 0.68rem !important;
}

@media (max-width: 1180px) {
  #view-home .rx-poker-main-focus-row #homeTableGrid.home-table-grid,
  #view-home .rx-poker-main-focus-row .home-table-grid,
  #homeTableGrid.rx-compact-table-row {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  #view-home .rx-poker-main-focus-row .rx-home-table-graphic-card,
  #view-home .rx-poker-main-focus-row .rx-home-table-graphic-card img {
    max-width: 300px !important;
  }
}

@media (max-width: 860px) {
  #view-home .rx-poker-main-focus-row {
    padding: 14px 12px 18px !important;
  }

  #view-home .rx-poker-main-focus-row #homeTableGrid.home-table-grid,
  #view-home .rx-poker-main-focus-row .home-table-grid,
  #homeTableGrid.rx-compact-table-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  #view-home .rx-poker-main-focus-row .rx-lobby-row-heading .rx-view-all {
    position: static !important;
    transform: none !important;
  }

  #view-home .rx-poker-main-focus-row .rx-lobby-row-heading {
    justify-content: space-between !important;
    text-align: left !important;
  }

  #view-home .rx-promotions-row .rx-promo-strip {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 560px) {
  #view-home .rx-poker-main-focus-row #homeTableGrid.home-table-grid,
  #view-home .rx-poker-main-focus-row .home-table-grid,
  #homeTableGrid.rx-compact-table-row {
    grid-template-columns: 1fr !important;
  }

  #view-home .rx-poker-main-focus-row .rx-home-table-graphic-card,
  #view-home .rx-poker-main-focus-row .rx-home-table-graphic-card img {
    max-width: 330px !important;
  }

}

/* === RiverX backend admin login panel update === */
.admin-login-panel {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px) !important;
  gap: 18px !important;
  align-items: start !important;
  margin: 18px 0 22px !important;
  padding: 20px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  background:
    radial-gradient(circle at 16% 0%, rgba(154, 91, 255, 0.18), transparent 36%),
    linear-gradient(180deg, rgba(12, 18, 34, 0.94), rgba(5, 7, 15, 0.92)) !important;
  box-shadow: 0 20px 54px rgba(0,0,0,0.34) !important;
}

.admin-login-panel.is-hidden,
.admin-logout-btn.is-hidden {
  display: none !important;
}

.admin-login-panel h3 {
  margin: 4px 0 8px !important;
  color: #fff !important;
  font-size: clamp(1.35rem, 2.1vw, 2rem) !important;
}

.admin-login-panel p,
.admin-login-message {
  color: rgba(226, 236, 255, 0.76) !important;
  line-height: 1.5 !important;
}

.admin-login-form {
  display: grid !important;
  gap: 12px !important;
}

.admin-login-form label {
  display: grid !important;
  gap: 6px !important;
  color: rgba(226, 236, 255, 0.9) !important;
  font-weight: 800 !important;
}

.admin-login-form input {
  width: 100% !important;
  min-height: 46px !important;
  padding: 0 12px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(139, 169, 205, 0.32) !important;
  background: rgba(4, 8, 18, 0.72) !important;
  color: #fff !important;
  font-weight: 800 !important;
}

.admin-login-message {
  grid-column: 1 / -1 !important;
  padding: 10px 12px !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,0.045) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  font-size: 0.9rem !important;
}

.admin-login-message[data-tone="success"] {
  color: #baffd4 !important;
  border-color: rgba(78, 211, 122, 0.35) !important;
  background: rgba(42, 160, 88, 0.1) !important;
}

.admin-login-message[data-tone="error"] {
  color: #ffd0d0 !important;
  border-color: rgba(255, 92, 92, 0.35) !important;
  background: rgba(180, 40, 52, 0.12) !important;
}

#adminGrid.is-locked {
  display: none !important;
}

#view-admin .admin-command-actions button:disabled {
  opacity: 0.45 !important;
  cursor: not-allowed !important;
}

@media (max-width: 760px) {
  .admin-login-panel {
    grid-template-columns: 1fr !important;
  }
}


/* === RiverX luxury admin dashboard update === */
#view-admin {
  padding-bottom: 48px !important;
}

.admin-shell {
  display: grid !important;
  grid-template-columns: 280px minmax(0, 1fr) !important;
  gap: 24px !important;
  align-items: start !important;
  margin-top: 24px !important;
}

.admin-shell.is-locked {
  opacity: 0.88;
}

.admin-shell.is-locked .admin-dashboard-main {
  filter: grayscale(0.08) saturate(0.88);
}

.admin-sidebar-panel {
  position: sticky !important;
  top: 96px !important;
  padding: 20px !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, rgba(13, 16, 30, 0.96), rgba(11, 9, 24, 0.92)) !important;
  border: 1px solid rgba(197, 160, 74, 0.18) !important;
  box-shadow: 0 20px 44px rgba(0, 0, 0, 0.32) !important;
}

.admin-sidebar-brand h3 {
  margin: 6px 0 8px !important;
  font-size: 1.25rem !important;
  color: #fff !important;
}

.admin-sidebar-brand p,
.admin-sidebar-status-card small,
.admin-panel-section p,
.admin-support-copy {
  color: rgba(225, 228, 240, 0.74) !important;
}

.admin-sidebar-nav {
  display: grid !important;
  gap: 10px !important;
  margin: 18px 0 22px !important;
}

.admin-sidebar-link {
  width: 100% !important;
  text-align: left !important;
  padding: 12px 14px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  background: rgba(255,255,255,0.03) !important;
  color: #edf0ff !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease !important;
}

.admin-sidebar-link:hover,
.admin-sidebar-link.is-active {
  transform: translateX(2px) !important;
  border-color: rgba(197, 160, 74, 0.44) !important;
  background: linear-gradient(90deg, rgba(120, 58, 196, 0.25), rgba(197, 160, 74, 0.14)) !important;
}

.admin-sidebar-status-card,
.admin-surface-card,
.admin-stat-card {
  border-radius: 22px !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  background: linear-gradient(180deg, rgba(15, 18, 34, 0.95), rgba(10, 11, 23, 0.92)) !important;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.26) !important;
}

.admin-sidebar-status-card {
  padding: 16px !important;
}

.admin-sidebar-status-card strong {
  display: block !important;
  margin: 6px 0 !important;
  color: #fff !important;
}

.admin-dashboard-main {
  display: grid !important;
  gap: 22px !important;
}

.admin-panel-section {
  padding: 22px !important;
  border-radius: 26px !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  background:
    radial-gradient(circle at top right, rgba(153, 87, 255, 0.12), transparent 35%),
    radial-gradient(circle at top left, rgba(197, 160, 74, 0.08), transparent 28%),
    linear-gradient(180deg, rgba(14, 17, 31, 0.98), rgba(9, 10, 20, 0.96)) !important;
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.3) !important;
}

.admin-section-head,
.admin-card-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 14px !important;
}

.admin-section-head h3,
.admin-card-head h4 {
  margin: 4px 0 6px !important;
  color: #fff !important;
}

.admin-inline-actions,
.admin-section-head-actions,
.admin-export-actions,
.admin-profile-actions,
.admin-stack-actions {
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.admin-form-stack {
  flex-direction: column !important;
  margin-bottom: 14px !important;
}

.admin-search-input,
.admin-user-select,
.admin-notes-textarea {
  width: 100% !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  background: rgba(255,255,255,0.04) !important;
  color: #fff !important;
  padding: 12px 14px !important;
}

.admin-search-input {
  min-width: 260px !important;
}

.admin-user-select {
  min-width: 220px !important;
}

.admin-notes-textarea {
  min-height: 110px !important;
  resize: vertical !important;
}

.admin-stat-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 18px !important;
}

.admin-cashier-stat-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

.admin-stat-card {
  padding: 18px !important;
}

.admin-stat-card span {
  display: block !important;
  color: rgba(230, 234, 244, 0.72) !important;
  font-size: 0.82rem !important;
  margin-bottom: 10px !important;
}

.admin-stat-card strong {
  display: block !important;
  color: #fff !important;
  font-size: clamp(1.35rem, 1.9vw, 2rem) !important;
  margin-bottom: 8px !important;
}

.admin-stat-card small {
  color: rgba(225, 228, 240, 0.64) !important;
}

.admin-two-col {
  display: grid !important;
  grid-template-columns: 1.18fr 1fr !important;
  gap: 16px !important;
  margin-top: 16px !important;
}

.admin-poker-layout {
  grid-template-columns: 1.2fr 0.8fr !important;
}

.admin-security-layout {
  grid-template-columns: 1fr 1fr !important;
}

.admin-surface-card {
  padding: 18px !important;
}

.admin-badge,
.security-mode-badge,
.audit-retention-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 32px !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  font-size: 0.74rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  color: #fdf5d8 !important;
  border: 1px solid rgba(197, 160, 74, 0.22) !important;
  background: rgba(197, 160, 74, 0.12) !important;
}

.admin-badge-danger {
  color: #ffd6dc !important;
  border-color: rgba(255, 99, 132, 0.26) !important;
  background: rgba(255, 99, 132, 0.12) !important;
}

.admin-badge-gold {
  color: #ffe7a8 !important;
}

.admin-highlight-stack,
.admin-list-panel,
.admin-log-panel,
.admin-table-list-panel,
.backup-panel,
.incident-panel {
  display: grid !important;
  gap: 10px !important;
  margin-top: 12px !important;
}

.admin-highlight-item,
.admin-list-item,
.admin-mini-row,
.backup-row,
.audit-row,
.incident-row,
.admin-table-row,
.admin-profile-meta > div,
.admin-report-bar-row,
.admin-device-row {
  display: flex !important;
  justify-content: space-between !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 11px 12px !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
}

.admin-profile-panel {
  display: grid !important;
  gap: 14px !important;
  margin-top: 10px !important;
}

.admin-profile-name {
  font-size: 1.18rem !important;
  font-weight: 800 !important;
  color: #fff !important;
}

.admin-profile-meta {
  display: grid !important;
  gap: 10px !important;
}

.admin-profile-meta span,
.admin-profile-meta strong,
.admin-table th,
.admin-table td,
.admin-list-item span,
.admin-list-item strong,
.audit-row span,
.audit-row strong,
.audit-row em,
.audit-row small,
.backup-row span,
.backup-row strong,
.incident-row span,
.incident-row strong,
.incident-row small,
.fraud-alert-row span,
.fraud-alert-row strong,
.fraud-alert-row small,
.security-list span,
.security-list strong,
.admin-device-row span,
.admin-device-row strong {
  color: #eef2ff !important;
}

.admin-profile-actions,
.admin-stack-actions {
  margin-top: 12px !important;
}

.admin-users-panel-compact {
  margin-top: 14px !important;
  max-height: 240px !important;
  overflow: auto !important;
}

.admin-table-wrap {
  overflow: auto !important;
  margin-top: 12px !important;
}

.admin-table {
  width: 100% !important;
  border-collapse: collapse !important;
  min-width: 640px !important;
}

.admin-table thead th {
  text-align: left !important;
  padding: 12px 10px !important;
  font-size: 0.76rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: rgba(226, 231, 245, 0.62) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}

.admin-table tbody td {
  padding: 12px 10px !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  vertical-align: top !important;
}

.admin-table tbody tr:hover {
  background: rgba(255,255,255,0.025) !important;
}

.admin-status-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 5px 10px !important;
  border-radius: 999px !important;
  font-size: 0.74rem !important;
  text-transform: capitalize !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
}

.admin-status-pill[data-tone="success"] { color: #8bf6be !important; border-color: rgba(46, 204, 113, 0.22) !important; background: rgba(46, 204, 113, 0.08) !important; }
.admin-status-pill[data-tone="warning"] { color: #ffdd89 !important; border-color: rgba(255, 193, 7, 0.22) !important; background: rgba(255, 193, 7, 0.08) !important; }
.admin-status-pill[data-tone="danger"] { color: #ffb0be !important; border-color: rgba(255, 99, 132, 0.26) !important; background: rgba(255, 99, 132, 0.1) !important; }
.admin-status-pill[data-tone="neutral"] { color: #d8def8 !important; }

.admin-game-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 18px !important;
}

.admin-game-card {
  padding: 18px !important;
  border-radius: 20px !important;
  background: linear-gradient(180deg, rgba(23, 26, 44, 0.96), rgba(11, 13, 23, 0.94)) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  display: grid !important;
  gap: 12px !important;
}

.admin-game-top {
  display: flex !important;
  justify-content: space-between !important;
  gap: 10px !important;
}

.admin-game-icon {
  font-size: 1.2rem !important;
}

.admin-game-card h4 {
  margin: 6px 0 4px !important;
  color: #fff !important;
}

.admin-game-card p {
  margin: 0 !important;
  font-size: 0.9rem !important;
}

.admin-game-meta {
  display: grid !important;
  gap: 8px !important;
}

.admin-game-toggle {
  margin-top: auto !important;
}

.admin-report-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin-top: 16px !important;
}

.admin-report-bars {
  display: grid !important;
  gap: 12px !important;
  margin-top: 12px !important;
}

.admin-report-bar-row {
  display: grid !important;
  grid-template-columns: 130px minmax(0, 1fr) auto !important;
  gap: 12px !important;
  align-items: center !important;
}

.admin-report-bar-track {
  position: relative !important;
  height: 10px !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  background: rgba(255,255,255,0.08) !important;
}

.admin-report-bar-fill {
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #7c3aed, #d4af37) !important;
}

.admin-legacy-compat {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
}

.security-list,
.fraud-alert-panel,
.admin-cashier-panel {
  margin-top: 12px !important;
}

.admin-three-stack {
  display: grid !important;
  gap: 18px !important;
}

.admin-device-row,
.fraud-alert-row,
.audit-row,
.incident-row,
.backup-row {
  align-items: start !important;
}

.admin-table-row strong,
.admin-highlight-item strong,
.admin-list-item strong,
.admin-device-row strong {
  color: #fff !important;
}

.admin-table-row small,
.audit-row small,
.incident-row small,
.fraud-alert-row small,
.admin-highlight-item small,
.admin-list-item small,
.admin-device-row small {
  color: rgba(225, 228, 240, 0.68) !important;
}

@media (max-width: 1280px) {
  .admin-shell {
    grid-template-columns: 1fr !important;
  }
  .admin-sidebar-panel {
    position: static !important;
  }
  .admin-game-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .admin-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .admin-cashier-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 920px) {
  .admin-two-col,
  .admin-report-grid {
    grid-template-columns: 1fr !important;
  }
  .admin-stat-grid,
  .admin-cashier-stat-grid,
  .admin-game-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .admin-section-head,
  .admin-card-head {
    flex-direction: column !important;
  }
}

@media (max-width: 600px) {
  .admin-panel-section,
  .admin-sidebar-panel,
  .admin-surface-card,
  .admin-stat-card {
    padding: 16px !important;
  }
  .admin-stat-grid,
  .admin-cashier-stat-grid,
  .admin-game-grid {
    grid-template-columns: 1fr !important;
  }
  .admin-inline-actions,
  .admin-export-actions,
  .admin-profile-actions,
  .admin-stack-actions {
    flex-direction: column !important;
  }
  .admin-search-input,
  .admin-user-select {
    min-width: 0 !important;
  }
}


/* === RiverX luxury auth gate update === */
.rx-auth-top-actions {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
}

.rx-auth-btn {
  min-height: 44px !important;
  padding: 0 20px !important;
  border-radius: 8px !important;
  font-weight: 900 !important;
  letter-spacing: -0.01em !important;
  cursor: pointer !important;
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease !important;
}

.rx-auth-login-btn {
  color: #ffffff !important;
  background: rgba(13, 18, 31, 0.72) !important;
  border: 1px solid rgba(255,255,255,0.72) !important;
}

.rx-auth-register-btn {
  color: #ffffff !important;
  background: linear-gradient(135deg, #38d471, #4cc66d) !important;
  border: 1px solid rgba(111, 255, 168, 0.28) !important;
  box-shadow: 0 10px 28px rgba(61, 205, 111, 0.2) !important;
}

.rx-auth-admin-btn {
  color: #ffe8a6 !important;
  background: linear-gradient(135deg, rgba(18, 12, 8, 0.94), rgba(58, 35, 4, 0.58)) !important;
  border: 1px solid rgba(213, 171, 74, 0.55) !important;
}

.rx-auth-btn:hover,
.rx-auth-btn:focus-visible {
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.28) !important;
}

body.rx-logged-out #view-home .rx-home-table-graphic-card,
body.rx-logged-out #view-home .topbar-balance,
body.rx-logged-out #view-home [data-route="lobby"],
body.rx-logged-out #view-home [data-route^="table"] {
  position: relative !important;
}

body.rx-logged-out #view-home .rx-home-table-graphic-card::after {
  content: "🔒" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 44px !important;
  height: 44px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: rgba(3, 7, 15, 0.76) !important;
  border: 1px solid rgba(212, 175, 55, 0.38) !important;
  color: #ffe8a6 !important;
  z-index: 5 !important;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.4) !important;
  pointer-events: none !important;
}

body.rx-auth-modal-open {
  overflow: hidden !important;
}

.rx-auth-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 10000 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
}

.rx-auth-overlay.is-open {
  display: flex !important;
}

.rx-auth-backdrop {
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(circle at 50% 12%, rgba(122, 58, 188, 0.16), transparent 42%),
    rgba(4, 7, 14, 0.82) !important;
  backdrop-filter: blur(7px) saturate(0.9) !important;
}

.rx-auth-modal {
  position: relative !important;
  z-index: 2 !important;
  width: min(920px, 96vw) !important;
  max-height: min(760px, 92vh) !important;
  overflow: auto !important;
  display: grid !important;
  grid-template-columns: minmax(320px, 0.92fr) minmax(360px, 1fr) !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, #0a0f18, #060912) !important;
  border: 1px solid rgba(220, 177, 77, 0.32) !important;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.58), 0 0 40px rgba(124, 58, 237, 0.16) !important;
  color: #ffffff !important;
}

.rx-auth-close {
  position: absolute !important;
  right: 14px !important;
  top: 12px !important;
  z-index: 4 !important;
  width: 34px !important;
  height: 34px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: rgba(255,255,255,0.88) !important;
  font-size: 28px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

.rx-auth-visual-panel {
  min-height: 540px !important;
  padding: 38px 42px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  background:
    radial-gradient(circle at 50% 28%, rgba(168, 85, 247, 0.42), transparent 33%),
    linear-gradient(135deg, rgba(80, 35, 108, 0.66), rgba(7, 10, 18, 0.94) 58%),
    repeating-linear-gradient(135deg, rgba(255,255,255,0.04) 0 1px, transparent 1px 64px) !important;
  border-right: 1px solid rgba(255,255,255,0.07) !important;
}

.rx-auth-emblem-stage {
  display: grid !important;
  place-items: center !important;
  min-height: 320px !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 50% 70%, rgba(147, 51, 234, 0.5), transparent 34%),
    radial-gradient(circle at 50% 42%, rgba(255, 211, 107, 0.14), transparent 32%) !important;
}

.rx-auth-emblem {
  width: 210px !important;
  height: 210px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  color: #f7d16a !important;
  font-size: 5.5rem !important;
  font-weight: 1000 !important;
  letter-spacing: -0.16em !important;
  text-shadow: 0 0 28px rgba(255, 214, 115, 0.42) !important;
  background:
    radial-gradient(circle at 40% 35%, rgba(255,255,255,0.16), transparent 22%),
    linear-gradient(135deg, #17111f, #0b0d16) !important;
  border: 5px solid rgba(214, 171, 74, 0.88) !important;
  box-shadow: 0 24px 60px rgba(0,0,0,0.45), 0 0 48px rgba(138, 43, 226, 0.56), inset 0 0 30px rgba(255,255,255,0.05) !important;
}

.rx-auth-emblem span {
  color: #a855f7 !important;
  transform: translateX(-10px) !important;
}

.rx-auth-visual-copy h2 {
  margin: 0 0 18px !important;
  color: #ffffff !important;
  font-size: clamp(2rem, 3vw, 3rem) !important;
  line-height: 1.03 !important;
  letter-spacing: -0.05em !important;
}

.rx-auth-visual-copy h2 span {
  color: #a855f7 !important;
}

.rx-auth-visual-copy h2 em {
  color: #f4c85c !important;
  font-style: normal !important;
}

.rx-auth-visual-copy p {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  max-width: 310px !important;
  color: rgba(236, 240, 255, 0.74) !important;
}

.rx-auth-visual-copy p strong {
  display: grid !important;
  place-items: center !important;
  width: 34px !important;
  height: 34px !important;
  flex: 0 0 auto !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(212, 175, 55, 0.28) !important;
}

.rx-auth-visual-copy p strong.rx-auth-lock-badge {
  overflow: hidden !important;
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  min-height: 30px !important;
  position: relative !important;
}

.rx-auth-visual-copy p strong.rx-auth-lock-badge::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  margin: auto !important;
  width: 16px !important;
  height: 16px !important;
  background: url("../img/riverx-auth-bottom-lock-small.png") center center / contain no-repeat !important;
  filter: drop-shadow(0 0 4px rgba(168, 85, 247, 0.28)) !important;
}

.rx-auth-form-panel {
  padding: 40px 44px 34px !important;
  background: linear-gradient(180deg, rgba(10, 14, 23, 0.98), rgba(6, 9, 16, 0.98)) !important;
}

.rx-auth-tabs {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 !important;
  margin-bottom: 24px !important;
  border-bottom: 1px solid rgba(255,255,255,0.1) !important;
}

.rx-auth-tab {
  padding: 0 0 15px !important;
  border: 0 !important;
  background: transparent !important;
  color: rgba(255,255,255,0.58) !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  position: relative !important;
}

.rx-auth-tab.is-active {
  color: #ffffff !important;
}

.rx-auth-tab.is-active::after {
  content: "" !important;
  position: absolute !important;
  height: 2px !important;
  left: 14% !important;
  right: 14% !important;
  bottom: -1px !important;
  background: linear-gradient(90deg, #7c3aed, #d946ef) !important;
  box-shadow: 0 0 14px rgba(168, 85, 247, 0.8) !important;
}

.rx-auth-form {
  display: none !important;
  gap: 17px !important;
}

.rx-auth-form.is-active {
  display: grid !important;
}

.rx-auth-form label {
  display: grid !important;
  gap: 8px !important;
  color: #ffffff !important;
  font-weight: 850 !important;
  font-size: 0.9rem !important;
}

.rx-auth-input-wrap {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) auto !important;
  align-items: center !important;
  min-height: 54px !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 6px !important;
  background: #0c1320 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04) !important;
  overflow: hidden !important;
}

.rx-auth-input-wrap span {
  text-align: center !important;
  color: rgba(255,255,255,0.66) !important;
}

.rx-auth-input-wrap input {
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  outline: none !important;
  background: transparent !important;
  color: #ffffff !important;
  font-weight: 700 !important;
}

.rx-auth-input-wrap input::placeholder,
.rx-referral-input::placeholder {
  color: rgba(210, 221, 238, 0.58) !important;
}

.rx-password-toggle {
  margin-right: 10px !important;
  border: 0 !important;
  background: transparent !important;
  color: rgba(255,255,255,0.58) !important;
  cursor: pointer !important;
}

.rx-referral-box {
  display: grid !important;
  gap: 0 !important;
}

.rx-referral-toggle {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  border: 0 !important;
  background: transparent !important;
  color: #ffffff !important;
  padding: 0 0 7px !important;
  font-weight: 900 !important;
  text-align: left !important;
  cursor: pointer !important;
}

.rx-referral-toggle strong {
  color: rgba(255,255,255,0.86) !important;
  font-size: 0.8rem !important;
}

.rx-referral-input {
  display: none !important;
  width: 100% !important;
  min-height: 48px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #2d465f !important;
  color: #ffffff !important;
  padding: 0 14px !important;
  outline: none !important;
  font-weight: 800 !important;
}

.rx-referral-box.is-open .rx-referral-input {
  display: block !important;
}

.rx-auth-check {
  display: flex !important;
  grid-template-columns: none !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  color: rgba(255,255,255,0.86) !important;
  font-size: 0.84rem !important;
}

.rx-auth-check input {
  width: 17px !important;
  height: 17px !important;
  accent-color: #8b5cf6 !important;
}

.rx-auth-check a {
  color: #b35cff !important;
  text-decoration: none !important;
}

.rx-auth-submit {
  min-height: 58px !important;
  border: 0 !important;
  border-radius: 7px !important;
  color: #ffffff !important;
  font-weight: 1000 !important;
  font-size: 1rem !important;
  background: linear-gradient(135deg, #b348f5, #6d28d9) !important;
  box-shadow: 0 14px 34px rgba(124, 58, 237, 0.32), inset 0 1px 0 rgba(255,255,255,0.2) !important;
  cursor: pointer !important;
}

.rx-auth-submit span {
  margin-left: 8px !important;
}

.rx-auth-secure-note {
  margin: 0 !important;
  text-align: center !important;
  color: rgba(231, 235, 246, 0.68) !important;
  font-size: 0.82rem !important;
}

.rx-auth-message {
  margin-top: 16px !important;
  min-height: 24px !important;
  color: rgba(255,255,255,0.78) !important;
}

.rx-auth-message[data-tone="error"] {
  color: #ffb4c2 !important;
}

.rx-auth-message[data-tone="success"] {
  color: #8bf6be !important;
}

@media (max-width: 900px) {
  .rx-auth-modal {
    grid-template-columns: 1fr !important;
    width: min(560px, 96vw) !important;
  }

  .rx-auth-visual-panel {
    min-height: 320px !important;
    padding: 28px !important;
  }

  .rx-auth-emblem-stage {
    min-height: 190px !important;
  }

  .rx-auth-emblem {
    width: 150px !important;
    height: 150px !important;
    font-size: 4rem !important;
  }

  .rx-auth-form-panel {
    padding: 30px 24px !important;
  }
}

@media (max-width: 620px) {
  .rx-auth-top-actions {
    justify-content: center !important;
  }

  .rx-auth-btn {
    flex: 1 1 130px !important;
  }

  .rx-auth-overlay {
    padding: 12px !important;
  }

  .rx-auth-visual-copy h2 {
    font-size: 2rem !important;
  }
}


/* === RiverX signup image usage update === */
.rx-auth-visual-panel {
  background:
    radial-gradient(circle at 50% 18%, rgba(174, 89, 255, 0.26), transparent 30%),
    linear-gradient(135deg, rgba(36, 19, 51, 0.98), rgba(7, 10, 18, 0.98) 64%),
    repeating-linear-gradient(135deg, rgba(255,255,255,0.035) 0 1px, transparent 1px 64px) !important;
}

.rx-auth-logo-stage {
  display: grid !important;
  place-items: center !important;
  min-height: 336px !important;
  padding: 18px !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 50% 58%, rgba(126, 58, 242, 0.34), transparent 42%),
    radial-gradient(circle at 50% 34%, rgba(255, 220, 140, 0.10), transparent 30%),
    linear-gradient(180deg, rgba(17, 12, 28, 0.70), rgba(8, 11, 18, 0.15)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 18px 40px rgba(0, 0, 0, 0.22) !important;
}

.rx-auth-logo-image {
  display: block !important;
  width: min(100%, 400px) !important;
  max-height: 345px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 24px 40px rgba(0,0,0,0.42));
}

.rx-auth-visual-copy {
  padding-top: 8px !important;
}

.rx-auth-visual-copy p {
  max-width: 360px !important;
}

@media (max-width: 900px) {
  .rx-auth-logo-stage {
    min-height: 220px !important;
    padding: 10px !important;
  }

  .rx-auth-logo-image {
    max-height: 220px !important;
    width: min(100%, 320px) !important;
  }
}


/* === RiverX auth logo transparent background fix === */
.rx-auth-logo-stage,
.rx-auth-logo-image {
  background: transparent !important;
}

.rx-auth-logo-image {
  object-fit: contain !important;
}


/* === RiverX auth visual cleanup: remove bottom lock line and tighten logo crop === */
.rx-auth-visual-copy {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}

.rx-auth-visual-copy p {
  display: none !important;
}

.rx-auth-logo-image {
  width: min(100%, 360px) !important;
  max-height: 320px !important;
}

@media (max-width: 900px) {
  .rx-auth-logo-image {
    width: min(100%, 300px) !important;
    max-height: 240px !important;
  }
}


/* === RiverX signup logo thorough transparency cleanup === */
.rx-auth-logo-stage {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

.rx-auth-logo-image {
  background: transparent !important;
  mix-blend-mode: normal !important;
  isolation: isolate !important;
  filter: drop-shadow(0 18px 32px rgba(0,0,0,0.30)) !important;
  image-rendering: auto !important;
}


/* === RiverX exact signup graphic replacement === */
.rx-auth-logo-stage {
  background: none !important;
  background-image: none !important;
  box-shadow: none !important;
  border: none !important;
  min-height: auto !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.rx-auth-logo-image {
  background: transparent !important;
  width: min(100%, 420px) !important;
  max-height: 360px !important;
  object-fit: contain !important;
  border: none !important;
  box-shadow: none !important;
  filter: drop-shadow(0 16px 30px rgba(0,0,0,0.28)) !important;
}

@media (max-width: 900px) {
  .rx-auth-logo-stage {
    min-height: auto !important;
    padding: 0 !important;
  }
  .rx-auth-logo-image {
    width: min(100%, 320px) !important;
    max-height: 280px !important;
  }
}


/* === Register form styling refresh to match simpler RiverX reference === */
.rx-auth-form-panel {
  background: linear-gradient(180deg, rgba(7, 12, 22, 0.98), rgba(5, 9, 18, 0.99)) !important;
}

.rx-auth-form {
  gap: 14px !important;
}

.rx-auth-form label {
  gap: 7px !important;
  font-size: 0.94rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

.rx-auth-input-wrap {
  grid-template-columns: minmax(0, 1fr) auto !important;
  min-height: 48px !important;
  border-radius: 4px !important;
  border: 1px solid rgba(127, 154, 191, 0.12) !important;
  background: #354b63 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.rx-auth-input-wrap span {
  display: none !important;
}

.rx-auth-input-wrap input {
  background: transparent !important;
  color: #ffffff !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  padding: 13px 16px !important;
}

.rx-auth-input-wrap input::placeholder,
.rx-referral-input::placeholder {
  color: rgba(221, 231, 246, 0.82) !important;
  opacity: 1 !important;
}

.rx-auth-input-wrap:focus-within,
.rx-referral-input:focus {
  border-color: rgba(170, 105, 255, 0.58) !important;
  box-shadow: 0 0 0 1px rgba(170, 105, 255, 0.28) !important;
}

.rx-password-toggle {
  margin-right: 10px !important;
  width: 30px !important;
  height: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: rgba(236, 240, 248, 0.72) !important;
  font-size: 0.9rem !important;
  opacity: 0.85 !important;
}

.rx-referral-box {
  gap: 8px !important;
}

.rx-referral-toggle {
  padding: 0 !important;
  color: #ffffff !important;
  font-size: 0.94rem !important;
  font-weight: 800 !important;
}

.rx-referral-toggle strong {
  font-size: 0.8rem !important;
  color: rgba(236, 240, 248, 0.82) !important;
}

.rx-referral-input {
  min-height: 36px !important;
  border: 1px solid rgba(127, 154, 191, 0.12) !important;
  border-radius: 2px !important;
  background: #3a516b !important;
  color: #ffffff !important;
  padding: 9px 12px !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
}

.rx-auth-check {
  gap: 8px !important;
  color: #ffffff !important;
  font-size: 0.86rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

.rx-auth-check input {
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}

.rx-auth-check a {
  color: #b56cff !important;
}

.rx-auth-submit {
  min-height: 42px !important;
  border-radius: 6px !important;
  font-size: 1rem !important;
  font-weight: 900 !important;
  background: linear-gradient(135deg, #b955ff, #7a35e8) !important;
  box-shadow: none !important;
}

.rx-auth-secure-note {
  margin-top: 2px !important;
  color: rgba(233, 238, 246, 0.75) !important;
  font-size: 0.83rem !important;
}

@media (max-width: 620px) {
  .rx-auth-form-panel {
    padding: 24px 18px 22px !important;
  }

  .rx-auth-form {
    gap: 12px !important;
  }

  .rx-auth-form label,
  .rx-referral-toggle {
    font-size: 0.9rem !important;
  }

  .rx-auth-input-wrap {
    min-height: 46px !important;
  }

  .rx-auth-input-wrap input {
    padding: 12px 14px !important;
    font-size: 0.92rem !important;
  }

  .rx-auth-submit {
    min-height: 40px !important;
    font-size: 0.96rem !important;
  }
}


/* === Remove register/login input icons and secure-note row per latest auth cleanup === */
.rx-auth-input-wrap {
  display: flex !important;
  align-items: center !important;
  grid-template-columns: none !important;
}

.rx-auth-input-wrap span {
  display: none !important;
}

.rx-auth-input-wrap input {
  flex: 1 1 auto !important;
  padding: 0 14px !important;
}

.rx-password-toggle {
  flex: 0 0 auto !important;
  margin-right: 10px !important;
}

.rx-auth-secure-note {
  display: none !important;
}


/* === Make login/register input boxes fully typeable across the whole field === */
.rx-auth-input-wrap {
  position: relative !important;
  display: block !important;
  min-height: 54px !important;
  width: 100% !important;
  padding: 0 !important;
  cursor: text !important;
}

.rx-auth-input-wrap input {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 14px !important;
  box-sizing: border-box !important;
}

.rx-auth-input-wrap input[type="password"] {
  padding-right: 44px !important;
}

.rx-password-toggle {
  position: absolute !important;
  top: 50% !important;
  right: 10px !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  z-index: 2 !important;
}

.rx-auth-form label {
  width: 100% !important;
}

.rx-referral-input {
  box-sizing: border-box !important;
}


/* === RiverX auth form production and release readiness update === */
.rx-auth-form label {
  width: 100% !important;
  gap: 10px !important;
}

.rx-auth-field,
.rx-referral-input,
.rx-auth-password-row {
  width: 100% !important;
  height: 56px !important;
  min-height: 56px !important;
  border-radius: 8px !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  background: #0c1320 !important;
  color: #ffffff !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04) !important;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease !important;
  box-sizing: border-box !important;
}

.rx-auth-field,
.rx-referral-input {
  display: block !important;
  padding: 0 14px !important;
  outline: none !important;
  font-weight: 700 !important;
  line-height: 56px !important;
  box-sizing: border-box !important;
}

.rx-auth-password-row {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
}

.rx-auth-password-row .rx-auth-field {
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 46px 0 14px !important;
  line-height: 56px !important;
}

.rx-auth-field::placeholder,
.rx-referral-input::placeholder {
  color: rgba(210, 221, 238, 0.58) !important;
}

.rx-auth-field:hover,
.rx-referral-input:hover,
.rx-auth-password-row:hover {
  border-color: rgba(179, 92, 255, 0.28) !important;
}

.rx-auth-field:focus,
.rx-referral-input:focus,
.rx-auth-password-row:focus-within {
  border-color: rgba(179, 92, 255, 0.58) !important;
  background: #0e1728 !important;
  box-shadow: 0 0 0 3px rgba(123, 58, 237, 0.16), inset 0 1px 0 rgba(255,255,255,0.05) !important;
}

.rx-password-toggle {
  position: absolute !important;
  right: 10px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 28px !important;
  height: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  border-radius: 999px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: rgba(255,255,255,0.62) !important;
  z-index: 2 !important;
}

.rx-password-toggle:hover {
  color: #ffffff !important;
  background: rgba(255,255,255,0.06) !important;
}

.rx-password-toggle:focus-visible {
  outline: none !important;
  border-color: rgba(179, 92, 255, 0.56) !important;
  box-shadow: 0 0 0 3px rgba(123, 58, 237, 0.18) !important;
}

.rx-referral-box {
  gap: 8px !important;
}

.rx-referral-input {
  display: none !important;
}

.rx-referral-box.is-open .rx-referral-input {
  display: block !important;
}

.rx-auth-submit {
  transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease !important;
}

.rx-auth-submit:hover:not(:disabled) {
  transform: translateY(-1px) !important;
  box-shadow: 0 18px 40px rgba(124, 58, 237, 0.34), inset 0 1px 0 rgba(255,255,255,0.22) !important;
}

.rx-auth-submit:disabled {
  opacity: 0.55 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}

@media (max-width: 640px) {
  .rx-auth-field,
  .rx-referral-input,
  .rx-auth-password-row {
    height: 54px !important;
    min-height: 54px !important;
  }

  .rx-auth-field,
  .rx-referral-input,
  .rx-auth-password-row .rx-auth-field {
    line-height: 54px !important;
  }
}


/* === Auth field equal width final fix ===
   Make Display Name, Email, Password, and Referral/Promo Code identical width. */
.rx-auth-form,
.rx-auth-register-form,
.rx-auth-login-form {
  width: 100% !important;
}

.rx-auth-form label,
.rx-referral-box {
  width: 100% !important;
  max-width: none !important;
}

.rx-auth-field,
.rx-auth-password-row,
.rx-referral-input {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 56px !important;
  min-height: 56px !important;
  box-sizing: border-box !important;
  display: block !important;
  border-radius: 8px !important;
}

.rx-auth-password-row {
  display: flex !important;
  align-items: center !important;
}

.rx-auth-password-row .rx-auth-field {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
}

.rx-referral-box.is-open .rx-referral-input {
  display: block !important;
  width: 100% !important;
}

.rx-auth-form input:not([type="checkbox"]) {
  width: 100% !important;
  max-width: none !important;
}

@media (max-width: 640px) {
  .rx-auth-field,
  .rx-auth-password-row,
  .rx-referral-input {
    height: 54px !important;
    min-height: 54px !important;
  }
}


/* === RiverX reference-style polish update ===
   Make the RiverX home experience visually closer to the provided reference:
   cleaner slate-blue surfaces, flatter premium layout, refined spacing,
   modern buttons, and a more polished dashboard presentation while keeping
   RiverX content, structure, and branding unique. */
:root {
  --rx-ref-bg: #1f3041;
  --rx-ref-bg-deep: #182736;
  --rx-ref-panel: #24384b;
  --rx-ref-panel-2: #273d53;
  --rx-ref-panel-3: #2b4258;
  --rx-ref-border: rgba(182, 208, 233, 0.12);
  --rx-ref-border-strong: rgba(182, 208, 233, 0.18);
  --rx-ref-text: #eef4fb;
  --rx-ref-muted: #8ea2b7;
  --rx-ref-green: #58c86f;
  --rx-ref-green-2: #45b85e;
  --rx-ref-purple: #8e56ff;
  --rx-ref-gold: #eec768;
  --rx-ref-shadow: 0 18px 48px rgba(10, 18, 28, 0.28);
}

html, body {
  background: linear-gradient(180deg, #223346 0%, #203142 35%, #1e2e40 100%) !important;
}

body {
  color: var(--rx-ref-text) !important;
  background-image:
    radial-gradient(circle at 78% 5%, rgba(142, 86, 255, 0.10), transparent 24rem),
    radial-gradient(circle at 14% 0%, rgba(238, 199, 104, 0.05), transparent 18rem),
    linear-gradient(180deg, #223346 0%, #203142 35%, #1e2e40 100%) !important;
}

.bg-grid {
  opacity: 0.08 !important;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px) !important;
  background-size: 40px 40px !important;
}

.bg-orb {
  opacity: 0.12 !important;
  filter: blur(90px) !important;
}

.app-sidebar,
.app-sidebar.rx-clean-sidebar,
.rx-clean-sidebar {
  width: 184px !important;
  padding: 10px 8px 16px !important;
  background: linear-gradient(180deg, #223548 0%, #1c2b3b 100%) !important;
  border-right: 1px solid var(--rx-ref-border-strong) !important;
  box-shadow: 10px 0 28px rgba(13, 22, 32, 0.18) !important;
}

main {
  width: auto !important;
  max-width: none !important;
  margin: 0 24px 0 208px !important;
  padding: 16px 0 28px !important;
}

.rx-dashboard-home,
#view-home .rx-dashboard-home {
  max-width: 1180px !important;
  margin: 0 auto !important;
  gap: 16px !important;
}

.sidebar-brand-mini,
.rx-wordmark-side {
  height: 42px !important;
  margin: 0 4px 10px !important;
  padding: 0 10px !important;
  border-radius: 0 !important;
  border: 1px solid rgba(142, 86, 255, 0.20) !important;
  background: rgba(43, 25, 71, 0.28) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04) !important;
}

.rx-wordmark-side span {
  width: 24px !important;
  height: 24px !important;
  border-radius: 6px !important;
  background: linear-gradient(135deg, #8d56ff, #6a7cff) !important;
  border: 0 !important;
  color: white !important;
  box-shadow: none !important;
  font-size: 0.8rem !important;
}

.rx-wordmark-side strong {
  font-size: 1rem !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--rx-ref-text) !important;
}

.rx-clean-sidebar .sidebar-section,
.rx-clean-sidebar .rx-player-menu {
  border-top: 0 !important;
  padding: 2px 0 10px !important;
}

.rx-clean-sidebar button,
.app-sidebar button {
  min-height: 40px !important;
  padding: 9px 10px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  color: rgba(239, 246, 255, 0.88) !important;
  font-size: 0.9rem !important;
  font-weight: 800 !important;
  margin-bottom: 6px !important;
  transform: none !important;
  box-shadow: none !important;
}

.rx-clean-sidebar button:hover,
.rx-clean-sidebar button.active,
.app-sidebar button:hover,
.app-sidebar button.active {
  background: #2c4257 !important;
  border-color: rgba(88, 200, 111, 0.28) !important;
  color: #ffffff !important;
  transform: none !important;
  box-shadow: inset 3px 0 0 var(--rx-ref-green) !important;
}

.sidebar-test-note {
  margin: 10px 4px 0 !important;
  padding: 12px !important;
  background: rgba(255,255,255,0.025) !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  border-radius: 14px !important;
  color: var(--rx-ref-muted) !important;
  box-shadow: none !important;
}

.sidebar-test-note strong {
  color: var(--rx-ref-text) !important;
}

.rx-dashboard-topbar {
  min-height: 56px !important;
  margin: 0 0 12px !important;
  padding: 10px 14px !important;
  border-radius: 14px !important;
  border: 1px solid var(--rx-ref-border-strong) !important;
  background: linear-gradient(180deg, #24384b 0%, #213345 100%) !important;
  box-shadow: 0 10px 24px rgba(10,18,28,0.14) !important;
  backdrop-filter: none !important;
}

.rx-wordmark {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--rx-ref-text) !important;
  text-shadow: none !important;
  font-size: 1.05rem !important;
  letter-spacing: 0 !important;
  font-weight: 900 !important;
}

.rx-wordmark::before {
  content: "RX";
  width: 32px;
  height: 32px;
  display: inline-grid;
  place-items: center;
  border-radius: 8px;
  background: linear-gradient(135deg, #8d56ff, #5f7df7) !important;
  color: #fff;
  font-weight: 900;
  font-size: 0.86rem;
  box-shadow: 0 8px 18px rgba(95, 125, 247, 0.22);
}

.rx-wordmark span {
  color: #bf9aff !important;
}

.rx-top-actions {
  gap: 10px !important;
}

.rx-auth-btn {
  min-height: 36px !important;
  padding: 0 16px !important;
  border-radius: 6px !important;
  font-size: 0.88rem !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}

.rx-auth-login-btn {
  background: #213346 !important;
  border: 1px solid rgba(222, 235, 248, 0.42) !important;
  color: #ffffff !important;
}

.rx-auth-register-btn {
  background: linear-gradient(180deg, var(--rx-ref-green), var(--rx-ref-green-2)) !important;
  border: 1px solid rgba(130, 255, 156, 0.2) !important;
  color: #ffffff !important;
}

.rx-auth-admin-btn {
  background: #213346 !important;
  border: 1px solid rgba(190, 155, 255, 0.18) !important;
  color: #e7d7ff !important;
}

.rx-mini-wallet,
.topbar-balance,
.balance-pill {
  min-height: 36px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  background: #223649 !important;
  box-shadow: none !important;
  color: var(--rx-ref-text) !important;
}

.rx-lobby-category-tabs {
  gap: 8px !important;
  margin: 0 0 14px !important;
  padding: 0 0 2px !important;
}

.rx-lobby-category-tabs button {
  min-height: 34px !important;
  padding: 0 12px !important;
  border-radius: 8px !important;
  border: 1px solid transparent !important;
  background: rgba(255,255,255,0.035) !important;
  color: rgba(233, 241, 249, 0.88) !important;
  font-size: 0.84rem !important;
  font-weight: 800 !important;
}

.rx-lobby-category-tabs button.active,
.rx-lobby-category-tabs button:hover {
  background: #425b72 !important;
  border-color: rgba(255,255,255,0.08) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

#view-home .rx-poker-main-focus-row,
.rx-lobby-row {
  border-radius: 18px !important;
}

#view-home .rx-poker-main-focus-row {
  max-width: 1180px !important;
  margin: 0 auto 18px !important;
  padding: 16px 18px 18px !important;
  border: 1px solid var(--rx-ref-border-strong) !important;
  background: linear-gradient(180deg, #223649 0%, #203244 100%) !important;
  box-shadow: 0 14px 30px rgba(10,18,28,0.15) !important;
}

#view-home .rx-poker-main-focus-row .rx-lobby-row-heading {
  margin-bottom: 14px !important;
}

#view-home .rx-poker-main-focus-row .rx-lobby-row-heading h2 {
  color: #ffffff !important;
  font-size: clamp(1.6rem, 2vw, 2.15rem) !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
  text-shadow: none !important;
}

#view-home .rx-poker-main-focus-row .rx-lobby-row-heading h2 span {
  color: var(--rx-ref-gold) !important;
}

.rx-lobby-row-heading h2 {
  color: #f4f8fc !important;
}

.rx-view-all {
  color: rgba(233, 241, 249, 0.88) !important;
  font-weight: 700 !important;
  opacity: 0.92 !important;
}

#view-home #homeTableGrid.home-table-grid,
#view-home .rx-poker-main-focus-row .home-table-grid,
#homeTableGrid.rx-compact-table-row {
  gap: 18px !important;
  max-width: 1100px !important;
}

#view-home .rx-poker-main-focus-row .rx-home-table-graphic-card {
  max-width: 265px !important;
}

#view-home .rx-poker-main-focus-row .rx-home-table-graphic-card img {
  max-width: 265px !important;
  filter: saturate(1.02) contrast(1.01) !important;
}

.site-footer.riverx-legal-footer {
  max-width: 1180px !important;
  margin: 12px auto 0 auto !important;
  padding: 18px 0 32px !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  color: var(--rx-ref-muted) !important;
}

.site-footer.riverx-legal-footer p,
.site-footer.riverx-legal-footer strong,
.site-footer.riverx-legal-footer a {
  color: inherit !important;
}

@media (max-width: 1180px) {
  main {
    margin-left: 200px !important;
    margin-right: 16px !important;
  }
  #view-home .rx-poker-main-focus-row #homeTableGrid.home-table-grid,
  #view-home .rx-poker-main-focus-row .home-table-grid,
  #homeTableGrid.rx-compact-table-row {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 920px) {
  .app-sidebar,
  .app-sidebar.rx-clean-sidebar,
  .rx-clean-sidebar {
    width: 100% !important;
    padding: 10px !important;
  }

  main {
    margin: 0 12px !important;
    width: auto !important;
  }

  .rx-dashboard-topbar {
    padding: 10px 12px !important;
  }
}

@media (max-width: 640px) {
  .rx-top-actions {
    gap: 8px !important;
  }

  .rx-auth-btn,
  .rx-mini-wallet {
    min-height: 34px !important;
    padding: 0 12px !important;
    font-size: 0.82rem !important;
  }

}


/* === RiverX professional logo image replacement update ===
   Replace plain text RiverX branding areas with the provided branded logo image. */
.rx-wordmark-side,
.sidebar-brand-mini.rx-wordmark-side {
  justify-content: center !important;
  padding: 4px 10px !important;
  overflow: hidden !important;
}

.rx-wordmark {
  min-height: 40px !important;
  padding: 0 !important;
}

.rx-wordmark::before {
  content: none !important;
  display: none !important;
}

.rx-brand-logo-horizontal {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
}

.rx-brand-logo-horizontal.sidebar {
  max-height: 28px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.24)) !important;
}

.rx-brand-logo-horizontal.topbar {
  height: 34px !important;
  max-height: 34px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.22)) !important;
}

.rx-auth-logo-image {
  width: min(100%, 420px) !important;
  max-width: 100% !important;
  max-height: 250px !important;
  object-fit: contain !important;
  background: transparent !important;
  filter: drop-shadow(0 10px 22px rgba(0,0,0,0.22)) !important;
}

.riverx-lobby-brand {
  padding: 0.14rem 0.3rem !important;
  border-radius: 12px !important;
  min-height: 26px !important;
}

.riverx-lobby-brand-image {
  display: block !important;
  width: auto !important;
  height: 14px !important;
  max-width: 84px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 2px 5px rgba(0,0,0,0.45)) !important;
}

.riverx-lobby-gem {
  display: none !important;
}

@media (max-width: 920px) {
  .rx-brand-logo-horizontal.topbar {
    height: 28px !important;
    max-height: 28px !important;
  }

  .rx-brand-logo-horizontal.sidebar {
    max-height: 24px !important;
  }
}


/* === Signup logo updated crowned RiverX v65 === */
.rx-auth-logo-image {
  content: url("../img/riverx-auth-logo-crowned-v65.png") !important;
  width: min(100%, 400px) !important;
  max-width: 100% !important;
  max-height: 320px !important;
  object-fit: contain !important;
  background: transparent !important;
}


/* === RiverX bigger visible site logos update v2 ===
   Make the sidebar and topbar logos larger and easier to read. */
.sidebar-brand-mini,
.rx-wordmark-side {
  min-height: 64px !important;
  height: 64px !important;
  padding: 8px 12px !important;
}

.rx-brand-logo-horizontal {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
}

.rx-brand-logo-horizontal.sidebar {
  width: min(100%, 130px) !important;
  max-width: 130px !important;
  max-height: 46px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.28)) !important;
}

.rx-dashboard-topbar {
  min-height: 72px !important;
  align-items: center !important;
}

.rx-wordmark {
  min-height: 56px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 0 !important;
}

.rx-brand-logo-horizontal.topbar {
  width: min(100%, 182px) !important;
  max-width: 182px !important;
  max-height: 56px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 6px 16px rgba(0, 0, 0, 0.24)) !important;
}

.riverx-lobby-brand {
  min-height: 32px !important;
  padding: 0.18rem 0.42rem !important;
}

.riverx-lobby-brand-image {
  height: 18px !important;
  max-width: 112px !important;
  object-fit: contain !important;
}

@media (max-width: 920px) {
  .sidebar-brand-mini,
  .rx-wordmark-side {
    min-height: 56px !important;
    height: 56px !important;
  }

  .rx-brand-logo-horizontal.sidebar {
    max-width: 110px !important;
    max-height: 38px !important;
  }

  .rx-dashboard-topbar {
    min-height: 64px !important;
  }

  .rx-brand-logo-horizontal.topbar {
    max-width: 150px !important;
    max-height: 48px !important;
  }

  .riverx-lobby-brand-image {
    height: 16px !important;
    max-width: 96px !important;
  }
}


/* === RiverX centered login/register topbar update ===
   Remove the topbar logo and keep only Login/Register centered in that bar. */
.rx-auth-only-topbar {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 64px !important;
  padding: 10px 18px !important;
}

.rx-auth-only-topbar .rx-centered-auth-actions,
.rx-centered-auth-actions {
  width: auto !important;
  margin: 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
}

.rx-auth-only-topbar .rx-wordmark,
.rx-auth-only-topbar .rx-brand-logo-horizontal.topbar,
.rx-auth-only-topbar .rx-auth-admin-btn,
.rx-auth-only-topbar .rx-mini-wallet,
.rx-auth-only-topbar .topbar-balance {
  display: none !important;
}

.rx-auth-only-topbar .rx-auth-btn {
  min-width: 96px !important;
  min-height: 38px !important;
  text-align: center !important;
  justify-content: center !important;
}

@media (max-width: 640px) {
  .rx-auth-only-topbar {
    min-height: 58px !important;
    padding: 9px 12px !important;
  }

  .rx-auth-only-topbar .rx-auth-btn {
    min-width: 86px !important;
    min-height: 36px !important;
  }
}


/* === Exact topbar Login/Register visual match update === */
.rx-auth-only-topbar .rx-centered-auth-actions {
  gap: 10px !important;
}

.rx-auth-only-topbar .rx-auth-btn {
  min-width: 102px !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 22px !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  line-height: 40px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transform: none !important;
}

.rx-auth-only-topbar .rx-auth-login-btn {
  color: #ffffff !important;
  background: #26384a !important;
  border: 1px solid rgba(255, 255, 255, 0.92) !important;
}

.rx-auth-only-topbar .rx-auth-register-btn {
  color: #ffffff !important;
  background: #54c766 !important;
  border: 1px solid rgba(84, 199, 102, 0.98) !important;
  min-width: 118px !important;
}

.rx-auth-only-topbar .rx-auth-btn:hover,
.rx-auth-only-topbar .rx-auth-btn:focus-visible,
.rx-auth-only-topbar .rx-auth-login-btn:hover,
.rx-auth-only-topbar .rx-auth-login-btn:focus-visible,
.rx-auth-only-topbar .rx-auth-register-btn:hover,
.rx-auth-only-topbar .rx-auth-register-btn:focus-visible {
  transform: none !important;
  box-shadow: none !important;
  filter: brightness(1.02) !important;
}

@media (max-width: 640px) {
  .rx-auth-only-topbar .rx-auth-btn {
    min-width: 96px !important;
    height: 38px !important;
    min-height: 38px !important;
    line-height: 38px !important;
    font-size: 13px !important;
    padding: 0 18px !important;
  }

  .rx-auth-only-topbar .rx-auth-register-btn {
    min-width: 108px !important;
  }
}


/* === Sidebar logo cleanup + hamburger toggle update === */
:root {
  --rx-sidebar-expanded: 214px;
  --rx-sidebar-collapsed: 72px;
}

.sidebar-brand-mini.rx-wordmark-side.rx-sidebar-brand-row {
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 10px !important;
  height: 40px !important;
  margin-bottom: 12px !important;
  padding: 0 4px !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.rx-sidebar-brand-row::before,
.rx-sidebar-brand-row::after {
  content: none !important;
  display: none !important;
}

.rx-sidebar-toggle {
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  min-width: 30px;
  min-height: 30px;
  display: inline-flex !important;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.rx-sidebar-toggle:hover,
.rx-sidebar-toggle:focus-visible {
  background: rgba(255,255,255,0.06) !important;
  box-shadow: none !important;
  transform: none !important;
}

.rx-sidebar-toggle span {
  display: block;
  width: 14px !important;
  height: 2px !important;
  border-radius: 999px;
  background: rgba(240, 247, 255, 0.92);
  opacity: 1 !important;
}

.rx-sidebar-brand-image,
.rx-brand-logo-horizontal.sidebar.rx-sidebar-brand-image {
  display: block !important;
  flex: 0 1 auto;
  width: auto !important;
  max-width: 132px !important;
  max-height: 32px !important;
  height: 32px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.20)) !important;
  background: transparent !important;
}

.rx-clean-sidebar {
  width: var(--rx-sidebar-expanded) !important;
}

main {
  width: min(1180px, calc(100% - 250px));
  margin-left: var(--rx-sidebar-expanded);
}

body.rx-sidebar-collapsed .app-sidebar,
body.rx-sidebar-collapsed .rx-clean-sidebar {
  width: var(--rx-sidebar-collapsed) !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
}

body.rx-sidebar-collapsed main {
  width: min(1180px, calc(100% - 98px));
  margin-left: var(--rx-sidebar-collapsed);
}

body.rx-sidebar-collapsed .rx-sidebar-brand-row {
  justify-content: center !important;
  padding: 0 !important;
}

body.rx-sidebar-collapsed .rx-sidebar-brand-image,
body.rx-sidebar-collapsed .sidebar-section,
body.rx-sidebar-collapsed .sidebar-test-note {
  display: none !important;
}


.rx-rakeback-redesign {
  display: grid;
  gap: 18px;
}

.rx-rakeback-page-header {
  padding: 6px 2px 2px;
}

.rx-rakeback-page-header h1 {
  margin: 6px 0 6px;
  font-size: clamp(1.8rem, 3vw, 2.7rem);
}

.rx-rakeback-page-header p {
  margin: 0;
  max-width: 840px;
  color: #aeb8d4;
  line-height: 1.6;
}

.rx-rakeback-card-row {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rx-rakeback-summary-grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.5fr);
  gap: 18px;
}

.rx-rakeback-total-card,
.rx-rakeback-breakdown-card {
  border: 1px solid rgba(141, 103, 255, 0.26);
  background: linear-gradient(145deg, rgba(28, 24, 61, 0.98), rgba(10, 15, 33, 0.98));
  box-shadow: 0 22px 58px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.035);
  border-radius: 20px;
}

.rx-rakeback-total-card {
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 230px;
}

.rx-rakeback-total-inner {
  text-align: center;
}

.rx-rakeback-total-inner h3 {
  margin: 4px 0 10px;
  font-size: 1.45rem;
  color: #d8e3fb;
}

.rx-rakeback-total-value {
  display: block;
  font-size: 2.1rem;
  line-height: 1;
  color: #ffffff;
  margin-bottom: 18px;
}

.rx-rakeback-total-stats {
  display: grid;
  gap: 10px;
}

.rx-rakeback-total-stats div {
  padding: 11px 14px;
  border-radius: 14px;
  background: rgba(37, 54, 80, 0.58);
  border: 1px solid rgba(128, 152, 185, 0.12);
}

.rx-rakeback-total-stats span {
  display: block;
  color: #9fb2d3;
  font-size: 0.82rem;
  margin-bottom: 4px;
}

.rx-rakeback-total-stats strong {
  color: #f7f9ff;
  font-size: 1rem;
}

.rx-rakeback-breakdown-card {
  padding: 16px;
}

.rx-rakeback-breakdown-heading {
  margin-bottom: 14px;
}

.rx-rakeback-breakdown-list {
  display: grid;
  gap: 10px;
}

.rx-rakeback-breakdown-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 14px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(37, 54, 80, 0.62);
  border: 1px solid rgba(128, 152, 185, 0.12);
}

.rx-rakeback-breakdown-name {
  color: #edf2ff;
  font-weight: 700;
}

.rx-rakeback-breakdown-rate {
  color: #d8e3fb;
  font-weight: 800;
}

.rx-rakeback-breakdown-amount {
  color: #ffffff;
  font-size: 1.02rem;
}

.rx-rakeback-compact-card {
  border-radius: 16px;
  padding: 16px 16px 14px;
}

.rx-rakeback-compact-amount-row {
  margin-top: 16px;
}

.rx-rakeback-compact-availability {
  color: #dce6ff;
  font-size: 1rem;
}

.rx-rakeback-compact-value {
  font-size: 1.35rem;
}

.rx-rakeback-compact-timer-row {
  margin-top: 3px;
}

.rx-rakeback-compact-timer {
  font-size: 0.98rem;
}

.rx-rakeback-compact-description {
  min-height: 42px;
}

.rx-rakeback-compact-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 8px;
}

.rx-rakeback-compact-stats span {
  display: block;
  background: rgba(8, 12, 28, 0.42);
  border: 1px solid rgba(132, 102, 223, 0.14);
  padding: 10px 12px;
  border-radius: 11px;
  font-size: 0.74rem;
}

.rx-rakeback-compact-stats strong {
  display: block;
  margin: 4px 0 0;
  color: #f3f7ff;
  font-size: 0.88rem;
}

.rx-rakeback-progress-compact {
  margin: 12px 0 10px;
}

@media (max-width: 960px) {
  .rx-rakeback-summary-grid,
  .rx-rakeback-card-row {
    grid-template-columns: 1fr;
  }

  .rx-rakeback-breakdown-row {
    grid-template-columns: 1fr auto;
  }

  .rx-rakeback-breakdown-amount {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .rx-rakeback-compact-stats {
    grid-template-columns: 1fr;
  }

  .rx-rakeback-total-card,
  .rx-rakeback-breakdown-card,
  .rx-rakeback-history,
  .rx-rakeback-compact-card {
    border-radius: 16px;
  }
}

@media (max-width: 960px) {
  .rx-clean-sidebar,
  body.rx-sidebar-collapsed .rx-clean-sidebar {
    width: var(--rx-sidebar-expanded) !important;
  }

  main,
  body.rx-sidebar-collapsed main {
    width: min(1180px, calc(100% - 24px));
    margin-left: auto;
  }

  .rx-sidebar-brand-row {
    padding-inline: 2px !important;
  }
}


/* === RiverX fixed global top navigation update ===
   Fixed logo on the left, Login/Register on the right, independent from sidebar. */
.rx-fixed-top-nav {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 64px !important;
  z-index: 12000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  padding: 0 22px !important;
  background:
    linear-gradient(180deg, rgba(35, 53, 70, 0.98), rgba(30, 45, 61, 0.98)) !important;
  border-bottom: 1px solid rgba(230, 196, 109, 0.20) !important;
  box-shadow: 0 12px 32px rgba(8, 14, 22, 0.22) !important;
  backdrop-filter: blur(14px) !important;
}

.rx-fixed-brand {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 48px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

.rx-fixed-brand img {
  display: block !important;
  width: auto !important;
  height: 44px !important;
  max-width: 180px !important;
  object-fit: contain !important;
  background: transparent !important;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.28)) !important;
}

.rx-fixed-top-actions {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
}

.rx-topbar-login-btn,
.rx-topbar-register-btn {
  height: 40px !important;
  min-height: 40px !important;
  border-radius: 6px !important;
  padding: 0 24px !important;
  font-size: 14px !important;
  line-height: 40px !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  color: #ffffff !important;
  cursor: pointer !important;
  transition: filter 0.16s ease, transform 0.16s ease !important;
}

.rx-topbar-login-btn {
  min-width: 102px !important;
  background: #26384a !important;
  border: 1px solid rgba(255, 255, 255, 0.92) !important;
}

.rx-topbar-register-btn {
  min-width: 118px !important;
  background: #54c766 !important;
  border: 1px solid rgba(84, 199, 102, 0.98) !important;
}

.rx-topbar-login-btn:hover,
.rx-topbar-register-btn:hover,
.rx-topbar-login-btn:focus-visible,
.rx-topbar-register-btn:focus-visible {
  transform: none !important;
  filter: brightness(1.04) !important;
  box-shadow: none !important;
}

/* Give the fixed topbar its own space. */
body {
  padding-top: 64px !important;
}

/* Sidebar starts below the fixed topbar and no longer contains the brand logo. */
.app-sidebar,
.app-sidebar.rx-clean-sidebar,
.rx-clean-sidebar {
  top: 64px !important;
  height: calc(100vh - 64px) !important;
  bottom: auto !important;
  overflow-x: hidden !important;
  scrollbar-width: thin !important;
}

.sidebar-brand-mini.rx-wordmark-side.rx-sidebar-brand-row {
  justify-content: flex-start !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 4px !important;
  margin-bottom: 8px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.rx-sidebar-brand-image,
.rx-brand-logo-horizontal.sidebar.rx-sidebar-brand-image {
  display: none !important;
}

/* Remove the horizontal slider/scroll bar from the left-side feature menu. */
.app-sidebar,
.rx-clean-sidebar,
.sidebar-section,
.rx-main-menu,
.rx-player-menu {
  overflow-x: hidden !important;
}

.app-sidebar * {
  max-width: 100% !important;
}

.app-sidebar::-webkit-scrollbar:horizontal,
.rx-clean-sidebar::-webkit-scrollbar:horizontal {
  height: 0 !important;
  display: none !important;
}

/* Remove duplicate old in-content auth bar spacing. */
.rx-auth-only-topbar {
  display: none !important;
}

/* Layout spacing after fixed topbar. */
main {
  padding-top: 20px !important;
}

@media (max-width: 920px) {
  .rx-fixed-top-nav {
    height: 58px !important;
    padding: 0 12px !important;
  }

  body {
    padding-top: 58px !important;
  }

  .app-sidebar,
  .app-sidebar.rx-clean-sidebar,
  .rx-clean-sidebar {
    top: 58px !important;
    height: calc(100vh - 58px) !important;
  }

  .rx-fixed-brand img {
    height: 36px !important;
    max-width: 142px !important;
  }

  .rx-topbar-login-btn,
  .rx-topbar-register-btn {
    height: 36px !important;
    min-height: 36px !important;
    line-height: 36px !important;
    min-width: 82px !important;
    padding: 0 16px !important;
    font-size: 13px !important;
  }

  .rx-topbar-register-btn {
    min-width: 94px !important;
  }
}

@media (max-width: 520px) {
  .rx-fixed-top-nav {
    gap: 10px !important;
  }

  .rx-fixed-brand img {
    height: 32px !important;
    max-width: 118px !important;
  }

  .rx-fixed-top-actions {
    gap: 7px !important;
  }

  .rx-topbar-login-btn,
  .rx-topbar-register-btn {
    min-width: 74px !important;
    padding: 0 12px !important;
  }
}


/* === Top logo hamburger + icon-only sidebar collapse update ===
   Hamburger lives beside the RiverX logo in the fixed topbar.
   Collapsing the left bar keeps the icons/symbols visible. */
.rx-fixed-brand-group {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  min-width: 0 !important;
}

.rx-topbar-sidebar-toggle {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  box-shadow: none !important;
}

.rx-topbar-sidebar-toggle span {
  display: block !important;
  width: 16px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: rgba(245, 250, 255, 0.95) !important;
  opacity: 1 !important;
}

.rx-topbar-sidebar-toggle:hover,
.rx-topbar-sidebar-toggle:focus-visible {
  background: rgba(255,255,255,0.08) !important;
  transform: none !important;
  box-shadow: none !important;
}

.sidebar-brand-mini.rx-wordmark-side.rx-sidebar-brand-row {
  display: none !important;
}

/* Collapsed sidebar stays visible as an icon rail. */
body.rx-sidebar-collapsed .app-sidebar,
body.rx-sidebar-collapsed .app-sidebar.rx-clean-sidebar,
body.rx-sidebar-collapsed .rx-clean-sidebar {
  width: 62px !important;
  padding: 10px 6px 16px !important;
  overflow-x: hidden !important;
}

body.rx-sidebar-collapsed main {
  width: min(1180px, calc(100% - 86px)) !important;
  margin-left: 62px !important;
}

body.rx-sidebar-collapsed .app-sidebar .sidebar-section,
body.rx-sidebar-collapsed .app-sidebar .rx-main-menu,
body.rx-sidebar-collapsed .app-sidebar .rx-player-menu {
  display: block !important;
  padding: 4px 0 !important;
  border-top: 0 !important;
}

body.rx-sidebar-collapsed .app-sidebar button {
  width: 46px !important;
  min-width: 46px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  margin: 5px auto !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0 !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  border-radius: 11px !important;
}

body.rx-sidebar-collapsed .app-sidebar button span {
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  text-align: center !important;
  text-indent: 0 !important;
  font-size: 1.05rem !important;
  opacity: 1 !important;
  display: inline-grid !important;
  place-items: center !important;
}

body.rx-sidebar-collapsed .app-sidebar .sidebar-test-note {
  display: none !important;
}

.app-sidebar,
.rx-clean-sidebar {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

.app-sidebar::-webkit-scrollbar:horizontal,
.rx-clean-sidebar::-webkit-scrollbar:horizontal {
  height: 0 !important;
  display: none !important;
}

@media (max-width: 920px) {
  body.rx-sidebar-collapsed .app-sidebar,
  body.rx-sidebar-collapsed .app-sidebar.rx-clean-sidebar,
  body.rx-sidebar-collapsed .rx-clean-sidebar {
    width: 58px !important;
  }

  body.rx-sidebar-collapsed main {
    margin-left: 58px !important;
    width: min(1180px, calc(100% - 72px)) !important;
  }

  .rx-topbar-sidebar-toggle {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
  }
}

@media (max-width: 520px) {
  .rx-fixed-brand-group {
    gap: 6px !important;
  }

  .rx-topbar-sidebar-toggle {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
  }

  .rx-topbar-sidebar-toggle span {
    width: 15px !important;
  }
}


/* === Centered topbar Login/Register buttons matching provided reference === */
.rx-fixed-top-nav {
  justify-content: flex-start !important;
  position: fixed !important;
}

.rx-fixed-brand-group {
  position: relative !important;
  z-index: 2 !important;
}

.rx-fixed-top-actions {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: auto !important;
}

.rx-topbar-login-btn,
.rx-topbar-register-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 40px !important;
  min-height: 40px !important;
  border-radius: 6px !important;
  padding: 0 18px !important;
  min-width: 106px !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  box-shadow: none !important;
}

.rx-topbar-login-btn {
  color: #ffffff !important;
  background: #23384a !important;
  border: 1px solid rgba(236, 243, 251, 0.9) !important;
}

.rx-topbar-register-btn {
  color: #ffffff !important;
  background: #56c86a !important;
  border: 1px solid #56c86a !important;
}

.rx-topbar-login-btn:hover,
.rx-topbar-login-btn:focus-visible {
  background: #294155 !important;
  border-color: rgba(255,255,255,0.95) !important;
  filter: none !important;
}

.rx-topbar-register-btn:hover,
.rx-topbar-register-btn:focus-visible {
  background: #62d877 !important;
  border-color: #62d877 !important;
  filter: none !important;
}

@media (max-width: 920px) {
  .rx-fixed-top-actions {
    gap: 6px !important;
  }

  .rx-topbar-login-btn,
  .rx-topbar-register-btn {
    min-width: 92px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 14px !important;
    font-size: 13px !important;
  }
}

@media (max-width: 680px) {
  .rx-fixed-top-nav {
    padding-right: 10px !important;
  }

  .rx-fixed-top-actions {
    left: auto !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }

  .rx-topbar-login-btn,
  .rx-topbar-register-btn {
    min-width: 76px !important;
    padding: 0 12px !important;
  }
}


/* === Button 64 Login/Register action update ===
   Uses the requested purple-to-indigo-to-cyan framed button treatment.
   Applied to the fixed topbar actions and the login/register form submits. */
.button-64 {
  align-items: center !important;
  background-image: linear-gradient(144deg, #AF40FF, #5B42F3 50%, #00DDEB) !important;
  border: 0 !important;
  border-radius: 8px !important;
  box-shadow: rgba(151, 65, 252, 0.2) 0 15px 30px -5px !important;
  box-sizing: border-box !important;
  color: #FFFFFF !important;
  display: flex !important;
  font-family: Phantomsans, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 20px !important;
  justify-content: center !important;
  line-height: 1em !important;
  max-width: 100% !important;
  min-width: 140px !important;
  padding: 3px !important;
  text-decoration: none !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  touch-action: manipulation !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  overflow: hidden !important;
  transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease !important;
}

.button-64:active,
.button-64:hover,
.button-64:focus-visible {
  outline: 0 !important;
}

.button-64 > .text {
  align-items: center !important;
  background-color: rgb(5, 6, 45) !important;
  border-radius: 6px !important;
  box-sizing: border-box !important;
  display: flex !important;
  height: 100% !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 16px 24px !important;
  transition: background-color 300ms ease, transform 300ms ease !important;
  width: 100% !important;
}

.button-64:hover:not(:disabled) > .text,
.button-64:focus-visible:not(:disabled) > .text {
  background: transparent !important;
}

.button-64:hover:not(:disabled),
.button-64:focus-visible:not(:disabled) {
  filter: brightness(1.06) !important;
  transform: translateY(-1px) !important;
  box-shadow: rgba(151, 65, 252, 0.34) 0 18px 36px -7px !important;
}

.button-64:active:not(:disabled) {
  transform: translateY(0) scale(0.99) !important;
}

/* Override earlier topbar button rules while preserving the centered layout.
   Compact height leaves visible breathing room above and below inside the fixed bar. */
.rx-topbar-login-btn.button-64,
.rx-topbar-register-btn.button-64 {
  background-image: linear-gradient(144deg, #AF40FF, #5B42F3 50%, #00DDEB) !important;
  border: 0 !important;
  border-radius: 7px !important;
  color: #FFFFFF !important;
  height: 40px !important;
  min-height: 40px !important;
  min-width: 112px !important;
  padding: 2px !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1em !important;
  box-shadow: rgba(151, 65, 252, 0.22) 0 10px 22px -8px !important;
}

.rx-topbar-login-btn.button-64 > .text,
.rx-topbar-register-btn.button-64 > .text {
  border-radius: 5px !important;
  padding: 0 18px !important;
}

/* Form action buttons retain the requested visual treatment at full form width. */
.rx-auth-submit.button-64 {
  width: 100% !important;
  min-height: 0 !important;
  background-image: linear-gradient(144deg, #AF40FF, #5B42F3 50%, #00DDEB) !important;
  border: 0 !important;
  border-radius: 8px !important;
  padding: 3px !important;
  font-size: 20px !important;
}

.rx-auth-submit.button-64:disabled {
  cursor: not-allowed !important;
  filter: grayscale(0.3) brightness(0.82) !important;
  opacity: 0.62 !important;
  transform: none !important;
  box-shadow: rgba(151, 65, 252, 0.12) 0 10px 22px -7px !important;
}

.rx-auth-submit.button-64:disabled > .text {
  background-color: rgb(5, 6, 45) !important;
}

@media (min-width: 768px) {
  .button-64 {
    font-size: 24px !important;
    min-width: 196px !important;
  }

  /* Keep only the fixed-header actions compact; form actions retain the larger treatment. */
  .rx-topbar-login-btn.button-64,
  .rx-topbar-register-btn.button-64 {
    height: 40px !important;
    min-height: 40px !important;
    min-width: 112px !important;
    font-size: 16px !important;
  }
}

/* Keep the supplied style usable in the fixed mobile header. */
@media (max-width: 767px) {
  .rx-fixed-top-actions {
    gap: 7px !important;
  }

  .rx-topbar-login-btn.button-64,
  .rx-topbar-register-btn.button-64 {
    height: 34px !important;
    min-height: 34px !important;
    min-width: 88px !important;
    font-size: 14px !important;
  }

  .rx-topbar-login-btn.button-64 > .text,
  .rx-topbar-register-btn.button-64 > .text {
    padding: 0 13px !important;
  }

  .rx-auth-submit.button-64 > .text {
    padding: 14px 20px !important;
  }
}

@media (max-width: 440px) {
  .rx-topbar-login-btn.button-64,
  .rx-topbar-register-btn.button-64 {
    height: 32px !important;
    min-height: 32px !important;
    min-width: 72px !important;
    font-size: 12px !important;
  }

  .rx-topbar-login-btn.button-64 > .text,
  .rx-topbar-register-btn.button-64 > .text {
    padding: 0 9px !important;
  }
}


/* === Exact topbar Login/Register dimensions ===
   Requested sizing: Login 80–90px, Register 100–110px, both 40px tall. */
.rx-topbar-login-btn.button-64,
.rx-topbar-register-btn.button-64 {
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  flex: 0 0 auto !important;
  padding: 2px !important;
}

.rx-topbar-login-btn.button-64 {
  width: 88px !important;
  min-width: 88px !important;
  max-width: 88px !important;
}

.rx-topbar-register-btn.button-64 {
  width: 108px !important;
  min-width: 108px !important;
  max-width: 108px !important;
}

.rx-topbar-login-btn.button-64 > .text,
.rx-topbar-register-btn.button-64 > .text {
  padding: 0 10px !important;
}

@media (max-width: 767px) {
  .rx-topbar-login-btn.button-64,
  .rx-topbar-register-btn.button-64 {
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    font-size: 13px !important;
  }

  .rx-topbar-login-btn.button-64 {
    width: 88px !important;
    min-width: 88px !important;
    max-width: 88px !important;
  }

  .rx-topbar-register-btn.button-64 {
    width: 108px !important;
    min-width: 108px !important;
    max-width: 108px !important;
  }
}


/* Authentication hardening: never render admin dashboard content before an authenticated admin session. */
#adminGrid[hidden], .admin-grid.is-locked { display: none !important; }

/* === Authenticated fixed-header state v15 ===
   Login/Register are guest-only. Authenticated sessions show account, wallet,
   role-aware admin access, and logout controls. */
.rx-topbar-guest-actions,
.rx-topbar-session-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
}

#rxTopbarGuestActions[hidden],
#rxTopbarSessionActions[hidden],
#rxTopbarAdminBtn[hidden] {
  display: none !important;
}

.rx-topbar-account-btn,
.rx-topbar-wallet-btn,
.rx-topbar-admin-btn,
.rx-topbar-logout-btn {
  height: 40px;
  min-height: 40px;
  border-radius: 9px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: linear-gradient(180deg, rgba(19, 23, 49, 0.96), rgba(7, 10, 28, 0.96));
  color: #fff;
  box-shadow: 0 9px 24px rgba(0, 0, 0, 0.22);
  cursor: pointer;
  transition: border-color 160ms ease, transform 160ms ease, background 160ms ease;
}

.rx-topbar-account-btn:hover,
.rx-topbar-wallet-btn:hover,
.rx-topbar-admin-btn:hover,
.rx-topbar-logout-btn:hover,
.rx-topbar-account-btn:focus-visible,
.rx-topbar-wallet-btn:focus-visible,
.rx-topbar-admin-btn:focus-visible,
.rx-topbar-logout-btn:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(181, 91, 255, 0.72);
  outline: none;
}

.rx-topbar-account-btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 4px 10px 4px 5px;
  min-width: 150px;
  text-align: left;
}

.rx-topbar-avatar {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: linear-gradient(144deg, #AF40FF, #5B42F3 55%, #00DDEB);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.04em;
  box-shadow: 0 0 18px rgba(127, 76, 255, 0.28);
}

.rx-topbar-account-copy {
  display: grid;
  min-width: 0;
  line-height: 1.05;
}

.rx-topbar-account-copy strong {
  max-width: 132px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 850;
}

.rx-topbar-account-copy small {
  margin-top: 3px;
  color: rgba(220, 224, 255, 0.66);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.rx-topbar-wallet-btn {
  display: grid;
  align-content: center;
  justify-items: end;
  padding: 4px 11px;
  min-width: 94px;
  line-height: 1.05;
}

.rx-topbar-wallet-btn span {
  color: rgba(220, 224, 255, 0.62);
  font-size: 9px;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.rx-topbar-wallet-btn strong {
  margin-top: 3px;
  font-size: 12px;
  font-weight: 900;
}

.rx-topbar-admin-btn {
  padding: 0 13px;
  background: linear-gradient(144deg, rgba(175, 64, 255, 0.94), rgba(91, 66, 243, 0.94));
  border-color: rgba(196, 126, 255, 0.6);
  font-size: 12px;
  font-weight: 850;
}

.rx-topbar-logout-btn {
  padding: 0 12px;
  background: rgba(12, 15, 35, 0.9);
  font-size: 12px;
  font-weight: 800;
}

.rx-topbar-logout-btn:disabled {
  opacity: 0.55;
  cursor: wait;
  transform: none;
}

body.rx-logged-in .rx-topbar-login-btn,
body.rx-logged-in .rx-topbar-register-btn {
  display: none !important;
}

@media (max-width: 820px) {
  .rx-topbar-wallet-btn { min-width: 82px; padding-inline: 8px; }
  .rx-topbar-account-btn { min-width: 126px; }
  .rx-topbar-account-copy strong { max-width: 104px; }
  .rx-topbar-admin-btn { padding-inline: 10px; }
  .rx-topbar-logout-btn { padding-inline: 10px; }
}

@media (max-width: 650px) {
  .rx-topbar-wallet-btn { display: none; }
  .rx-topbar-account-copy small { display: none; }
  .rx-topbar-account-btn { min-width: 0; padding-right: 8px; }
  .rx-topbar-account-copy strong { max-width: 92px; }
  .rx-topbar-admin-btn { font-size: 0; width: 40px; padding: 0; }
  .rx-topbar-admin-btn::before { content: "⚙"; font-size: 15px; }
}

@media (max-width: 470px) {
  .rx-topbar-session-actions { gap: 5px; }
  .rx-topbar-account-copy { display: none; }
  .rx-topbar-account-btn { width: 40px; min-width: 40px; padding: 4px; }
  .rx-topbar-avatar { width: 30px; height: 30px; }
  .rx-topbar-logout-btn { width: 40px; padding: 0; font-size: 0; }
  .rx-topbar-logout-btn::before { content: "↪"; font-size: 16px; }
}


/* === Admin role-only UI guard v17 ===
   Admin navigation and the dashboard are hidden by default and become visible
   only after the authoritative /api/auth/me session reports role=admin. */
[data-admin-only][hidden],
[data-admin-only-view][hidden],
.rx-admin-only-ui[hidden],
body:not(.rx-admin-session) [data-admin-only],
body:not(.rx-admin-session) .rx-admin-dashboard-link,
body:not(.rx-admin-session) #rxTopbarAdminBtn,
body:not(.rx-admin-session) #view-admin {
  display: none !important;
}

body.rx-admin-session [data-admin-only]:not([hidden]),
body.rx-admin-session .rx-admin-dashboard-link:not([hidden]) {
  visibility: visible;
}

/* === RiverX Separate Rakeback v20 === */
.rx-rakeback-page {
  width: min(1400px, calc(100% - 32px));
  margin: 28px auto 56px;
  color: #f7f5ff;
}

.rx-rakeback-hero,
.rx-rakeback-card,
.rx-rakeback-rules article,
.rx-rakeback-history {
  border: 1px solid rgba(141, 103, 255, 0.26);
  background: linear-gradient(145deg, rgba(28, 24, 61, 0.98), rgba(10, 15, 33, 0.98));
  box-shadow: 0 22px 58px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.rx-rakeback-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  padding: 34px;
  border-radius: 24px;
  overflow: hidden;
  position: relative;
}

.rx-rakeback-hero::after {
  content: "";
  position: absolute;
  inset: auto -80px -130px auto;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(124, 62, 255, 0.24), transparent 66%);
  pointer-events: none;
}

.rx-rakeback-kicker,
.rx-rakeback-card-kicker {
  display: inline-block;
  color: #d6c7ff;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.rx-rakeback-hero h1 {
  margin: 7px 0 4px;
  font-size: clamp(2rem, 4vw, 3.35rem);
  line-height: 1;
}

.rx-rakeback-hero h2 {
  margin: 0 0 12px;
  color: #f0c867;
  font-size: clamp(1rem, 2vw, 1.35rem);
}

.rx-rakeback-hero p {
  margin: 0;
  max-width: 780px;
  color: #b9c0d8;
  line-height: 1.65;
}

.rx-rakeback-hero-badge {
  width: 176px;
  min-height: 150px;
  border-radius: 26px;
  border: 1px solid rgba(239, 196, 89, 0.5);
  background: radial-gradient(circle at 50% 28%, rgba(132, 69, 255, 0.42), rgba(18, 18, 43, 0.98) 62%);
  display: grid;
  place-items: center;
  align-content: center;
  gap: 3px;
  box-shadow: 0 0 36px rgba(123, 65, 255, 0.2);
  position: relative;
  z-index: 1;
}

.rx-rakeback-hero-badge > span {
  font-size: 2rem;
  color: #f0c867;
}

.rx-rakeback-hero-badge strong { font-size: 1.15rem; }
.rx-rakeback-hero-badge small { color: #b9c0d8; }

.rx-rakeback-system-message {
  margin: 16px 0 18px;
  padding: 12px 16px;
  border-radius: 12px;
  border: 1px solid rgba(125, 96, 229, 0.24);
  background: rgba(20, 22, 48, 0.8);
  color: #b9c0d8;
}

.rx-rakeback-system-message[data-tone="success"] {
  border-color: rgba(68, 205, 133, 0.38);
  color: #8ce9b4;
}

.rx-rakeback-system-message[data-tone="error"] {
  border-color: rgba(255, 99, 122, 0.38);
  color: #ff9aaa;
}

.rx-rakeback-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.rx-rakeback-card {
  border-radius: 22px;
  padding: 24px;
  transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.rx-rakeback-card[data-state="available"] {
  border-color: rgba(240, 200, 103, 0.58);
  box-shadow: 0 22px 58px rgba(0, 0, 0, 0.28), 0 0 34px rgba(116, 61, 255, 0.14);
}

.rx-rakeback-card-head,
.rx-rakeback-section-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.rx-rakeback-card h3,
.rx-rakeback-section-heading h3 {
  margin: 4px 0 0;
  font-size: 1.35rem;
}

.rx-rakeback-status {
  flex: none;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: rgba(95, 105, 137, 0.18);
  border: 1px solid rgba(126, 138, 176, 0.25);
  color: #aab2cf;
}

.rx-rakeback-status.available {
  color: #f4d77e;
  border-color: rgba(240, 200, 103, 0.5);
  background: rgba(240, 200, 103, 0.08);
}

.rx-rakeback-status.claimed {
  color: #8ce9b4;
  border-color: rgba(68, 205, 133, 0.36);
  background: rgba(68, 205, 133, 0.08);
}

.rx-rakeback-rate {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 20px 0;
}

.rx-rakeback-rate strong {
  font-size: 2.35rem;
  line-height: 1;
  color: #f0c867;
  text-shadow: 0 0 22px rgba(240, 200, 103, 0.15);
}

.rx-rakeback-rate span { color: #aeb7d2; }

.rx-rakeback-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.rx-rakeback-metrics > div {
  min-width: 0;
  padding: 12px;
  border-radius: 13px;
  background: rgba(8, 12, 28, 0.68);
  border: 1px solid rgba(132, 102, 223, 0.16);
}

.rx-rakeback-metrics span,
.rx-rakeback-metrics strong { display: block; }
.rx-rakeback-metrics span { color: #8f99b8; font-size: 0.72rem; margin-bottom: 4px; }
.rx-rakeback-metrics strong { color: #f7f5ff; font-size: 1rem; overflow-wrap: anywhere; }

.rx-rakeback-progress {
  height: 7px;
  margin: 18px 0 12px;
  border-radius: 999px;
  background: rgba(64, 74, 108, 0.45);
  overflow: hidden;
}

.rx-rakeback-progress span {
  display: block;
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, #6f39ff, #a05cff, #f0c867);
  box-shadow: 0 0 16px rgba(130, 65, 255, 0.46);
  transition: width 260ms ease;
}

.rx-rakeback-card p {
  margin: 0;
  color: #b9c0d8;
  line-height: 1.5;
}

.rx-rakeback-period {
  display: block;
  margin-top: 8px;
  color: #7883a5;
}

.rx-rakeback-claim-btn {
  width: 100%;
  margin-top: 18px;
  min-height: 44px;
  border: 1px solid rgba(240, 200, 103, 0.54);
  border-radius: 12px;
  background: linear-gradient(135deg, #6f39ff, #824cff 55%, #a56b2b);
  color: #fff;
  font-weight: 850;
  cursor: pointer;
  box-shadow: 0 10px 26px rgba(79, 41, 184, 0.2);
}

.rx-rakeback-claim-btn:not(:disabled):hover {
  transform: translateY(-1px);
  filter: brightness(1.06);
}

.rx-rakeback-claim-btn:disabled {
  cursor: not-allowed;
  opacity: 0.5;
  filter: saturate(0.65);
}


.rx-rakeback-grid-compact {
  align-items: stretch;
}

.rx-rakeback-compact-card {
  border-radius: 14px;
  padding: 14px 14px 12px;
  background: linear-gradient(180deg, rgba(43, 63, 90, 0.94), rgba(36, 56, 82, 0.95));
  border: 1px solid rgba(99, 126, 160, 0.22);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03), 0 14px 30px rgba(4, 10, 23, 0.22);
}

.rx-rakeback-compact-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.rx-rakeback-compact-title-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.rx-rakeback-calendar-badge {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  flex: none;
  display: grid;
  place-items: center;
  font-size: 0.95rem;
  font-weight: 900;
  color: #d9e7ff;
  background: linear-gradient(180deg, rgba(107, 130, 164, 0.26), rgba(70, 95, 130, 0.24));
  border: 1px solid rgba(135, 160, 194, 0.26);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.rx-rakeback-compact-card h3 {
  margin: 0 0 2px;
  font-size: 1.12rem;
}

.rx-rakeback-compact-card .rx-rakeback-card-kicker {
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  color: #a5b7d6;
}

.rx-rakeback-compact-card .rx-rakeback-status {
  padding: 4px 8px;
  font-size: 0.64rem;
}

.rx-rakeback-compact-amount-row,
.rx-rakeback-compact-timer-row,
.rx-rakeback-compact-stats {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.rx-rakeback-compact-amount-row {
  margin-top: 14px;
}

.rx-rakeback-compact-availability,
.rx-rakeback-compact-timer,
.rx-rakeback-compact-mini,
.rx-rakeback-compact-stats span,
.rx-rakeback-compact-description,
.rx-rakeback-period {
  font-size: 0.94rem;
}

.rx-rakeback-compact-availability {
  color: #dbe6ff;
  font-weight: 700;
}

.rx-rakeback-compact-value {
  color: #f7f9ff;
  font-size: 1.28rem;
  line-height: 1;
  white-space: nowrap;
}

.rx-rakeback-compact-timer-row {
  margin-top: 2px;
}

.rx-rakeback-compact-timer {
  color: #f7f9ff;
  font-weight: 800;
}

.rx-rakeback-compact-timer::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 7px;
  border-radius: 50%;
  background: #5ee48b;
  box-shadow: 0 0 12px rgba(94, 228, 139, 0.55);
  vertical-align: middle;
}

.rx-rakeback-compact-mini {
  color: #a8bbda;
  font-size: 0.77rem;
  text-align: right;
}

.rx-rakeback-progress-compact {
  height: 6px;
  margin: 10px 0 9px;
  background: rgba(73, 94, 128, 0.55);
}

.rx-rakeback-progress-compact span {
  background: linear-gradient(90deg, #32d26f, #59ec86);
  box-shadow: 0 0 14px rgba(76, 228, 120, 0.48);
}

.rx-rakeback-compact-stats {
  color: #a8bbda;
  font-size: 0.78rem;
  margin-bottom: 6px;
}

.rx-rakeback-compact-stats strong {
  color: #f3f7ff;
  font-size: 0.85rem;
  margin-left: 4px;
}

.rx-rakeback-compact-description {
  margin: 2px 0 0;
  color: #c7d4ed;
  line-height: 1.45;
  font-size: 0.86rem;
}

.rx-rakeback-compact-card .rx-rakeback-period {
  margin-top: 6px;
  font-size: 0.75rem;
  color: #85a0c4;
}

.rx-rakeback-claim-btn-compact {
  margin-top: 12px;
  min-height: 38px;
  border-radius: 10px;
  font-size: 0.88rem;
  background: linear-gradient(135deg, #5c6882, #4e5f7e);
  border-color: rgba(136, 154, 187, 0.28);
  box-shadow: none;
}

.rx-rakeback-card[data-state="available"] .rx-rakeback-claim-btn-compact {
  background: linear-gradient(135deg, #2cc96d, #64e58d);
  border-color: rgba(112, 242, 155, 0.42);
  color: #0e2717;
  box-shadow: 0 8px 18px rgba(37, 161, 87, 0.25);
}

.rx-rakeback-card[data-state="claimed"] .rx-rakeback-compact-availability {
  color: #8ce9b4;
}

.rx-rakeback-card[data-state="available"] .rx-rakeback-compact-availability {
  color: #9ef0be;
}

@media (max-width: 860px) {
  .rx-rakeback-compact-timer-row,
  .rx-rakeback-compact-stats,
  .rx-rakeback-compact-amount-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .rx-rakeback-compact-mini {
    text-align: left;
  }
}

.rx-rakeback-rules {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0;
}

.rx-rakeback-rules article {
  border-radius: 17px;
  padding: 18px;
  display: flex;
  gap: 14px;
}

.rx-rakeback-rules article > span {
  color: #f0c867;
  font-weight: 900;
}

.rx-rakeback-rules h3 { margin: 0 0 5px; font-size: 0.98rem; }
.rx-rakeback-rules p { margin: 0; color: #8f99b8; line-height: 1.5; font-size: 0.82rem; }

.rx-rakeback-history {
  border-radius: 22px;
  padding: 24px;
}

.rx-rakeback-section-heading { margin-bottom: 16px; }
.rx-rakeback-section-heading p { margin: 5px 0 0; color: #8f99b8; }

@media (max-width: 900px) {
  .rx-rakeback-grid,
  .rx-rakeback-rules { grid-template-columns: 1fr; }
  .rx-rakeback-hero { grid-template-columns: 1fr; }
  .rx-rakeback-hero-badge { width: 100%; min-height: 110px; }
}

@media (max-width: 560px) {
  .rx-rakeback-page { width: min(100% - 18px, 1400px); margin-top: 16px; }
  .rx-rakeback-hero,
  .rx-rakeback-card,
  .rx-rakeback-history { padding: 18px; border-radius: 17px; }
  .rx-rakeback-metrics { grid-template-columns: 1fr; }
  .rx-rakeback-card-head,
  .rx-rakeback-section-heading { flex-direction: column; }
}


/* RiverX Rakeback modal popup v24 — mirrors the Login/Register popup behavior. */
body.rx-rakeback-modal-open {
  overflow: hidden !important;
}

#view-rakeback.rx-rakeback-popup {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9998 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
  background: transparent !important;
}

#view-rakeback.rx-rakeback-popup.is-open {
  display: flex !important;
}

.rx-rakeback-popup-backdrop {
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(circle at 50% 10%, rgba(122, 58, 188, 0.18), transparent 42%),
    rgba(4, 7, 14, 0.84) !important;
  backdrop-filter: blur(7px) saturate(0.9) !important;
}

.rx-rakeback-popup-modal {
  position: relative !important;
  z-index: 2 !important;
  width: min(1080px, 96vw) !important;
  max-height: min(860px, 92vh) !important;
  overflow: auto !important;
  margin: 0 !important;
  padding: 28px !important;
  border-radius: 12px !important;
  background:
    radial-gradient(circle at 14% 0%, rgba(114, 52, 198, 0.16), transparent 32%),
    linear-gradient(180deg, #0a0f18, #060912) !important;
  border: 1px solid rgba(220, 177, 77, 0.32) !important;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.58), 0 0 42px rgba(124, 58, 237, 0.16) !important;
  scrollbar-gutter: stable;
}

.rx-rakeback-popup-close {
  position: sticky !important;
  float: right !important;
  top: 0 !important;
  z-index: 8 !important;
  width: 36px !important;
  height: 36px !important;
  margin: -8px -8px 0 12px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 50% !important;
  background: rgba(8, 12, 22, 0.82) !important;
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 27px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  backdrop-filter: blur(8px) !important;
}

.rx-rakeback-popup-close:hover {
  border-color: rgba(240, 200, 103, 0.4) !important;
  color: #f5cf70 !important;
  transform: translateY(-1px);
}

.rx-rakeback-popup-modal .rx-rakeback-page-header {
  padding-right: 46px;
}

.rx-rakeback-popup-modal .rx-rakeback-system-message {
  margin-top: 12px;
}

@media (max-width: 720px) {
  #view-rakeback.rx-rakeback-popup {
    padding: 10px !important;
  }

  .rx-rakeback-popup-modal {
    width: 100% !important;
    max-height: 94vh !important;
    padding: 18px !important;
    border-radius: 10px !important;
  }

  .rx-rakeback-popup-close {
    margin: -4px -4px 0 8px !important;
  }
}

/* === Rakeback popup reference-layout refresh v31 ===
   Keep the existing secure Daily/Weekly logic and $1,000 activation gate.
   Visual layout follows the supplied compact rewards panel reference while
   retaining RiverX purple/gold accents and the green progress treatment. */
#view-rakeback.rx-rakeback-popup {
  padding: 18px !important;
}

#view-rakeback .rx-rakeback-popup-backdrop {
  background:
    radial-gradient(circle at 50% 8%, rgba(104, 55, 211, 0.14), transparent 36%),
    rgba(2, 7, 15, 0.86) !important;
  backdrop-filter: blur(10px) saturate(.88) !important;
}

#view-rakeback .rx-rakeback-popup-modal {
  width: min(1020px, 96vw) !important;
  max-height: 92vh !important;
  padding: 20px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(119, 143, 176, 0.24) !important;
  background:
    radial-gradient(circle at 12% -8%, rgba(100, 61, 190, 0.12), transparent 30%),
    linear-gradient(180deg, #152336 0%, #101b2b 100%) !important;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .62), 0 0 34px rgba(106, 61, 196, .12) !important;
}

#view-rakeback .rx-rakeback-popup-close {
  width: 34px !important;
  height: 34px !important;
  border-radius: 9px !important;
  color: #dbe7fb !important;
  background: #24384f !important;
  border-color: rgba(144, 170, 205, .2) !important;
  font-size: 23px !important;
}

#view-rakeback .rx-rakeback-page-header {
  padding: 0 44px 2px 0 !important;
}

#view-rakeback .rx-rakeback-page-header h1 {
  margin: 3px 0 4px !important;
  color: #f7f9ff !important;
  font-size: clamp(1.5rem, 2.4vw, 2rem) !important;
}

#view-rakeback .rx-rakeback-page-header p {
  max-width: 760px !important;
  color: #94a8c5 !important;
  font-size: .86rem !important;
  line-height: 1.45 !important;
}

#view-rakeback .rx-rakeback-system-message {
  margin: 9px 0 12px !important;
  padding: 9px 12px !important;
  border-radius: 9px !important;
  background: rgba(30, 48, 70, .72) !important;
  border-color: rgba(125, 151, 186, .18) !important;
  color: #b7c7df !important;
  font-size: .8rem !important;
}

#view-rakeback .rx-rakeback-unlocked-content {
  gap: 14px !important;
}

#view-rakeback .rx-rakeback-card-row {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

#view-rakeback .rx-rakeback-compact-card {
  padding: 13px !important;
  border-radius: 11px !important;
  background: linear-gradient(180deg, #2d435b 0%, #293e56 100%) !important;
  border: 1px solid rgba(129, 154, 187, .13) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025), 0 8px 18px rgba(2, 7, 15, .18) !important;
}

#view-rakeback .rx-rakeback-compact-card[data-state="available"] {
  border-color: rgba(125, 91, 214, .45) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03), 0 0 18px rgba(114, 70, 209, .12) !important;
}

#view-rakeback .rx-rakeback-compact-head {
  align-items: center !important;
  gap: 8px !important;
}

#view-rakeback .rx-rakeback-compact-title-wrap {
  gap: 9px !important;
}

#view-rakeback .rx-rakeback-calendar-badge {
  width: 38px !important;
  height: 38px !important;
  border-radius: 8px !important;
  background: #304a66 !important;
  border-color: rgba(147, 177, 214, .3) !important;
  color: #dceaff !important;
  font-size: .86rem !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
}

#view-rakeback .rx-rakeback-compact-card h3 {
  margin: 0 0 2px !important;
  color: #fff !important;
  font-size: .98rem !important;
}

#view-rakeback .rx-rakeback-card-kicker {
  color: #90a9ca !important;
  font-size: .62rem !important;
  letter-spacing: .055em !important;
}

#view-rakeback .rx-rakeback-status {
  padding: 3px 7px !important;
  font-size: .58rem !important;
  background: rgba(19, 32, 48, .42) !important;
  border-color: rgba(154, 176, 207, .14) !important;
  color: #9db1ce !important;
}

#view-rakeback .rx-rakeback-status.available {
  color: #e5d9ff !important;
  border-color: rgba(143, 101, 234, .4) !important;
  background: rgba(111, 61, 200, .18) !important;
}

#view-rakeback .rx-rakeback-status.claimed {
  color: #93e7af !important;
  border-color: rgba(68, 205, 133, .28) !important;
  background: rgba(42, 155, 94, .12) !important;
}

#view-rakeback .rx-rakeback-compact-amount-row {
  margin-top: 10px !important;
}

#view-rakeback .rx-rakeback-compact-availability {
  color: #a5bedc !important;
  font-size: .78rem !important;
  font-weight: 650 !important;
}

#view-rakeback .rx-rakeback-compact-value {
  color: #f7fbff !important;
  font-size: 1rem !important;
}

#view-rakeback .rx-rakeback-compact-timer-row {
  margin-top: 2px !important;
}

#view-rakeback .rx-rakeback-compact-timer {
  color: #ffffff !important;
  font-size: .76rem !important;
  font-weight: 800 !important;
}

#view-rakeback .rx-rakeback-compact-timer::before {
  width: 7px !important;
  height: 7px !important;
  margin-right: 6px !important;
  background: #51dd83 !important;
  box-shadow: 0 0 9px rgba(81, 221, 131, .55) !important;
}

#view-rakeback .rx-rakeback-progress-compact {
  height: 5px !important;
  margin: 8px 0 9px !important;
  background: #344e68 !important;
}

#view-rakeback .rx-rakeback-progress-compact span {
  background: linear-gradient(90deg, #42d776, #59e18a) !important;
  box-shadow: 0 0 10px rgba(75, 220, 125, .36) !important;
}

#view-rakeback .rx-rakeback-compact-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 6px !important;
  margin-bottom: 7px !important;
}

#view-rakeback .rx-rakeback-compact-stats span {
  padding: 7px 8px !important;
  border-radius: 8px !important;
  background: rgba(18, 31, 47, .48) !important;
  border-color: rgba(149, 172, 204, .08) !important;
  color: #8fa7c7 !important;
  font-size: .62rem !important;
}

#view-rakeback .rx-rakeback-compact-stats strong {
  margin-top: 2px !important;
  color: #f2f6ff !important;
  font-size: .72rem !important;
}

#view-rakeback .rx-rakeback-compact-description {
  min-height: 0 !important;
  margin: 0 !important;
  color: #9fb1cb !important;
  font-size: .7rem !important;
  line-height: 1.35 !important;
}

#view-rakeback .rx-rakeback-period {
  margin-top: 4px !important;
  color: #7389a8 !important;
  font-size: .64rem !important;
}

#view-rakeback .rx-rakeback-claim-btn-compact {
  min-height: 34px !important;
  margin-top: 9px !important;
  padding: 8px 10px !important;
  border-radius: 7px !important;
  border: 0 !important;
  background: #344d68 !important;
  color: #fff !important;
  font-size: .75rem !important;
  box-shadow: none !important;
}

#view-rakeback .rx-rakeback-card[data-state="available"] .rx-rakeback-claim-btn-compact {
  background: linear-gradient(135deg, #6f42c1, #8457d8) !important;
  color: #fff !important;
  box-shadow: 0 5px 14px rgba(88, 48, 157, .24) !important;
}

#view-rakeback .rx-rakeback-summary-grid {
  grid-template-columns: minmax(235px, .72fr) minmax(0, 1.58fr) !important;
  gap: 12px !important;
}

#view-rakeback .rx-rakeback-total-card,
#view-rakeback .rx-rakeback-breakdown-card,
#view-rakeback .rx-rakeback-history {
  border-radius: 11px !important;
  border: 1px solid rgba(129, 154, 187, .14) !important;
  background: linear-gradient(180deg, #2b4159 0%, #273c53 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.02) !important;
}

#view-rakeback .rx-rakeback-total-card {
  min-height: 180px !important;
  padding: 16px !important;
}

#view-rakeback .rx-rakeback-total-inner h3 {
  margin: 3px 0 6px !important;
  color: #bacbe1 !important;
  font-size: .92rem !important;
  font-weight: 600 !important;
}

#view-rakeback .rx-rakeback-total-value {
  margin-bottom: 12px !important;
  color: #fff !important;
  font-size: 1.3rem !important;
}

#view-rakeback .rx-rakeback-total-stats {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
}

#view-rakeback .rx-rakeback-total-stats div {
  padding: 8px !important;
  border-radius: 8px !important;
  background: rgba(19, 32, 48, .42) !important;
  border-color: rgba(148, 171, 202, .08) !important;
}

#view-rakeback .rx-rakeback-total-stats span {
  font-size: .62rem !important;
  color: #8ea6c5 !important;
}

#view-rakeback .rx-rakeback-total-stats strong {
  font-size: .78rem !important;
}

#view-rakeback .rx-rakeback-breakdown-card {
  padding: 12px !important;
}

#view-rakeback .rx-rakeback-breakdown-heading {
  margin-bottom: 8px !important;
}

#view-rakeback .rx-rakeback-breakdown-heading h3 {
  margin: 2px 0 0 !important;
  font-size: .95rem !important;
  color: #f6f8ff !important;
}

#view-rakeback .rx-rakeback-breakdown-list {
  gap: 7px !important;
}

#view-rakeback .rx-rakeback-breakdown-row {
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  gap: 10px !important;
  min-height: 34px !important;
  padding: 7px 11px !important;
  border-radius: 999px !important;
  background: #344a63 !important;
  border-color: rgba(151, 176, 209, .08) !important;
}

#view-rakeback .rx-rakeback-breakdown-name {
  color: #edf4ff !important;
  font-size: .75rem !important;
}

#view-rakeback .rx-rakeback-breakdown-rate,
#view-rakeback .rx-rakeback-breakdown-amount {
  color: #f5f8ff !important;
  font-size: .75rem !important;
}

#view-rakeback .rx-rakeback-history {
  padding: 12px !important;
}

#view-rakeback .rx-rakeback-history .rx-rakeback-section-heading {
  margin-bottom: 8px !important;
}

#view-rakeback .rx-rakeback-history h3 {
  font-size: .95rem !important;
}

#view-rakeback .rx-rakeback-history p {
  font-size: .72rem !important;
  color: #8fa5c3 !important;
}

#view-rakeback .rx-rakeback-coming-soon {
  min-height: 250px !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, #2c425a, #273c53) !important;
  border-color: rgba(129, 154, 187, .16) !important;
}

#view-rakeback .rx-rakeback-coming-soon-icon {
  background: #304a66 !important;
  border-color: rgba(147, 177, 214, .22) !important;
  color: #c7b0ff !important;
}

#view-rakeback .rx-rakeback-coming-soon-lock {
  color: #d9c9ff !important;
  background: rgba(111, 66, 190, .16) !important;
  border-color: rgba(145, 105, 224, .24) !important;
}

@media (max-width: 780px) {
  #view-rakeback .rx-rakeback-card-row,
  #view-rakeback .rx-rakeback-summary-grid {
    grid-template-columns: 1fr !important;
  }

  #view-rakeback .rx-rakeback-compact-stats {
    grid-template-columns: 1fr !important;
  }

  #view-rakeback .rx-rakeback-total-stats {
    grid-template-columns: 1fr !important;
  }

  #view-rakeback .rx-rakeback-breakdown-row {
    grid-template-columns: 1fr auto auto !important;
  }
}


/* === Dedicated poker screens v35 ===
   Only the selected top-level view may render. This intentionally overrides
   older homepage-centering rules that kept #view-home visible while a game
   was active and made games appear underneath the lobby. */
main > .view:not(.active) {
  display: none !important;
}

main > .view.active {
  display: block !important;
}

main > #view-home.active {
  display: flex !important;
  justify-content: center !important;
}

main > #view-lobby.active,
main > #view-table.active {
  display: block !important;
}

/* Rakeback remains a modal and is not converted into a normal page view. */
main > #view-rakeback.rx-rakeback-popup.is-open {
  display: flex !important;
}

.rx-dedicated-game-screen {
  width: 100%;
  min-height: calc(100vh - 92px);
}

.rx-dedicated-view-nav {
  width: min(100%, 1440px);
  margin: 0 auto 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid rgba(246, 203, 111, 0.14);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(23, 12, 38, 0.86), rgba(12, 8, 22, 0.88));
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
}

.rx-dedicated-view-nav > span {
  color: rgba(242, 229, 255, 0.72);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.rx-dedicated-game-view main {
  overflow-x: clip;
}

body.rx-dedicated-game-view #view-home:not(.active),
body.rx-dedicated-game-view #view-lobby:not(.active) {
  display: none !important;
}

@media (max-width: 920px) {
  main > #view-home.active {
    display: block !important;
  }

  .rx-dedicated-game-screen {
    min-height: calc(100vh - 72px);
  }

  .rx-dedicated-view-nav {
    width: 100%;
    margin-bottom: 12px;
  }
}

@media (max-width: 620px) {
  .rx-dedicated-view-nav {
    align-items: stretch;
    flex-wrap: wrap;
    padding: 9px;
  }

  .rx-dedicated-view-nav > span {
    width: 100%;
    order: -1;
  }

  .rx-dedicated-view-nav button {
    flex: 1 1 auto;
    min-height: 42px;
  }
}

/* === Player Account Dashboard v36 === */
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

main {
  flex: 1 0 auto;
}

.site-footer.riverx-legal-footer {
  flex-shrink: 0;
  margin-top: auto;
}

#view-account.rx-account-view {
  width: min(1240px, 100%);
  min-height: calc(100vh - 170px);
  margin: 0 auto;
  padding-top: 26px;
  padding-bottom: 48px;
}

.rx-account-page {
  display: grid;
  gap: 18px;
}

.rx-account-page [hidden] {
  display: none !important;
}

.rx-account-hero {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 142px;
  padding: 26px 28px;
  border: 1px solid rgba(176, 119, 255, 0.2);
  border-radius: 22px;
  background:
    radial-gradient(circle at 88% 18%, rgba(247, 199, 91, 0.12), transparent 18rem),
    radial-gradient(circle at 12% 0%, rgba(168, 85, 247, 0.18), transparent 20rem),
    linear-gradient(135deg, rgba(22, 13, 38, 0.96), rgba(8, 12, 26, 0.96));
  box-shadow: 0 22px 60px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.035);
}

.rx-account-hero::after {
  content: "";
  position: absolute;
  right: -80px;
  top: -110px;
  width: 260px;
  height: 260px;
  border: 1px solid rgba(247, 199, 91, 0.11);
  border-radius: 50%;
  box-shadow: 0 0 70px rgba(168, 85, 247, 0.08);
  pointer-events: none;
}

.rx-account-hero-copy {
  position: relative;
  z-index: 1;
}

.rx-account-hero h2 {
  margin: 7px 0 8px;
  font-size: clamp(1.8rem, 3vw, 2.55rem);
  letter-spacing: -0.025em;
}

.rx-account-hero p {
  max-width: 760px;
  margin: 0;
  color: #aeb8d3;
  line-height: 1.6;
}

.rx-account-hero .kyc-status-pill {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  min-width: 128px;
  justify-content: center;
}

.rx-account-dashboard {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.rx-account-card {
  position: relative;
  overflow: hidden;
  min-width: 0;
  padding: 22px;
  border: 1px solid rgba(133, 102, 196, 0.22);
  border-radius: 20px;
  background: linear-gradient(150deg, rgba(18, 25, 45, 0.96), rgba(10, 14, 28, 0.97));
  box-shadow: 0 18px 48px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.025);
}

.rx-account-card::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(176, 119, 255, .48), rgba(247, 199, 91, .3), transparent);
}

.rx-account-card-wide {
  grid-column: 1 / -1;
}

.rx-account-profile-card {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(420px, 1fr);
  gap: 24px;
  align-items: center;
  padding: 24px 26px;
  background:
    radial-gradient(circle at 8% 50%, rgba(168, 85, 247, .12), transparent 15rem),
    linear-gradient(150deg, rgba(24, 29, 52, .98), rgba(10, 14, 28, .97));
}

.rx-account-profile-main {
  display: flex;
  align-items: center;
  gap: 18px;
}

.rx-account-avatar {
  flex: 0 0 auto;
  width: 70px;
  height: 70px;
  display: grid;
  place-items: center;
  border-radius: 20px;
  border: 1px solid rgba(247, 199, 91, .34);
  background: linear-gradient(145deg, rgba(168,85,247,.33), rgba(247,199,91,.16));
  color: #fff5d7;
  font-size: 1.25rem;
  font-weight: 900;
  letter-spacing: .06em;
  box-shadow: 0 12px 30px rgba(83, 40, 140, .25);
}

.rx-account-profile-main h3 {
  margin: 5px 0 5px;
  font-size: 1.45rem;
}

.rx-account-profile-main p {
  margin: 0;
  color: #aab5d0;
  line-height: 1.55;
}

.rx-account-profile-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 10px;
}

.rx-account-profile-meta > div,
.rx-account-detail-list > div {
  min-width: 0;
  padding: 12px 13px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 13px;
  background: rgba(255,255,255,.025);
}

.rx-account-profile-meta span,
.rx-account-detail-list span {
  display: block;
  color: #8795b8;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .025em;
  text-transform: uppercase;
}

.rx-account-profile-meta strong,
.rx-account-detail-list strong {
  display: block;
  margin-top: 5px;
  color: #f4f6ff;
  font-size: .94rem;
  overflow-wrap: anywhere;
}

.rx-account-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
}

.rx-account-card-head h3 {
  margin: 5px 0 0;
  font-size: 1.18rem;
}

.rx-account-card-icon {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  border: 1px solid rgba(168,85,247,.24);
  background: rgba(168,85,247,.1);
  color: #d7b4ff;
  font-size: 1.1rem;
  font-weight: 900;
}

.rx-account-card-icon-gold {
  border-color: rgba(247,199,91,.26);
  background: rgba(247,199,91,.09);
  color: #f7d784;
}

.rx-account-card-icon-purple {
  color: #caa4ff;
}

.rx-account-balance-value {
  display: block;
  margin: 2px 0 8px;
  color: #fff;
  font-size: clamp(2rem, 4vw, 2.8rem);
  line-height: 1;
  letter-spacing: -.03em;
}

.rx-account-wallet-card > p,
.rx-account-card > p {
  color: #98a5c2;
  line-height: 1.55;
}

.rx-account-action-row,
.rx-account-quick-actions,
.rx-account-guest-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.rx-account-action-row {
  margin-top: 18px;
}

.rx-account-action-row button,
.rx-account-quick-actions button,
.rx-account-guest-actions button {
  min-height: 42px;
}

.rx-account-detail-list {
  display: grid;
  gap: 9px;
  margin-bottom: 16px;
}

.rx-account-progress-track {
  height: 9px;
  margin: 5px 0 15px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  box-shadow: inset 0 1px 3px rgba(0,0,0,.35);
}

.rx-account-progress-track span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #8454e8, #b875ff, #f0c65d);
  box-shadow: 0 0 16px rgba(168,85,247,.34);
  transition: width .32s ease;
}

.rx-account-quick-card {
  padding-bottom: 24px;
}

.rx-account-quick-actions button {
  flex: 1 1 150px;
}

.rx-account-guest-panel {
  min-height: 330px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  align-content: center;
  gap: 20px 24px;
  padding: 40px;
  border: 1px solid rgba(168, 85, 247, .2);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(20, 24, 43, .96), rgba(9, 13, 25, .98));
  box-shadow: 0 20px 52px rgba(0,0,0,.22);
}

.rx-account-guest-icon {
  grid-row: span 2;
  width: 82px;
  height: 82px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  border: 1px solid rgba(247,199,91,.28);
  background: linear-gradient(145deg, rgba(168,85,247,.3), rgba(247,199,91,.12));
  color: #fff2c9;
  font-weight: 900;
  letter-spacing: .08em;
}

.rx-account-guest-panel h3 {
  margin: 6px 0 8px;
  font-size: 1.45rem;
}

.rx-account-guest-panel p {
  max-width: 650px;
  margin: 0;
  color: #9faac6;
  line-height: 1.6;
}

.rx-account-guest-actions {
  grid-column: 2;
}

.rx-account-message:empty {
  display: none;
}

@media (max-width: 980px) {
  .rx-account-profile-card {
    grid-template-columns: 1fr;
  }

  .rx-account-profile-meta {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  #view-account.rx-account-view {
    min-height: calc(100vh - 130px);
    padding-top: 14px;
    padding-bottom: 30px;
  }

  .rx-account-hero {
    align-items: flex-start;
    flex-direction: column;
    padding: 22px;
  }

  .rx-account-dashboard {
    grid-template-columns: 1fr;
  }

  .rx-account-card-wide {
    grid-column: auto;
  }

  .rx-account-profile-meta {
    grid-template-columns: 1fr;
  }

  .rx-account-guest-panel {
    grid-template-columns: 1fr;
    padding: 28px 22px;
  }

  .rx-account-guest-icon,
  .rx-account-guest-actions {
    grid-row: auto;
    grid-column: 1;
  }
}

@media (max-width: 520px) {
  .rx-account-profile-main {
    align-items: flex-start;
    flex-direction: column;
  }

  .rx-account-card,
  .rx-account-profile-card {
    padding: 18px;
    border-radius: 17px;
  }

  .rx-account-action-row button,
  .rx-account-quick-actions button,
  .rx-account-guest-actions button {
    width: 100%;
    flex: 1 1 100%;
  }
}

/* === Compact Dedicated Game Headers v37 ===
   Active game/table screens keep the global site header and one unobtrusive
   return control. Marketing-style hero banners, breadcrumb strips, duplicate
   balance panels, and repeated lobby controls are intentionally omitted. */
.rx-dedicated-game-screen {
  padding-top: 6px;
}

.rx-dedicated-game-screen .rx-dedicated-view-nav {
  width: min(100%, 1440px);
  margin: 0 auto 10px;
  padding: 0;
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.rx-dedicated-game-screen .rx-dedicated-view-nav > span {
  display: none !important;
}

.rx-dedicated-game-screen .rx-game-back-button {
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 10px;
  border: 1px solid rgba(216, 176, 83, 0.22);
  background: rgba(16, 11, 27, 0.72);
  color: rgba(248, 239, 255, 0.92);
  font-size: 0.76rem;
  font-weight: 750;
  letter-spacing: 0.025em;
  line-height: 1;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.14);
}

.rx-dedicated-game-screen .rx-game-back-button:hover {
  border-color: rgba(216, 176, 83, 0.42);
  background: rgba(28, 17, 43, 0.9);
  transform: translateY(-1px);
}

/* The actual game begins immediately below the compact return control. */
#view-table .table-shell {
  margin-top: 0 !important;
}

@media (max-width: 920px) {
  .rx-dedicated-game-screen {
    padding-top: 4px;
  }

  .rx-dedicated-game-screen .rx-dedicated-view-nav {
    margin-bottom: 8px;
    padding: 0 2px;
  }
}

@media (max-width: 620px) {
  .rx-dedicated-game-screen .rx-dedicated-view-nav {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    min-height: 32px;
  }

  .rx-dedicated-game-screen .rx-game-back-button {
    flex: 0 0 auto;
    min-height: 32px;
    padding: 6px 10px;
    font-size: 0.72rem;
  }
}


/* === RiverX admin dashboard redesign v39 === */
#view-admin .section-heading.admin-command-heading {
  align-items: end;
  gap: 1rem;
  padding: clamp(1.1rem, 2.2vw, 1.6rem);
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,0.08);
  background:
    radial-gradient(circle at top left, rgba(168,85,247,0.16), transparent 30%),
    radial-gradient(circle at top right, rgba(247,199,91,0.12), transparent 32%),
    linear-gradient(180deg, rgba(13,16,30,0.94), rgba(9,10,21,0.96));
  box-shadow: 0 22px 52px rgba(0,0,0,0.30);
}

#view-admin .admin-command-heading h2 {
  margin: 0.3rem 0 0.45rem;
  font-size: clamp(1.6rem, 2.7vw, 2.4rem);
  letter-spacing: -0.04em;
}

#view-admin .admin-command-heading p {
  max-width: 72ch;
  color: rgba(229,234,244,0.72) !important;
}

.admin-sidebar-nav { gap: 0.72rem !important; }

.admin-sidebar-link {
  display: flex !important;
  align-items: center !important;
  gap: 0.8rem !important;
  min-height: 62px !important;
}

.admin-nav-icon {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 14px;
  background: rgba(255,255,255,0.06);
  color: #fff7dd;
  font-size: 1rem;
  flex: none;
}

.admin-nav-copy { display: grid; gap: 0.08rem; min-width: 0; }
.admin-nav-copy strong {
  color: #f7f8ff;
  font-size: 0.94rem;
  line-height: 1.1;
}
.admin-nav-copy small {
  color: rgba(229,234,244,0.6);
  line-height: 1.15;
}

.admin-sidebar-link.is-active .admin-nav-icon,
.admin-sidebar-link:hover .admin-nav-icon {
  background: linear-gradient(135deg, rgba(168,85,247,0.40), rgba(247,199,91,0.28));
  box-shadow: 0 0 0 1px rgba(255,255,255,0.08) inset;
}

.admin-sidebar-status-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03)) !important;
}

.admin-overview-head {
  margin-bottom: 0.4rem;
}

.admin-stat-grid-dashboard {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.admin-stat-card-gradient {
  position: relative;
  overflow: hidden;
  min-height: 188px;
  display: grid !important;
  align-content: start;
  gap: 0.3rem;
  border: none !important;
  box-shadow: 0 22px 48px rgba(0,0,0,0.28) !important;
}

.admin-stat-card-gradient::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0));
  pointer-events: none;
}

.admin-stat-card-purple { background: linear-gradient(135deg, #6d3bff, #d74695) !important; }
.admin-stat-card-blue { background: linear-gradient(135deg, #2f5dff, #22b8cf) !important; }
.admin-stat-card-gold { background: linear-gradient(135deg, #d97706, #f4c430) !important; }
.admin-stat-card-orange { background: linear-gradient(135deg, #ef4444, #f97316) !important; }
.admin-stat-card-teal { background: linear-gradient(135deg, #0f766e, #34d399) !important; }
.admin-stat-card-red { background: linear-gradient(135deg, #b91c1c, #f43f5e) !important; }
.admin-stat-card-lime { background: linear-gradient(135deg, #4d7c0f, #84cc16) !important; }
.admin-stat-card-pink { background: linear-gradient(135deg, #9333ea, #ec4899) !important; }

.admin-stat-card-gradient .admin-stat-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.4rem;
}

.admin-stat-card-gradient .admin-stat-icon {
  display: inline-grid !important;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: rgba(255,255,255,0.16);
  color: #fff;
  font-size: 1.1rem;
  margin: 0 !important;
}

.admin-stat-chip {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 0.3rem 0.7rem;
  min-height: 28px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.2);
  background: rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.86) !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.admin-stat-label {
  color: rgba(255,255,255,0.88) !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 0 !important;
}

.admin-stat-card-gradient strong,
.admin-stat-card-gradient small {
  color: #ffffff !important;
}

.admin-stat-card-gradient small {
  opacity: 0.85;
}

.admin-stat-spark {
  margin-top: auto;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  align-items: end;
  gap: 0.35rem;
  min-height: 44px;
  padding-top: 0.5rem;
}

.admin-stat-spark span {
  display: block !important;
  width: 100%;
  border-radius: 999px;
  background: rgba(255,255,255,0.34);
  margin: 0 !important;
}

.admin-stat-spark span:nth-child(1) { height: 28%; }
.admin-stat-spark span:nth-child(2) { height: 52%; }
.admin-stat-spark span:nth-child(3) { height: 42%; }
.admin-stat-spark span:nth-child(4) { height: 76%; }
.admin-stat-spark span:nth-child(5) { height: 100%; }

.admin-overview-report-grid,
.admin-overview-table-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 16px;
}

.admin-chart-card-wide {
  grid-column: span 1;
}

.admin-chart-card .admin-card-head small {
  color: rgba(225,228,240,0.64);
}

.admin-report-bars-visual .admin-report-bar-row {
  background: linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.02)) !important;
}

.admin-table-compact {
  min-width: 0 !important;
}

.admin-table-compact thead th,
.admin-table-compact tbody td {
  padding-left: 0.55rem !important;
  padding-right: 0.55rem !important;
}

.admin-table-compact small { color: rgba(225,228,240,0.64); }

.admin-overview-grid .admin-surface-card,
.admin-overview-table-grid .admin-surface-card,
.admin-overview-report-grid .admin-surface-card {
  min-height: 100%;
}

#adminOverviewSection .admin-badge {
  box-shadow: 0 0 0 1px rgba(255,255,255,0.05) inset;
}

@media (max-width: 1280px) {
  .admin-stat-grid-dashboard {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 920px) {
  .admin-overview-report-grid,
  .admin-overview-table-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .admin-stat-grid-dashboard {
    grid-template-columns: 1fr !important;
  }

  .admin-sidebar-link {
    min-height: 56px !important;
  }

  .admin-nav-copy small {
    display: none;
  }
}

/* === RiverX admin workspace cleanup v40 === */
#view-admin {
  width: min(100% - 24px, 1500px) !important;
  margin-inline: auto !important;
  padding-bottom: 56px !important;
}

#view-admin .admin-command-heading {
  padding: 16px 18px !important;
  border-radius: 20px !important;
  align-items: center !important;
  background: linear-gradient(180deg, rgba(16,18,31,0.98), rgba(10,11,21,0.98)) !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,0.24) !important;
}

#view-admin .admin-command-heading h2 {
  margin: 3px 0 4px !important;
  font-size: clamp(1.45rem, 2vw, 2rem) !important;
}

#view-admin .admin-command-heading p {
  margin: 0 !important;
  max-width: 66ch !important;
  font-size: 0.9rem !important;
}

#view-admin .admin-command-actions {
  flex-wrap: nowrap !important;
}

#view-admin .admin-auth-notice,
#view-admin .admin-security-message {
  margin: 12px 0 0 !important;
  padding: 10px 13px !important;
  border-radius: 12px !important;
  font-size: 0.82rem !important;
}

.admin-shell {
  grid-template-columns: 235px minmax(0, 1fr) !important;
  gap: 18px !important;
  margin-top: 16px !important;
}

.admin-sidebar-panel {
  top: 84px !important;
  padding: 14px !important;
  border-radius: 20px !important;
  background: rgba(10,11,21,0.98) !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  box-shadow: 0 16px 36px rgba(0,0,0,0.25) !important;
}

.admin-sidebar-brand {
  display: flex !important;
  align-items: center !important;
  gap: 11px !important;
  padding: 5px 4px 12px !important;
  border-bottom: 1px solid rgba(255,255,255,0.07) !important;
}

.admin-sidebar-brand-mark {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: none;
  border-radius: 13px;
  color: #160d24;
  background: linear-gradient(135deg, #f4cf67, #9b5cff);
  font-weight: 950;
  letter-spacing: -0.04em;
  box-shadow: 0 10px 24px rgba(128,79,255,0.18);
}

.admin-sidebar-brand h3 {
  margin: 2px 0 0 !important;
  font-size: 1rem !important;
}

.admin-sidebar-brand .eyebrow {
  font-size: 0.64rem !important;
}

.admin-sidebar-nav {
  gap: 5px !important;
  margin: 12px 0 !important;
}

.admin-sidebar-link {
  min-height: 48px !important;
  padding: 8px 9px !important;
  border-radius: 12px !important;
  border-color: transparent !important;
  background: transparent !important;
  transform: none !important;
}

.admin-sidebar-link:hover {
  background: rgba(255,255,255,0.045) !important;
  border-color: rgba(255,255,255,0.07) !important;
  transform: none !important;
}

.admin-sidebar-link.is-active {
  background: linear-gradient(90deg, rgba(135,78,236,0.25), rgba(247,199,91,0.09)) !important;
  border-color: rgba(146,96,241,0.24) !important;
  box-shadow: inset 3px 0 0 #a46cff !important;
  transform: none !important;
}

.admin-sidebar-profit-link {
  margin-top: 5px !important;
  border-top: 1px solid rgba(255,255,255,0.07) !important;
  border-radius: 0 0 12px 12px !important;
}

.admin-nav-icon {
  width: 31px !important;
  height: 31px !important;
  border-radius: 9px !important;
  font-size: 0.85rem !important;
  background: rgba(255,255,255,0.045) !important;
}

.admin-nav-copy strong {
  font-size: 0.84rem !important;
}

.admin-nav-copy small {
  font-size: 0.67rem !important;
}

.admin-sidebar-status-card {
  padding: 12px !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  background: rgba(255,255,255,0.03) !important;
}

.admin-sidebar-status-card strong {
  font-size: 0.82rem !important;
}

.admin-sidebar-status-card small {
  font-size: 0.68rem !important;
}

.admin-dashboard-main {
  display: block !important;
  min-width: 0 !important;
}

#adminGrid .admin-dashboard-main > .admin-panel-section[hidden] {
  display: none !important;
}

#adminGrid .admin-dashboard-main > .admin-panel-section[data-admin-section-state="active"] {
  display: block !important;
  animation: adminPanelEnter 0.18s ease-out both;
}

@keyframes adminPanelEnter {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}

.admin-panel-section {
  padding: 20px !important;
  border-radius: 20px !important;
  background: rgba(11,13,24,0.98) !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  box-shadow: 0 16px 38px rgba(0,0,0,0.24) !important;
}

.admin-section-head {
  align-items: center !important;
  padding-bottom: 14px !important;
  margin-bottom: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.07) !important;
}

.admin-section-head h3 {
  margin: 2px 0 4px !important;
  font-size: 1.2rem !important;
}

.admin-section-head p {
  margin: 0 !important;
  font-size: 0.84rem !important;
}

.admin-stat-grid-clean {
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 12px !important;
  margin-top: 16px !important;
}

.admin-stat-card-clean {
  position: relative;
  min-height: 126px !important;
  padding: 15px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,0.035) !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  box-shadow: none !important;
  overflow: hidden;
}

.admin-stat-card-clean::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: #9b67ff;
}

.admin-stat-card-clean[data-accent="cyan"]::before { background: #45c7ef; }
.admin-stat-card-clean[data-accent="gold"]::before { background: #e7bf58; }
.admin-stat-card-clean[data-accent="orange"]::before { background: #ec8d49; }
.admin-stat-card-clean[data-accent="teal"]::before { background: #38caa0; }
.admin-stat-card-clean[data-accent="red"]::before { background: #ef6478; }

.admin-stat-card-clean .admin-stat-card-top {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  margin: 0 0 11px !important;
}

.admin-stat-card-clean .admin-stat-icon {
  display: grid !important;
  place-items: center !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 9px !important;
  background: rgba(255,255,255,0.06) !important;
  margin: 0 !important;
  color: #f8f4ff !important;
  font-size: 0.82rem !important;
}

.admin-stat-card-clean .admin-stat-label {
  margin: 0 !important;
  color: rgba(231,234,245,0.7) !important;
  font-size: 0.74rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
}

.admin-stat-card-clean strong {
  font-size: clamp(1.25rem, 1.8vw, 1.75rem) !important;
  margin: 0 0 4px !important;
}

.admin-stat-card-clean small {
  font-size: 0.72rem !important;
}

.admin-overview-primary-grid {
  display: grid !important;
  grid-template-columns: minmax(0,1.35fr) minmax(260px,0.65fr) !important;
  gap: 14px !important;
  margin-top: 14px !important;
}

.admin-overview-action-grid {
  margin-top: 14px !important;
}

.admin-surface-card {
  padding: 16px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,0.025) !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  box-shadow: none !important;
}

.admin-card-head h4 {
  margin: 0 0 3px !important;
  font-size: 0.94rem !important;
}

.admin-card-head small {
  color: rgba(225,228,240,0.58) !important;
  font-size: 0.7rem !important;
}

.admin-health-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.admin-health-list > div {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 3px 12px;
  align-items: center;
  padding: 10px 11px;
  border-radius: 12px;
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.055);
}

.admin-health-list span {
  color: rgba(225,228,240,0.68);
  font-size: 0.75rem;
}

.admin-health-list strong {
  color: #fff;
  font-size: 0.96rem;
}

.admin-health-list small {
  grid-column: 1 / -1;
  color: rgba(225,228,240,0.48);
  font-size: 0.66rem;
}

.admin-list-item,
.admin-highlight-item,
.admin-table-row,
.admin-profile-meta > div,
.admin-report-bar-row,
.admin-device-row,
.backup-row,
.audit-row,
.incident-row {
  padding: 9px 10px !important;
  border-radius: 11px !important;
  background: rgba(255,255,255,0.025) !important;
}

.admin-report-bar-row {
  grid-template-columns: 112px minmax(0,1fr) auto !important;
  font-size: 0.74rem !important;
}

.admin-report-bar-track {
  height: 7px !important;
}

.admin-table th,
.admin-table td {
  font-size: 0.78rem !important;
}

.admin-table thead th {
  padding: 10px 8px !important;
}

.admin-table tbody td {
  padding: 10px 8px !important;
}

.admin-game-grid {
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
}

.admin-game-card {
  padding: 14px !important;
  border-radius: 15px !important;
  box-shadow: none !important;
}

.admin-cashier-stat-grid {
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
}

.admin-stat-grid:not(.admin-stat-grid-clean) {
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
}

.admin-backup-action {
  margin: 12px 0 4px !important;
}

@media (max-width: 1280px) {
  .admin-shell {
    grid-template-columns: 1fr !important;
  }

  .admin-sidebar-panel {
    position: static !important;
  }

  .admin-sidebar-nav {
    display: flex !important;
    gap: 7px !important;
    overflow-x: auto !important;
    padding-bottom: 4px !important;
    scrollbar-width: thin;
  }

  .admin-sidebar-link {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 142px !important;
  }

  .admin-sidebar-profit-link {
    margin-top: 0 !important;
    border-top: 0 !important;
    border-radius: 12px !important;
  }

  .admin-sidebar-status-card {
    display: none !important;
  }
}

@media (max-width: 860px) {
  .admin-stat-grid-clean,
  .admin-stat-grid:not(.admin-stat-grid-clean),
  .admin-cashier-stat-grid,
  .admin-game-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }

  .admin-overview-primary-grid,
  .admin-two-col {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 600px) {
  #view-admin {
    width: min(100% - 12px, 1500px) !important;
  }

  #view-admin .admin-command-heading {
    align-items: stretch !important;
    padding: 14px !important;
  }

  #view-admin .admin-command-actions {
    width: 100%;
  }

  #view-admin .admin-command-actions button {
    flex: 1;
  }

  .admin-panel-section {
    padding: 14px !important;
  }

  .admin-stat-grid-clean,
  .admin-stat-grid:not(.admin-stat-grid-clean),
  .admin-cashier-stat-grid,
  .admin-game-grid {
    grid-template-columns: 1fr !important;
  }

  .admin-sidebar-link {
    min-width: 124px !important;
  }

  .admin-nav-copy small {
    display: none !important;
  }
}

/* === RiverX admin dashboard clean reference refresh v41 === */
#view-admin {
  width: min(100% - 20px, 1460px) !important;
}

#view-admin .admin-command-heading {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 0 14px !important;
}

#view-admin .admin-command-heading h2 {
  font-size: clamp(1.75rem, 2.5vw, 2.35rem) !important;
}

#view-admin .admin-command-heading p {
  max-width: 72ch;
  color: rgba(227,232,243,0.72) !important;
}

#view-admin .admin-shell {
  gap: 20px !important;
  align-items: start;
}

#view-admin .admin-sidebar-panel {
  width: 250px;
  position: sticky;
  top: 88px;
  padding: 20px 18px !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, rgba(18,21,36,0.98), rgba(12,14,24,0.98)) !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  box-shadow: 0 18px 40px rgba(0,0,0,0.22) !important;
}

#view-admin .admin-sidebar-brand {
  margin-bottom: 18px !important;
}

#view-admin .admin-sidebar-brand-mark {
  width: 46px !important;
  height: 46px !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #7d4dff, #e24f86) !important;
  box-shadow: 0 12px 24px rgba(125,77,255,0.28) !important;
}

#view-admin .admin-sidebar-nav {
  gap: 8px !important;
}

#view-admin .admin-sidebar-link {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 46px !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
  background: transparent !important;
  color: rgba(235,239,247,0.72) !important;
  border: 1px solid transparent !important;
  box-shadow: none !important;
}

#view-admin .admin-sidebar-link:hover {
  background: rgba(255,255,255,0.05) !important;
  color: #ffffff !important;
}

#view-admin .admin-sidebar-link.is-active {
  background: rgba(125,77,255,0.14) !important;
  border-color: rgba(125,77,255,0.28) !important;
  color: #ffffff !important;
}

#view-admin .admin-nav-icon {
  width: 30px !important;
  height: 30px !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,0.06) !important;
  font-size: 0.85rem !important;
}

#view-admin .admin-nav-copy {
  display: flex !important;
  align-items: center;
}

#view-admin .admin-nav-copy strong {
  font-size: 0.9rem !important;
  font-weight: 700 !important;
}

#view-admin .admin-nav-copy small {
  display: none !important;
}

#view-admin .admin-sidebar-status-card {
  margin-top: 18px !important;
  padding: 14px 16px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,0.035) !important;
}

#view-admin .admin-dashboard-main {
  min-width: 0;
}

#view-admin .admin-panel-section {
  padding: 22px !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, rgba(16,18,31,0.98), rgba(11,13,23,0.98)) !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,0.24) !important;
}

#view-admin .admin-section-head {
  padding-bottom: 0 !important;
  margin-bottom: 18px !important;
  border-bottom: 0 !important;
}

#view-admin .admin-overview-head-clean h3 {
  font-size: 1.3rem !important;
  margin-bottom: 4px !important;
}

#view-admin .admin-overview-head-clean p {
  font-size: 0.84rem !important;
  max-width: 60ch;
}

#view-admin .admin-stat-grid-reference {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin-top: 0 !important;
}

#view-admin .admin-stat-card-reference {
  position: relative;
  min-height: 172px !important;
  padding: 18px !important;
  border-radius: 18px !important;
  border: 0 !important;
  overflow: hidden;
  display: grid !important;
  grid-template-rows: auto auto auto 1fr;
  box-shadow: 0 16px 34px rgba(0,0,0,0.18) !important;
}

#view-admin .admin-stat-card-reference::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 56%;
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,0.08));
  pointer-events: none;
}

#view-admin .admin-stat-card-ref-purple { background: linear-gradient(135deg, #6f57ff, #e14987) !important; }
#view-admin .admin-stat-card-ref-green { background: linear-gradient(135deg, #21b7c6, #53d86d) !important; }
#view-admin .admin-stat-card-ref-orange { background: linear-gradient(135deg, #f97316, #ef4444) !important; }
#view-admin .admin-stat-card-ref-lime { background: linear-gradient(135deg, #84cc16, #d1d94d) !important; }

#view-admin .admin-stat-card-reference .admin-stat-card-top {
  margin-bottom: 10px !important;
}

#view-admin .admin-stat-card-reference .admin-stat-icon {
  width: 38px !important;
  height: 38px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,0.16) !important;
  font-size: 1rem !important;
}

#view-admin .admin-stat-card-reference strong {
  position: relative;
  z-index: 1;
  color: #fff !important;
  font-size: clamp(1.55rem, 2vw, 2rem) !important;
  margin: 0 0 2px !important;
}

#view-admin .admin-stat-card-reference small {
  position: relative;
  z-index: 1;
  color: rgba(255,255,255,0.9) !important;
  font-size: 0.82rem !important;
}

#view-admin .admin-stat-mini-chart {
  position: relative;
  z-index: 1;
  align-self: end;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 6px;
  align-items: end;
  min-height: 42px;
}

#view-admin .admin-stat-mini-chart span {
  display: block;
  border-radius: 999px;
  background: rgba(255,255,255,0.36);
}

#view-admin .admin-stat-mini-chart span:nth-child(1) { height: 30%; }
#view-admin .admin-stat-mini-chart span:nth-child(2) { height: 55%; }
#view-admin .admin-stat-mini-chart span:nth-child(3) { height: 48%; }
#view-admin .admin-stat-mini-chart span:nth-child(4) { height: 72%; }
#view-admin .admin-stat-mini-chart span:nth-child(5) { height: 96%; }

#view-admin .admin-stat-mini-bars span:nth-child(1) { height: 40%; }
#view-admin .admin-stat-mini-bars span:nth-child(2) { height: 62%; }
#view-admin .admin-stat-mini-bars span:nth-child(3) { height: 26%; }
#view-admin .admin-stat-mini-bars span:nth-child(4) { height: 82%; }
#view-admin .admin-stat-mini-bars span:nth-child(5) { height: 58%; }

#view-admin .admin-overview-reference-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(340px, 0.7fr);
  gap: 18px;
  margin-top: 20px;
}

#view-admin .admin-overview-report-card-reference,
#view-admin .admin-overview-mix-card {
  min-height: 360px;
  background: rgba(255,255,255,0.03) !important;
}

#view-admin .admin-card-head {
  margin-bottom: 16px !important;
}

#view-admin .admin-card-head h4 {
  font-size: 1rem !important;
}

#view-admin .admin-card-head small {
  font-size: 0.76rem !important;
  color: rgba(232,236,245,0.64) !important;
}

#view-admin .admin-overview-mix-layout {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

#view-admin .admin-overview-donut-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 8px;
}

#view-admin .admin-overview-donut {
  width: 138px;
  height: 138px;
  border-radius: 50%;
  position: relative;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.06);
}

#view-admin .admin-overview-donut::after {
  content: "";
  position: absolute;
  inset: 24px;
  border-radius: 50%;
  background: #121522;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.06);
}

#view-admin .admin-overview-donut span {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  z-index: 1;
  color: #fff;
  font-size: 1.05rem;
  font-weight: 700;
}

#view-admin .admin-overview-mix-side {
  display: grid;
  gap: 14px;
}

#view-admin .admin-overview-legend,
#view-admin .admin-overview-quicklist {
  display: grid;
  gap: 10px;
}

#view-admin .admin-overview-legend-row,
#view-admin .admin-overview-quick-row {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255,255,255,0.035);
  border: 1px solid rgba(255,255,255,0.055);
}

#view-admin .admin-overview-legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

#view-admin .admin-overview-legend-row span:nth-child(2) {
  color: rgba(236,240,248,0.82);
  font-size: 0.82rem;
}

#view-admin .admin-overview-legend-row strong,
#view-admin .admin-overview-quick-row span {
  color: #fff;
  font-size: 0.88rem;
}

#view-admin .admin-overview-quick-row {
  grid-template-columns: minmax(0,1fr) auto;
}

#view-admin .admin-overview-quick-row strong {
  display: block;
  margin-bottom: 2px;
  color: #ffffff;
  font-size: 0.81rem;
}

#view-admin .admin-overview-quick-row small {
  color: rgba(232,236,245,0.58);
  font-size: 0.7rem;
}

#view-admin .admin-report-bars-visual {
  gap: 12px !important;
}

#view-admin .admin-report-bar-row {
  grid-template-columns: 112px minmax(0,1fr) auto !important;
  padding: 12px 14px !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,0.035) !important;
  border: 1px solid rgba(255,255,255,0.05) !important;
}

#view-admin .admin-report-bar-track {
  height: 8px !important;
}

@media (max-width: 1250px) {
  #view-admin .admin-shell {
    grid-template-columns: 1fr !important;
  }

  #view-admin .admin-sidebar-panel {
    width: auto;
    position: static;
  }

  #view-admin .admin-sidebar-nav {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 10px !important;
  }

  #view-admin .admin-sidebar-status-card {
    display: none !important;
  }
}

@media (max-width: 980px) {
  #view-admin .admin-stat-grid-reference {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }

  #view-admin .admin-overview-reference-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  #view-admin .admin-sidebar-nav {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  #view-admin .admin-stat-grid-reference {
    grid-template-columns: 1fr !important;
  }

  #view-admin .admin-overview-mix-layout {
    grid-template-columns: 1fr;
  }

  #view-admin .admin-overview-donut-wrap {
    justify-content: flex-start;
  }
}

/* === RiverX weekly/monthly rakeback v47 === */
.rx-rakeback-page-header-compact {
  margin-bottom: 14px;
}

.rx-rakeback-period-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.rx-rakeback-period-card {
  position: relative;
  overflow: hidden;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid rgba(163, 112, 255, 0.24);
  background:
    radial-gradient(circle at top right, rgba(247, 199, 91, 0.12), transparent 34%),
    radial-gradient(circle at top left, rgba(126, 68, 255, 0.16), transparent 38%),
    linear-gradient(180deg, rgba(22, 28, 47, 0.98), rgba(12, 16, 29, 0.98));
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255,255,255,0.04);
}

.rx-rakeback-period-card::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, #8b5cf6, #f2c75c);
  opacity: 0.85;
}

.rx-rakeback-period-card[data-state="available"] {
  border-color: rgba(95, 230, 150, 0.44);
  box-shadow: 0 18px 46px rgba(34, 197, 94, 0.12), inset 0 1px 0 rgba(255,255,255,0.05);
}

.rx-rakeback-period-card[data-state="disabled"] {
  opacity: 0.78;
  filter: saturate(0.72);
}

.rx-rakeback-period-card-head,
.rx-rakeback-period-title {
  display: flex;
  align-items: center;
  gap: 12px;
}

.rx-rakeback-period-card-head {
  justify-content: space-between;
}

.rx-rakeback-period-title h3 {
  margin: 3px 0 0;
  color: #fff;
  font-size: 1.12rem;
}

.rx-rakeback-period-copy {
  margin: 14px 0;
  color: rgba(225, 232, 246, 0.74);
  line-height: 1.55;
  min-height: 48px;
}

.rx-rakeback-rate-display {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.06);
}

.rx-rakeback-rate-display span {
  color: rgba(220, 229, 247, 0.68);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.rx-rakeback-rate-display strong {
  color: #f8d87b;
  font-size: 1.6rem;
}

.rx-rakeback-period-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.rx-rakeback-period-metrics > div {
  padding: 11px 12px;
  border-radius: 13px;
  background: rgba(4, 8, 18, 0.3);
  border: 1px solid rgba(255,255,255,0.055);
}

.rx-rakeback-period-metrics span,
.rx-rakeback-period-metrics strong {
  display: block;
}

.rx-rakeback-period-metrics span {
  color: rgba(214, 224, 243, 0.62);
  font-size: 0.7rem;
  margin-bottom: 5px;
}

.rx-rakeback-period-metrics strong {
  color: #fff;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}

.rx-rakeback-countdown-wrap {
  margin-top: 14px;
  padding: 13px 14px;
  border-radius: 14px;
  background: rgba(9, 13, 27, 0.62);
  border: 1px solid rgba(139, 92, 246, 0.18);
}

.rx-rakeback-countdown-wrap > span,
.rx-rakeback-countdown-wrap > strong {
  display: block;
}

.rx-rakeback-countdown-wrap > span {
  color: rgba(217, 226, 245, 0.64);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.rx-rakeback-countdown-wrap > strong {
  margin-top: 5px;
  color: #f7f8ff;
  font-size: 1rem;
}

.rx-rakeback-time-track {
  position: relative;
  overflow: hidden;
  height: 4px;
  margin-top: 11px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
}

.rx-rakeback-time-track > span {
  position: absolute;
  inset: 0 auto 0 0;
  min-width: 2px;
  border-radius: inherit;
  background: linear-gradient(90deg, #7c3aed, #a855f7 55%, #f2c75c);
  box-shadow: 0 0 14px rgba(168, 85, 247, 0.54);
  transition: width 0.8s linear;
}

.rx-rakeback-time-track > span::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 42%;
  transform: translateX(-120%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.8), transparent);
  animation: rxRakebackLineSweep 2.6s linear infinite;
}

@keyframes rxRakebackLineSweep {
  to { transform: translateX(360%); }
}

.rx-rakeback-card-status-copy {
  min-height: 40px;
  margin: 9px 0 0;
  color: rgba(224, 232, 247, 0.72);
  line-height: 1.45;
  font-size: 0.82rem;
}

.rx-rakeback-history-compact {
  margin-top: 16px;
}

.rx-rakeback-status.disabled,
.rx-rakeback-status.no_reward {
  color: #d4d9e8;
  border-color: rgba(212, 217, 232, 0.18);
  background: rgba(212, 217, 232, 0.08);
}

.admin-rakeback-control-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px 18px;
  align-items: center;
  margin-top: 16px;
}

.admin-rakeback-control-card .admin-card-head,
.admin-rakeback-control-card .admin-support-copy {
  grid-column: 1;
  margin: 0 !important;
}

.admin-rakeback-control-card > button {
  grid-column: 2;
  grid-row: 1 / span 2;
  min-width: 170px;
}

@media (max-width: 860px) {
  .rx-rakeback-period-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .rx-rakeback-period-card {
    padding: 15px;
    border-radius: 17px;
  }

  .rx-rakeback-period-metrics {
    grid-template-columns: 1fr;
  }

  .rx-rakeback-period-card-head {
    align-items: flex-start;
  }

  .admin-rakeback-control-card {
    grid-template-columns: 1fr;
  }

  .admin-rakeback-control-card .admin-card-head,
  .admin-rakeback-control-card .admin-support-copy,
  .admin-rakeback-control-card > button {
    grid-column: 1;
    grid-row: auto;
  }

  .admin-rakeback-control-card > button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rx-rakeback-time-track > span::after {
    animation: none;
  }
}

/* === RiverX poker operations admin v118 === */
#view-admin,
#view-admin .admin-shell,
#view-admin .admin-dashboard-main,
#view-admin .admin-panel-section {
  min-width: 0;
  max-width: 100%;
}

#view-admin .admin-shell {
  grid-template-columns: 242px minmax(0, 1fr) !important;
}

#view-admin .admin-sidebar-panel {
  width: auto;
  background:
    radial-gradient(circle at 20% 0%, rgba(63, 114, 255, 0.13), transparent 34%),
    linear-gradient(180deg, rgba(10, 15, 29, 0.99), rgba(7, 10, 21, 0.99)) !important;
  border-color: rgba(109, 151, 255, 0.14) !important;
}

#view-admin .admin-sidebar-brand-mark {
  color: #ffffff !important;
  background: linear-gradient(135deg, #225fe0, #8c55ea 64%, #e0b94f) !important;
}

#view-admin .admin-nav-icon {
  font-variant-numeric: tabular-nums;
  font-size: 0.67rem !important;
  color: rgba(180, 203, 255, 0.92);
  border: 1px solid rgba(123, 157, 255, 0.12);
}

#view-admin .admin-sidebar-link.is-active {
  background: linear-gradient(90deg, rgba(58, 105, 238, 0.19), rgba(141, 77, 229, 0.13)) !important;
  border-color: rgba(109, 149, 255, 0.25) !important;
  box-shadow: inset 3px 0 0 #cfaa47 !important;
}

#view-admin .admin-panel-section {
  background:
    radial-gradient(circle at 100% 0%, rgba(116, 70, 216, 0.075), transparent 30%),
    linear-gradient(180deg, rgba(12, 17, 31, 0.99), rgba(8, 12, 23, 0.99)) !important;
  border-color: rgba(108, 139, 213, 0.13) !important;
}

#view-admin .admin-ops-metric-grid,
#view-admin .admin-rake-metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-bottom: 16px;
}

#view-admin .admin-stat-card {
  min-height: 118px;
  padding: 15px !important;
  border: 1px solid rgba(111, 143, 213, 0.12) !important;
  border-radius: 15px !important;
  background: linear-gradient(145deg, rgba(23, 31, 52, 0.86), rgba(14, 20, 35, 0.86)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.025) !important;
}

#view-admin .admin-stat-card > span {
  color: rgba(188, 199, 224, 0.72);
  font-size: 0.7rem;
  font-weight: 760;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

#view-admin .admin-stat-card > strong {
  margin: 10px 0 4px;
  color: #f8faff;
  font-size: clamp(1.25rem, 1.8vw, 1.7rem);
  font-variant-numeric: tabular-nums;
}

#view-admin .admin-stat-card > small {
  color: rgba(181, 193, 220, 0.55);
  font-size: 0.68rem;
}

#view-admin .admin-rake-card {
  border-color: rgba(118, 95, 231, 0.28) !important;
  background: linear-gradient(145deg, rgba(45, 30, 89, 0.9), rgba(19, 23, 45, 0.9)) !important;
}

#view-admin .admin-profit-card {
  border-color: rgba(218, 178, 68, 0.28) !important;
  background: linear-gradient(145deg, rgba(66, 52, 22, 0.68), rgba(23, 25, 39, 0.92)) !important;
}

#view-admin .admin-safe-cashout-card {
  border-color: rgba(50, 215, 147, 0.35) !important;
  background: linear-gradient(145deg, rgba(15, 68, 53, 0.75), rgba(17, 29, 38, 0.94)) !important;
}

#view-admin .admin-safe-cashout-card strong {
  color: #77f1bd;
}

#view-admin .admin-overview-ops-grid,
#view-admin .admin-profit-operations-grid,
#view-admin .admin-rake-tables-grid {
  gap: 14px !important;
  margin-top: 14px;
}

#view-admin .admin-compact-ops-list,
#view-admin .admin-obligation-list {
  display: grid;
  gap: 8px;
}

#view-admin .admin-compact-ops-row,
#view-admin .admin-obligation-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 11px 12px;
  border: 1px solid rgba(114, 143, 207, 0.1);
  border-radius: 11px;
  background: rgba(255,255,255,0.023);
}

#view-admin .admin-compact-ops-row strong,
#view-admin .admin-compact-ops-row small {
  display: block;
}

#view-admin .admin-compact-ops-row small {
  margin-top: 3px;
  color: rgba(184, 196, 221, 0.58);
  font-size: 0.68rem;
}

#view-admin .admin-obligation-row span {
  color: rgba(214, 221, 238, 0.74);
  font-size: 0.78rem;
}

#view-admin .admin-obligation-row strong {
  font-variant-numeric: tabular-nums;
}

#view-admin .admin-obligation-row[data-tone="deduction"] strong {
  color: #f2c970;
}

#view-admin .admin-obligation-row[data-tone="positive"] strong,
#view-admin .admin-obligation-row[data-tone="total"] strong {
  color: #70eeb7;
}

#view-admin .admin-obligation-row[data-tone="total"] {
  border-color: rgba(57, 222, 150, 0.28);
  background: rgba(26, 126, 89, 0.1);
}

#view-admin .admin-table-operation-row {
  grid-template-columns: minmax(190px, 1fr) minmax(420px, 1.2fr) !important;
}

#view-admin .admin-table-operation-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(72px, 1fr)) auto;
  gap: 9px;
  align-items: center;
}

#view-admin .admin-table-operation-metrics span:not(.admin-status-pill) {
  padding: 7px 9px;
  border-radius: 9px;
  background: rgba(255,255,255,0.03);
}

#view-admin .admin-table-operation-metrics small,
#view-admin .admin-table-operation-metrics strong {
  display: block;
}

#view-admin .admin-table-operation-metrics small {
  color: rgba(184, 196, 221, 0.56);
  font-size: 0.62rem;
}

#view-admin .admin-table-operation-metrics strong {
  margin-top: 2px;
  font-size: 0.78rem;
}

#view-admin .admin-player-controls-panel {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(113, 143, 207, 0.11);
}

#view-admin .admin-profit-cashout-form {
  display: grid;
  gap: 13px;
}

#view-admin .admin-profit-cashout-form label {
  display: grid;
  gap: 6px;
  color: rgba(219, 225, 240, 0.76);
  font-size: 0.72rem;
  font-weight: 720;
}

#view-admin .admin-profit-cashout-form input,
#view-admin .admin-profit-cashout-form textarea,
#view-admin #adminAuditCategory {
  width: 100%;
  min-width: 0;
  color: #f8faff;
  background: rgba(4, 8, 17, 0.72);
  border: 1px solid rgba(112, 143, 210, 0.2);
  border-radius: 10px;
}

#view-admin .admin-profit-cashout-form input {
  min-height: 42px;
  padding: 9px 11px;
}

#view-admin .admin-profit-cashout-form textarea {
  min-height: 84px;
  padding: 10px 11px;
  resize: vertical;
}

#view-admin .admin-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

#view-admin .admin-rake-ledger-table {
  min-width: 1050px;
}

#view-admin .admin-log-panel-expanded {
  max-height: 660px;
  overflow-y: auto;
}

#view-admin .admin-empty-state {
  padding: 18px;
  color: rgba(188, 198, 222, 0.62);
  text-align: center;
  border: 1px dashed rgba(113, 143, 207, 0.14);
  border-radius: 11px;
}

@media (max-width: 1250px) {
  #view-admin .admin-shell {
    grid-template-columns: 1fr !important;
  }

  #view-admin .admin-sidebar-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 980px) {
  #view-admin .admin-ops-metric-grid,
  #view-admin .admin-rake-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #view-admin .admin-table-operation-row {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 700px) {
  #view-admin {
    width: min(100% - 10px, 1460px) !important;
    overflow-x: clip;
  }

  #view-admin .admin-sidebar-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #view-admin .admin-ops-metric-grid,
  #view-admin .admin-rake-metric-grid {
    grid-template-columns: 1fr !important;
  }

  #view-admin .admin-panel-section {
    padding: 14px !important;
    border-radius: 17px !important;
  }

  #view-admin .admin-section-head,
  #view-admin .admin-inline-actions {
    align-items: stretch !important;
  }

  #view-admin .admin-inline-actions,
  #view-admin .admin-control-grid {
    grid-template-columns: 1fr !important;
    width: 100%;
  }

  #view-admin .admin-table-operation-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* === RiverX compact weekly/monthly rakeback cards v49 === */
.rx-rakeback-popup-modal {
  width: min(820px, 96vw) !important;
  padding: 22px !important;
  border-radius: 18px !important;
}

.rx-rakeback-page-header-compact {
  margin-bottom: 10px !important;
}

.rx-rakeback-page-header-compact h1 {
  margin: 3px 0 4px !important;
  font-size: clamp(1.45rem, 3vw, 1.85rem) !important;
}

.rx-rakeback-page-header-compact p {
  margin: 0 !important;
  font-size: 0.82rem !important;
  color: rgba(220, 230, 247, 0.68) !important;
}

.rx-rakeback-popup-modal .rx-rakeback-system-message {
  margin: 10px 0 12px !important;
  min-height: 0 !important;
  padding: 9px 12px !important;
  border-radius: 10px !important;
  font-size: 0.78rem !important;
}

.rx-rakeback-mini-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.rx-rakeback-mini-card {
  min-width: 0;
  padding: 12px 12px 10px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(104, 139, 177, 0.18) !important;
  background: linear-gradient(180deg, #2c435d 0%, #263c55 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04), 0 12px 28px rgba(0,0,0,0.22) !important;
}

.rx-rakeback-mini-card::after {
  display: none !important;
}

.rx-rakeback-mini-card[data-state="available"] {
  border-color: rgba(76, 216, 115, 0.42) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 12px 30px rgba(42, 199, 92, 0.14) !important;
}

.rx-rakeback-mini-head,
.rx-rakeback-mini-title,
.rx-rakeback-mini-amount-line,
.rx-rakeback-mini-status-line,
.rx-rakeback-mini-countdown,
.rx-rakeback-mini-footer {
  display: flex;
  align-items: center;
  gap: 9px;
}

.rx-rakeback-mini-head,
.rx-rakeback-mini-amount-line,
.rx-rakeback-mini-status-line,
.rx-rakeback-mini-countdown,
.rx-rakeback-mini-footer {
  justify-content: space-between;
}

.rx-rakeback-mini-title {
  min-width: 0;
}

.rx-rakeback-mini-title h3 {
  margin: 0 !important;
  color: #fff !important;
  font-size: 0.94rem !important;
  line-height: 1.15 !important;
  white-space: nowrap;
}

.rx-rakeback-mini-title small {
  display: block;
  margin-top: 3px;
  color: #b9cae2;
  font-size: 0.68rem;
  line-height: 1.1;
}

.rx-rakeback-mini-calendar {
  position: relative;
  width: 38px !important;
  height: 38px !important;
  border-radius: 7px !important;
  color: #dce9f8 !important;
  background: linear-gradient(180deg, #54728f, #405e7b) !important;
  border: 1px solid rgba(174, 205, 232, 0.24) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12) !important;
}

.rx-rakeback-mini-calendar::before,
.rx-rakeback-mini-calendar::after {
  content: "";
  position: absolute;
  top: -4px;
  width: 4px;
  height: 8px;
  border-radius: 2px;
  background: #7697b6;
}

.rx-rakeback-mini-calendar::before { left: 9px; }
.rx-rakeback-mini-calendar::after { right: 9px; }

.rx-rakeback-mini-calendar i {
  position: absolute;
  top: 8px;
  left: 5px;
  right: 5px;
  height: 1px;
  background: rgba(222, 237, 250, 0.38);
}

.rx-rakeback-mini-calendar strong {
  position: relative;
  z-index: 1;
  padding-top: 4px;
  font-size: 0.72rem;
}

.rx-rakeback-mini-card .rx-rakeback-status {
  flex: none;
  min-height: 22px !important;
  padding: 3px 7px !important;
  font-size: 0.58rem !important;
  letter-spacing: 0.04em !important;
}

.rx-rakeback-mini-amount-line {
  margin-top: 11px;
}

.rx-rakeback-mini-amount-line span,
.rx-rakeback-mini-status-line span,
.rx-rakeback-mini-countdown > span,
.rx-rakeback-mini-footer span {
  color: #b8c9df;
  font-size: 0.69rem;
}

.rx-rakeback-mini-amount-line strong {
  color: #f8fbff;
  font-size: 0.88rem;
}

.rx-rakeback-mini-status-line {
  margin-top: 4px;
  align-items: flex-start;
}

.rx-rakeback-mini-status-line > span {
  display: block;
  min-width: 0;
  max-width: 64%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #a9c1da;
}

.rx-rakeback-mini-status-line > strong {
  flex: none;
  color: #e9f2ff;
  font-size: 0.69rem;
  white-space: nowrap;
}

.rx-rakeback-mini-countdown {
  margin-top: 7px;
  justify-content: center;
  gap: 5px;
}

.rx-rakeback-mini-countdown > span {
  color: #ffffff;
  font-weight: 800;
}

.rx-rakeback-mini-countdown > strong {
  color: #ffffff;
  font-size: 0.82rem;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

.rx-rakeback-green-track {
  height: 5px !important;
  margin-top: 8px !important;
  background: rgba(23, 50, 69, 0.72) !important;
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.25) !important;
}

.rx-rakeback-green-track > span {
  min-width: 3px !important;
  background: linear-gradient(90deg, #2acb66, #57e684 70%, #74f19a) !important;
  box-shadow: 0 0 10px rgba(72, 228, 124, 0.55) !important;
  transition: width 0.95s linear !important;
}

.rx-rakeback-green-track > span::after {
  width: 34% !important;
  background: linear-gradient(90deg, transparent, rgba(224,255,235,0.9), transparent) !important;
  animation: rxRakebackGreenSweep 1.8s linear infinite !important;
}

.rx-rakeback-green-track > span::before {
  content: "";
  position: absolute;
  top: 50%;
  right: -2px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #7af5a1;
  box-shadow: 0 0 9px rgba(95, 239, 143, 0.9);
  transform: translateY(-50%);
}

@keyframes rxRakebackGreenSweep {
  from { transform: translateX(-120%); }
  to { transform: translateX(360%); }
}

.rx-rakeback-mini-footer {
  margin-top: 8px;
  align-items: flex-end;
}

.rx-rakeback-mini-footer > div span,
.rx-rakeback-mini-footer > div strong {
  display: block;
}

.rx-rakeback-mini-footer > div strong {
  margin-top: 2px;
  color: #ffffff;
  font-size: 0.78rem;
}

.rx-rakeback-mini-footer .rx-rakeback-period {
  max-width: 56%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin: 0 !important;
  color: #8fa9c5 !important;
  font-size: 0.62rem !important;
  text-align: right;
}

.rx-rakeback-mini-card .rx-rakeback-claim-btn-compact {
  min-height: 32px !important;
  margin-top: 9px !important;
  border-radius: 7px !important;
  font-size: 0.75rem !important;
}

.rx-rakeback-mini-card[data-state="available"] .rx-rakeback-claim-btn-compact {
  color: #092313 !important;
  background: linear-gradient(180deg, #5be883, #39cc68) !important;
  border-color: rgba(123, 244, 159, 0.5) !important;
}

.rx-rakeback-history-compact {
  margin-top: 12px !important;
  padding: 14px !important;
  border-radius: 14px !important;
}

.rx-rakeback-history-compact .rx-rakeback-section-heading {
  margin-bottom: 10px !important;
}

.rx-rakeback-history-compact .rx-rakeback-section-heading h3 {
  font-size: 0.95rem !important;
}

.rx-rakeback-history-compact .rx-rakeback-section-heading p {
  font-size: 0.72rem !important;
}

@media (max-width: 700px) {
  .rx-rakeback-mini-grid {
    grid-template-columns: 1fr !important;
  }

  .rx-rakeback-popup-modal {
    padding: 16px !important;
  }
}

@media (max-width: 420px) {
  .rx-rakeback-mini-card {
    padding: 11px !important;
  }

  .rx-rakeback-mini-title h3 {
    font-size: 0.87rem !important;
  }

  .rx-rakeback-mini-countdown {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .rx-rakeback-mini-status-line,
  .rx-rakeback-mini-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .rx-rakeback-mini-status-line > span,
  .rx-rakeback-mini-footer .rx-rakeback-period {
    max-width: 100%;
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rx-rakeback-green-track > span::after {
    animation: none !important;
  }
}
.rx-rakeback-mini-title small strong {
  color: #ffffff;
  font-size: inherit;
}

/* === Dynamic Rakeback Eligibility v52 === */
#view-rakeback .rx-rakeback-dual-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

#view-rakeback .rx-rakeback-dual-card {
  position: relative;
  overflow: hidden;
  padding: 20px;
  border: 1px solid rgba(173, 126, 255, 0.28);
  border-radius: 20px;
  background:
    radial-gradient(circle at 88% 0%, rgba(168, 85, 247, 0.18), transparent 32%),
    linear-gradient(155deg, rgba(22, 14, 39, 0.98), rgba(8, 8, 15, 0.98));
  box-shadow: 0 18px 55px rgba(0, 0, 0, 0.38), inset 0 1px rgba(255, 255, 255, 0.04);
}

#view-rakeback .rx-rakeback-dual-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: linear-gradient(90deg, transparent, #9b5cff, #f2c968, transparent);
  opacity: 0.9;
}

#view-rakeback .rx-rakeback-payout-line,
#view-rakeback .rx-rakeback-card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
  color: #9ba4bd;
  font-size: 0.76rem;
}

#view-rakeback .rx-rakeback-payout-line strong,
#view-rakeback .rx-rakeback-card-meta strong {
  color: #f6d680;
  text-align: right;
}

#view-rakeback .rx-rakeback-goal-copy {
  margin: 14px 0;
  color: #b8bed0;
  font-size: 0.8rem;
  line-height: 1.5;
}

#view-rakeback .rx-rakeback-path-card {
  padding: 13px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.025);
}

#view-rakeback .rx-rakeback-path-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

#view-rakeback .rx-rakeback-path-head span,
#view-rakeback .rx-rakeback-path-head strong {
  display: block;
}

#view-rakeback .rx-rakeback-path-head span {
  color: #f7f3ff;
  font-size: 0.82rem;
  font-weight: 800;
}

#view-rakeback .rx-rakeback-path-head strong {
  margin-top: 3px;
  color: #818ba8;
  font-size: 0.65rem;
  font-weight: 600;
}

#view-rakeback .rx-rakeback-path-head b {
  flex: 0 0 auto;
  color: #d8c2ff;
  font-size: 0.64rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

#view-rakeback .rx-rakeback-path-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 12px 0 9px;
}

#view-rakeback .rx-rakeback-path-metrics.one {
  grid-template-columns: 1fr;
}

#view-rakeback .rx-rakeback-path-metrics > div {
  padding: 9px 10px;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.2);
}

#view-rakeback .rx-rakeback-path-metrics span,
#view-rakeback .rx-rakeback-path-metrics strong {
  display: block;
}

#view-rakeback .rx-rakeback-path-metrics span {
  color: #7f89a4;
  font-size: 0.63rem;
}

#view-rakeback .rx-rakeback-path-metrics strong {
  margin-top: 3px;
  color: #fff;
  font-size: 0.78rem;
}

#view-rakeback .rx-rakeback-goal-track {
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
}

#view-rakeback .rx-rakeback-goal-track > span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #7d3cff, #ba78ff 58%, #f0c765);
  box-shadow: 0 0 13px rgba(166, 91, 255, 0.6);
  transition: width 0.45s ease;
}

#view-rakeback .rx-rakeback-or {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 30px;
}

#view-rakeback .rx-rakeback-or::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(243, 202, 103, 0.38), transparent);
}

#view-rakeback .rx-rakeback-or span {
  position: relative;
  z-index: 1;
  padding: 2px 9px;
  border: 1px solid rgba(243, 202, 103, 0.28);
  border-radius: 999px;
  background: #100d18;
  color: #f2ca6d;
  font-size: 0.58rem;
  font-weight: 900;
  letter-spacing: 0.12em;
}

#view-rakeback .rx-rakeback-mini-countdown {
  margin-top: 15px;
}

#view-rakeback .rx-rakeback-time-track {
  height: 3px;
  margin-top: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.07);
}

#view-rakeback .rx-rakeback-time-track > span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #8d4cff, #d08cff, #f4cc6d);
  box-shadow: 0 0 10px rgba(161, 88, 255, 0.58);
  transition: width 15s linear;
}

#view-rakeback .rx-rakeback-status.goal_complete,
#view-rakeback .rx-rakeback-status.paid {
  color: #aef0c1;
  border-color: rgba(85, 218, 124, 0.35);
  background: rgba(34, 142, 69, 0.14);
}

#view-rakeback .rx-rakeback-status.payment_scheduled,
#view-rakeback .rx-rakeback-status.pending_verified_payout_address,
#view-rakeback .rx-rakeback-status.pending_reserve {
  color: #f6d88a;
  border-color: rgba(242, 196, 87, 0.32);
  background: rgba(138, 101, 24, 0.14);
}

#view-rakeback .rx-rakeback-status.payment_failed,
#view-rakeback .rx-rakeback-status.goal_missed,
#view-rakeback .rx-rakeback-status.rakeback_disabled {
  color: #ffaaa9;
  border-color: rgba(255, 91, 91, 0.3);
  background: rgba(145, 42, 42, 0.14);
}

.admin-rakeback-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0;
}

.admin-rakeback-summary-grid > div {
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.025);
}

.admin-rakeback-summary-grid span,
.admin-rakeback-summary-grid strong {
  display: block;
}

.admin-rakeback-summary-grid span {
  color: #8b95af;
  font-size: 0.68rem;
}

.admin-rakeback-summary-grid strong {
  margin-top: 5px;
  color: #f7f5ff;
  overflow-wrap: anywhere;
}

.admin-coin-safe-table tr[data-warning="low_or_negative_safe_cash_out"] td:last-child strong {
  color: #ff9f9f;
}

@media (max-width: 980px) {
  #view-rakeback .rx-rakeback-dual-grid { grid-template-columns: 1fr; }
  .admin-rakeback-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  #view-rakeback .rx-rakeback-path-metrics { grid-template-columns: 1fr; }
  #view-rakeback .rx-rakeback-payout-line,
  #view-rakeback .rx-rakeback-card-meta { align-items: flex-start; flex-direction: column; }
  #view-rakeback .rx-rakeback-payout-line strong,
  #view-rakeback .rx-rakeback-card-meta strong { text-align: left; }
  .admin-rakeback-summary-grid { grid-template-columns: 1fr; }
}


/* === Dynamic Rakeback Eligibility premium dashboard v53 === */
#view-rakeback .rx-rakeback-dashboard {
  width: min(1440px, calc(100vw - 40px)) !important;
  max-height: min(940px, calc(100vh - 32px)) !important;
  padding: clamp(20px, 2.4vw, 34px) !important;
  border: 1px solid rgba(225, 178, 72, 0.44) !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at 95% 3%, rgba(111, 55, 210, 0.23), transparent 28%),
    radial-gradient(circle at 4% 96%, rgba(78, 38, 162, 0.17), transparent 30%),
    linear-gradient(145deg, rgba(7, 10, 24, 0.995), rgba(4, 7, 17, 0.995)) !important;
  box-shadow: 0 36px 110px rgba(0, 0, 0, 0.72), 0 0 58px rgba(111, 57, 214, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.035) !important;
  color: #f8f5ff;
  scrollbar-color: rgba(151, 95, 236, 0.55) rgba(255, 255, 255, 0.035);
}

#view-rakeback .rx-rakeback-dashboard::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  border-radius: inherit;
  background:
    linear-gradient(115deg, transparent 0 47%, rgba(135, 69, 255, 0.035) 49%, transparent 51%),
    linear-gradient(25deg, transparent 0 67%, rgba(235, 187, 74, 0.025) 69%, transparent 71%);
}

#view-rakeback .rx-rakeback-popup-close {
  position: absolute !important;
  float: none !important;
  top: 20px !important;
  right: 20px !important;
  width: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid rgba(235, 184, 68, 0.58) !important;
  border-radius: 12px !important;
  background: rgba(8, 10, 20, 0.82) !important;
  color: #f4ca68 !important;
  font-size: 26px !important;
  box-shadow: 0 8px 26px rgba(0, 0, 0, 0.32) !important;
  transition: transform 160ms ease, background 160ms ease, border-color 160ms ease, box-shadow 160ms ease !important;
}

#view-rakeback .rx-rakeback-popup-close:hover {
  transform: translateY(-1px) scale(1.02) !important;
  background: rgba(37, 22, 55, 0.94) !important;
  border-color: #f0c765 !important;
  box-shadow: 0 0 24px rgba(234, 184, 71, 0.18) !important;
}

#view-rakeback .rx-rakeback-popup-close:focus-visible,
#view-rakeback .rx-rakeback-refresh-btn:focus-visible {
  outline: 3px solid rgba(177, 114, 255, 0.5) !important;
  outline-offset: 3px !important;
}

#view-rakeback .rx-rakeback-dashboard-header {
  min-width: 0;
  padding: 0 68px 0 0;
  margin: 0 0 18px;
}

#view-rakeback .rx-rakeback-dashboard-copy {
  max-width: 920px;
}

#view-rakeback .rx-rakeback-kicker {
  color: #c48aff !important;
  font-size: 0.74rem !important;
  font-weight: 850 !important;
  letter-spacing: 0.13em !important;
}

#view-rakeback .rx-rakeback-dashboard-header h1 {
  margin: 7px 0 8px !important;
  color: #fffaf0 !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.15rem, 4vw, 3.55rem) !important;
  font-weight: 600 !important;
  letter-spacing: -0.035em;
  line-height: 1.02 !important;
  text-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
}

#view-rakeback .rx-rakeback-dashboard-header p {
  margin: 0 !important;
  color: rgba(225, 226, 239, 0.72) !important;
  font-size: clamp(0.9rem, 1.35vw, 1rem) !important;
  line-height: 1.55 !important;
}

#view-rakeback .rx-rakeback-system-message {
  margin: 0 0 18px !important;
  min-height: 0 !important;
  padding: 10px 14px !important;
  border: 1px solid rgba(145, 93, 237, 0.18) !important;
  border-radius: 12px !important;
  background: rgba(73, 42, 120, 0.1) !important;
  color: rgba(220, 224, 239, 0.76) !important;
  font-size: 0.8rem !important;
}

#view-rakeback .rx-rakeback-system-message[data-tone="success"] {
  border-color: rgba(72, 210, 133, 0.25) !important;
  background: rgba(40, 137, 82, 0.09) !important;
  color: #9fe7b9 !important;
}

#view-rakeback .rx-rakeback-system-message[data-tone="error"] {
  border-color: rgba(255, 104, 126, 0.3) !important;
  background: rgba(144, 38, 59, 0.1) !important;
  color: #ffb0bd !important;
}

#view-rakeback .rx-rakeback-goal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}

#view-rakeback .rx-rakeback-goal-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(235, 186, 74, 0.72);
  border-radius: 22px;
  background:
    radial-gradient(circle at 92% 0%, rgba(128, 62, 230, 0.2), transparent 28%),
    linear-gradient(160deg, rgba(13, 17, 37, 0.985), rgba(7, 10, 23, 0.995));
  box-shadow: 0 22px 58px rgba(0, 0, 0, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

#view-rakeback .rx-rakeback-goal-card[data-state="goal_complete"],
#view-rakeback .rx-rakeback-goal-card[data-state="paid"] {
  border-color: rgba(92, 218, 139, 0.6);
  box-shadow: 0 22px 58px rgba(0, 0, 0, 0.38), 0 0 32px rgba(72, 190, 117, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

#view-rakeback .rx-rakeback-goal-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px 16px;
}

#view-rakeback .rx-rakeback-card-eyebrow {
  display: block;
  margin-bottom: 4px;
  color: rgba(197, 205, 226, 0.54);
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

#view-rakeback .rx-rakeback-goal-card-header h2 {
  margin: 0;
  color: #fffaf2;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  font-weight: 600;
  letter-spacing: -0.02em;
}

#view-rakeback .rx-rakeback-period-badge {
  flex: none;
  min-width: 52px;
  min-height: 32px;
  display: inline-grid;
  place-items: center;
  padding: 5px 12px;
  border: 1px solid rgba(188, 100, 255, 0.7);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(93, 38, 139, 0.5), rgba(24, 16, 45, 0.8));
  color: #f3e8ff;
  font-size: 0.82rem;
  font-weight: 850;
  box-shadow: 0 0 18px rgba(168, 85, 247, 0.25), inset 0 1px rgba(255, 255, 255, 0.1);
}

#view-rakeback .rx-rakeback-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  padding: 0 20px 20px;
}

#view-rakeback .rx-rakeback-stat {
  min-width: 0;
  min-height: 116px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 7px;
  padding: 13px 10px;
  border: 1px solid rgba(231, 181, 66, 0.23);
  border-radius: 13px;
  background: linear-gradient(180deg, rgba(27, 31, 55, 0.78), rgba(13, 17, 34, 0.84));
  text-align: center;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

#view-rakeback .rx-rakeback-stat-icon {
  color: #eabf5d;
  font-size: 1.25rem;
  line-height: 1;
}

#view-rakeback .rx-rakeback-stat-label {
  color: rgba(205, 211, 230, 0.68);
  font-size: 0.66rem;
  font-weight: 750;
  line-height: 1.25;
}

#view-rakeback .rx-rakeback-stat > strong {
  min-width: 0;
  color: #f8f4ff;
  font-size: 0.82rem;
  font-weight: 760;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

#view-rakeback .rx-rakeback-stat:first-child > strong {
  color: #f0c868;
  font-size: 1.25rem;
}

#view-rakeback .rx-rakeback-status,
#view-rakeback .rx-rakeback-path-status,
#view-rakeback .rx-rakeback-history-status {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  min-height: 27px;
  padding: 5px 9px !important;
  border: 1px solid rgba(145, 101, 236, 0.36) !important;
  border-radius: 999px !important;
  background: rgba(104, 63, 177, 0.14) !important;
  color: #ddc9ff !important;
  font-size: 0.63rem !important;
  font-weight: 800 !important;
  line-height: 1.15;
  letter-spacing: 0.02em !important;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.035), 0 0 14px rgba(128, 76, 213, 0.09);
}

#view-rakeback .rx-rakeback-stat .rx-rakeback-status {
  margin-top: auto;
}

#view-rakeback .rx-rakeback-status.goal_in_progress,
#view-rakeback .rx-rakeback-path-status.goal_in_progress,
#view-rakeback .rx-rakeback-history-status.goal_in_progress {
  color: #bdd3ff !important;
  border-color: rgba(80, 137, 255, 0.44) !important;
  background: rgba(47, 92, 187, 0.16) !important;
  box-shadow: 0 0 15px rgba(69, 116, 255, 0.12);
}

#view-rakeback .rx-rakeback-status.goal_complete,
#view-rakeback .rx-rakeback-path-status.goal_complete,
#view-rakeback .rx-rakeback-history-status.goal_complete,
#view-rakeback .rx-rakeback-status.paid,
#view-rakeback .rx-rakeback-history-status.paid {
  color: #b8f1cb !important;
  border-color: rgba(74, 215, 126, 0.42) !important;
  background: rgba(38, 151, 80, 0.15) !important;
}

#view-rakeback .rx-rakeback-status.locked,
#view-rakeback .rx-rakeback-history-status.locked,
#view-rakeback .rx-rakeback-status.no_reward_available {
  color: #ddd5ea !important;
  border-color: rgba(176, 159, 196, 0.24) !important;
  background: rgba(117, 102, 136, 0.12) !important;
}

#view-rakeback .rx-rakeback-status.payment_scheduled,
#view-rakeback .rx-rakeback-status.pending_verified_payout_address,
#view-rakeback .rx-rakeback-status.pending_reserve,
#view-rakeback .rx-rakeback-history-status.payment_scheduled,
#view-rakeback .rx-rakeback-history-status.pending_verified_payout_address,
#view-rakeback .rx-rakeback-history-status.pending_reserve {
  color: #f4daa0 !important;
  border-color: rgba(233, 181, 64, 0.42) !important;
  background: rgba(145, 105, 22, 0.14) !important;
}

#view-rakeback .rx-rakeback-status.goal_missed,
#view-rakeback .rx-rakeback-status.payment_failed,
#view-rakeback .rx-rakeback-history-status.goal_missed,
#view-rakeback .rx-rakeback-history-status.payment_failed {
  color: #ffb7bf !important;
  border-color: rgba(255, 103, 120, 0.38) !important;
  background: rgba(151, 42, 57, 0.14) !important;
}

#view-rakeback .rx-rakeback-status.rakeback_disabled,
#view-rakeback .rx-rakeback-history-status.rakeback_disabled {
  color: #ced2dc !important;
  border-color: rgba(184, 190, 203, 0.2) !important;
  background: rgba(114, 120, 132, 0.12) !important;
}

#view-rakeback .rx-rakeback-path-section {
  margin: 0 20px;
  padding: 17px;
  border: 1px solid rgba(255, 255, 255, 0.065);
  border-radius: 15px;
  background: rgba(8, 11, 24, 0.46);
}

#view-rakeback .rx-rakeback-path-section-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 15px;
}

#view-rakeback .rx-rakeback-path-section-header > div {
  min-width: 0;
}

#view-rakeback .rx-rakeback-path-section-header h3 {
  margin: 0;
  color: #edc568;
  font-size: 0.98rem;
  font-weight: 780;
  line-height: 1.2;
}

#view-rakeback .rx-rakeback-path-section-header p {
  margin: 4px 0 0;
  color: rgba(203, 210, 228, 0.62);
  font-size: 0.73rem;
  line-height: 1.35;
}

#view-rakeback .rx-rakeback-progress-row + .rx-rakeback-progress-row {
  margin-top: 15px;
}

#view-rakeback .rx-rakeback-progress-copy {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  min-width: 0;
  margin-bottom: 8px;
}

#view-rakeback .rx-rakeback-progress-copy span {
  min-width: 0;
  color: #f2f1f7;
  font-size: 0.82rem;
  font-weight: 690;
}

#view-rakeback .rx-rakeback-progress-copy strong {
  flex: none;
  color: #f9f6ff;
  font-size: 0.82rem;
  font-weight: 760;
  text-align: right;
}

#view-rakeback .rx-rakeback-progress-track {
  position: relative;
  height: 7px;
  overflow: hidden;
  border: 1px solid rgba(157, 134, 191, 0.16);
  border-radius: 999px;
  background: rgba(38, 39, 60, 0.72);
}

#view-rakeback .rx-rakeback-progress-track > span {
  display: block;
  width: 0;
  min-width: 3px;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #7b3ff2, #b764ff 62%, #ebc15f);
  box-shadow: 0 0 13px rgba(167, 88, 255, 0.55);
  transition: width 480ms ease;
}

#view-rakeback .rx-rakeback-or-divider {
  display: grid;
  grid-template-columns: minmax(30px, 1fr) auto minmax(30px, 1fr);
  align-items: center;
  gap: 13px;
  margin: 14px 20px;
  color: #efc766;
}

#view-rakeback .rx-rakeback-or-divider::before,
#view-rakeback .rx-rakeback-or-divider::after {
  content: "";
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(236, 190, 75, 0.5));
}

#view-rakeback .rx-rakeback-or-divider::after {
  background: linear-gradient(90deg, rgba(236, 190, 75, 0.5), transparent);
}

#view-rakeback .rx-rakeback-or-divider span {
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.12em;
}

#view-rakeback .rx-rakeback-time-panel {
  margin-top: 18px;
  padding: 16px 20px 18px;
  border-top: 1px solid rgba(231, 180, 68, 0.2);
  background: linear-gradient(180deg, rgba(5, 8, 18, 0.18), rgba(5, 8, 18, 0.55));
}

#view-rakeback .rx-rakeback-time-copy {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 10px;
}

#view-rakeback .rx-rakeback-time-copy span {
  color: rgba(204, 211, 229, 0.66);
  font-size: 0.72rem;
  font-weight: 720;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

#view-rakeback .rx-rakeback-time-copy strong {
  color: #fffaf2;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1;
  text-align: right;
}

#view-rakeback .rx-rakeback-time-track {
  position: relative;
  height: 4px !important;
  margin: 0 !important;
  overflow: visible !important;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.07) !important;
}

#view-rakeback .rx-rakeback-time-track > span {
  position: absolute;
  inset: 0 auto 0 0;
  display: block;
  width: 0;
  min-width: 3px;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #6e35ef, #bc5fff 62%, #efc45f) !important;
  box-shadow: 0 0 14px rgba(165, 84, 255, 0.55) !important;
  transition: width 15s linear !important;
}

#view-rakeback .rx-rakeback-time-track > span::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -4px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ffe5a0;
  box-shadow: 0 0 11px #f1c660, 0 0 22px rgba(173, 85, 255, 0.7);
  transform: translateY(-50%);
  animation: rxRakebackPulse 1.8s ease-in-out infinite;
}

@keyframes rxRakebackPulse {
  0%, 100% { opacity: 0.72; transform: translateY(-50%) scale(0.85); }
  50% { opacity: 1; transform: translateY(-50%) scale(1.16); }
}

#view-rakeback .rx-rakeback-period {
  display: block;
  margin-top: 9px !important;
  color: rgba(179, 187, 208, 0.52) !important;
  font-size: 0.66rem !important;
  line-height: 1.35;
}

#view-rakeback .rx-rakeback-history-dashboard {
  margin-top: 18px !important;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid rgba(232, 182, 70, 0.52) !important;
  border-radius: 20px !important;
  background: linear-gradient(160deg, rgba(13, 17, 37, 0.98), rgba(7, 10, 23, 0.99)) !important;
  box-shadow: 0 20px 52px rgba(0, 0, 0, 0.34), inset 0 1px rgba(255, 255, 255, 0.03) !important;
}

#view-rakeback .rx-rakeback-history-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 17px 20px;
  border-bottom: 1px solid rgba(232, 182, 70, 0.2);
}

#view-rakeback .rx-rakeback-history-title {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 13px;
}

#view-rakeback .rx-rakeback-history-icon {
  flex: none;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(172, 100, 248, 0.34);
  border-radius: 11px;
  background: rgba(93, 40, 151, 0.18);
  color: #c484ff;
  font-size: 1.15rem;
}

#view-rakeback .rx-rakeback-history-title h2 {
  margin: 0;
  color: #fffaf2;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.2rem;
  font-weight: 600;
}

#view-rakeback .rx-rakeback-history-title p {
  margin: 4px 0 0;
  color: rgba(201, 209, 226, 0.6);
  font-size: 0.72rem;
  line-height: 1.4;
}

#view-rakeback .rx-rakeback-refresh-btn {
  flex: none;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 14px;
  border: 1px solid rgba(233, 183, 67, 0.52);
  border-radius: 11px;
  background: rgba(16, 18, 31, 0.88);
  color: #efc664;
  font-size: 0.78rem;
  font-weight: 800;
  cursor: pointer;
  transition: transform 160ms ease, background 160ms ease, border-color 160ms ease;
}

#view-rakeback .rx-rakeback-refresh-btn:hover:not(:disabled) {
  transform: translateY(-1px);
  background: rgba(55, 37, 70, 0.9);
  border-color: #f1c762;
}

#view-rakeback .rx-rakeback-refresh-btn:disabled {
  opacity: 0.58;
  cursor: wait;
}

#view-rakeback .rx-rakeback-refresh-btn.is-loading span:first-child {
  animation: rxRakebackSpin 900ms linear infinite;
}

@keyframes rxRakebackSpin { to { transform: rotate(360deg); } }

#view-rakeback .rx-rakeback-history-table-wrap {
  overflow-x: auto;
}

#view-rakeback .rx-rakeback-history-table {
  width: 100%;
  min-width: 980px;
  border-collapse: collapse;
  table-layout: fixed;
}

#view-rakeback .rx-rakeback-history-table th,
#view-rakeback .rx-rakeback-history-table td {
  padding: 13px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.055);
  color: rgba(229, 232, 242, 0.82);
  font-size: 0.72rem;
  line-height: 1.4;
  text-align: left;
  vertical-align: middle;
  overflow-wrap: anywhere;
}

#view-rakeback .rx-rakeback-history-table th {
  color: rgba(237, 213, 155, 0.76);
  font-size: 0.62rem;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  background: rgba(22, 25, 45, 0.68);
}

#view-rakeback .rx-rakeback-history-table tbody tr:not(.rx-rakeback-empty-row):hover {
  background: rgba(107, 63, 167, 0.07);
}

#view-rakeback .rx-rakeback-history-table tbody tr:last-child td {
  border-bottom: 0;
}

#view-rakeback .rx-rakeback-history-table td strong {
  color: #fff8e9;
}

#view-rakeback .rx-rakeback-empty-row td {
  padding: 0 !important;
}

#view-rakeback .rx-rakeback-empty-state {
  min-height: 150px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 6px;
  padding: 24px;
  text-align: center;
}

#view-rakeback .rx-rakeback-empty-state > span {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(175, 96, 248, 0.34);
  border-radius: 14px;
  background: rgba(94, 38, 157, 0.15);
  color: #c380ff;
  font-size: 1.35rem;
  box-shadow: 0 0 24px rgba(155, 73, 235, 0.12);
}

#view-rakeback .rx-rakeback-empty-state strong {
  color: #f5f1fc;
  font-size: 0.96rem;
}

#view-rakeback .rx-rakeback-empty-state p {
  margin: 0;
  color: rgba(198, 205, 223, 0.58);
  font-size: 0.75rem;
  line-height: 1.45;
}

#view-rakeback .rx-rakeback-history-cards {
  display: none;
  padding: 14px;
}

#view-rakeback .rx-rakeback-history-card {
  min-width: 0;
  padding: 15px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 14px;
  background: rgba(9, 12, 27, 0.65);
}

#view-rakeback .rx-rakeback-history-card + .rx-rakeback-history-card {
  margin-top: 10px;
}

#view-rakeback .rx-rakeback-history-card-row {
  display: grid;
  grid-template-columns: minmax(100px, 0.42fr) minmax(0, 1fr);
  gap: 14px;
  padding: 7px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.045);
}

#view-rakeback .rx-rakeback-history-card-row:last-child {
  border-bottom: 0;
}

#view-rakeback .rx-rakeback-history-card-row span:first-child {
  color: rgba(199, 207, 225, 0.56);
  font-size: 0.68rem;
  font-weight: 730;
}

#view-rakeback .rx-rakeback-history-card-row span:last-child,
#view-rakeback .rx-rakeback-history-card-row strong {
  min-width: 0;
  color: #f2eff8;
  font-size: 0.74rem;
  text-align: right;
  overflow-wrap: anywhere;
}

#view-rakeback .rx-rakeback-skeleton {
  position: relative;
  overflow: hidden;
  color: transparent !important;
  border-color: transparent !important;
  background: rgba(255, 255, 255, 0.065) !important;
}

#view-rakeback .rx-rakeback-skeleton::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.08), transparent);
  animation: rxRakebackSkeleton 1.4s ease-in-out infinite;
}

@keyframes rxRakebackSkeleton { to { transform: translateX(100%); } }

@media (max-width: 1180px) {
  #view-rakeback .rx-rakeback-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #view-rakeback .rx-rakeback-stat {
    min-height: 105px;
  }
}

@media (max-width: 900px) {
  #view-rakeback.rx-rakeback-popup {
    align-items: flex-start !important;
    padding: 12px !important;
  }
  #view-rakeback .rx-rakeback-dashboard {
    width: 100% !important;
    max-height: calc(100vh - 24px) !important;
    padding: 22px !important;
  }
  #view-rakeback .rx-rakeback-goal-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  #view-rakeback .rx-rakeback-dashboard {
    padding: 18px !important;
    border-radius: 20px !important;
  }
  #view-rakeback .rx-rakeback-popup-close {
    top: 14px !important;
    right: 14px !important;
    width: 42px !important;
    height: 42px !important;
  }
  #view-rakeback .rx-rakeback-dashboard-header {
    padding-right: 52px;
  }
  #view-rakeback .rx-rakeback-dashboard-header h1 {
    font-size: clamp(1.85rem, 9vw, 2.45rem) !important;
  }
  #view-rakeback .rx-rakeback-history-header {
    align-items: flex-start;
    flex-direction: column;
  }
  #view-rakeback .rx-rakeback-refresh-btn {
    width: 100%;
  }
  #view-rakeback .rx-rakeback-history-table-wrap {
    display: none;
  }
  #view-rakeback .rx-rakeback-history-cards {
    display: block;
  }
}

@media (max-width: 520px) {
  #view-rakeback.rx-rakeback-popup {
    padding: 7px !important;
  }
  #view-rakeback .rx-rakeback-dashboard {
    max-height: calc(100vh - 14px) !important;
    padding: 15px !important;
    border-radius: 17px !important;
  }
  #view-rakeback .rx-rakeback-dashboard-header {
    margin-bottom: 14px;
  }
  #view-rakeback .rx-rakeback-dashboard-header h1 {
    margin-top: 5px !important;
  }
  #view-rakeback .rx-rakeback-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 0 14px 14px;
    gap: 7px;
  }
  #view-rakeback .rx-rakeback-stat {
    min-height: 104px;
    padding: 11px 8px;
  }
  #view-rakeback .rx-rakeback-goal-card-header {
    padding: 16px 15px 13px;
  }
  #view-rakeback .rx-rakeback-path-section {
    margin-inline: 14px;
    padding: 14px;
  }
  #view-rakeback .rx-rakeback-path-section-header {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
  #view-rakeback .rx-rakeback-or-divider {
    margin-inline: 14px;
  }
  #view-rakeback .rx-rakeback-progress-copy {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }
  #view-rakeback .rx-rakeback-progress-copy strong {
    text-align: left;
  }
  #view-rakeback .rx-rakeback-time-panel {
    padding-inline: 14px;
  }
  #view-rakeback .rx-rakeback-time-copy {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }
  #view-rakeback .rx-rakeback-time-copy strong {
    text-align: left;
  }
  #view-rakeback .rx-rakeback-history-header {
    padding: 15px;
  }
  #view-rakeback .rx-rakeback-history-title {
    align-items: flex-start;
  }
  #view-rakeback .rx-rakeback-history-card-row {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  #view-rakeback .rx-rakeback-history-card-row span:last-child,
  #view-rakeback .rx-rakeback-history-card-row strong {
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  #view-rakeback .rx-rakeback-time-track > span,
  #view-rakeback .rx-rakeback-progress-track > span,
  #view-rakeback .rx-rakeback-refresh-btn,
  #view-rakeback .rx-rakeback-popup-close {
    transition: none !important;
  }
  #view-rakeback .rx-rakeback-time-track > span::after,
  #view-rakeback .rx-rakeback-refresh-btn.is-loading span:first-child,
  #view-rakeback .rx-rakeback-skeleton::after {
    animation: none !important;
  }
}


/* v53 loading and retry refinements */
#view-rakeback .rx-rakeback-system-message {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

#view-rakeback #rakebackRetryBtn {
  flex: none;
  min-height: 32px;
  padding: 6px 11px;
  border: 1px solid rgba(255, 126, 145, 0.35);
  border-radius: 9px;
  background: rgba(123, 33, 50, 0.18);
  color: #ffc0ca;
  font-weight: 800;
  cursor: pointer;
}

#view-rakeback #rakebackRetryBtn[hidden] { display: none !important; }

#view-rakeback .rx-rakeback-goal-card.is-loading,
#view-rakeback .rx-rakeback-history-dashboard.is-loading {
  position: relative;
  pointer-events: none;
}

#view-rakeback .rx-rakeback-goal-card.is-loading::after,
#view-rakeback .rx-rakeback-history-dashboard.is-loading::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 12;
  border-radius: inherit;
  background:
    linear-gradient(105deg, transparent 18%, rgba(255,255,255,0.055) 42%, transparent 66%),
    rgba(7, 10, 22, 0.24);
  background-size: 230% 100%, auto;
  animation: rxRakebackPanelLoad 1.25s ease-in-out infinite;
}

@keyframes rxRakebackPanelLoad {
  from { background-position: 140% 0, 0 0; }
  to { background-position: -120% 0, 0 0; }
}

#view-rakeback .rx-rakeback-time-track > span::after {
  inset: auto -4px auto auto;
}

@media (max-width: 520px) {
  #view-rakeback .rx-rakeback-system-message {
    align-items: flex-start;
    flex-direction: column;
  }
  #view-rakeback #rakebackRetryBtn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  #view-rakeback .rx-rakeback-goal-card.is-loading::after,
  #view-rakeback .rx-rakeback-history-dashboard.is-loading::after {
    animation: none !important;
  }
}

/* === Dynamic Rakeback claim dashboard v54 === */
#view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-status-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 0 20px 18px;
}

#view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-status-stat {
  min-width: 0;
  min-height: 78px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(231, 181, 66, 0.2);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(27, 31, 55, 0.72), rgba(13, 17, 34, 0.82));
}

#view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-status-stat > span {
  color: rgba(205, 211, 230, 0.66);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.35;
  text-transform: uppercase;
}

#view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-status-stat .rx-rakeback-status {
  flex: none;
  max-width: 58%;
}

#view-rakeback .rx-rakeback-requirements {
  min-width: 0;
  margin: 0 20px 18px;
  padding: 18px;
  border: 1px solid rgba(154, 96, 235, 0.2);
  border-radius: 17px;
  background: linear-gradient(155deg, rgba(19, 22, 43, 0.82), rgba(10, 13, 29, 0.82));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

#view-rakeback .rx-rakeback-requirements-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
}

#view-rakeback .rx-rakeback-requirements-header h3 {
  margin: 0;
  color: #edc764;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -0.01em;
}

#view-rakeback .rx-rakeback-requirements-header p {
  margin: 4px 0 0;
  color: rgba(201, 209, 226, 0.62);
  font-size: 0.74rem;
  line-height: 1.45;
}

#view-rakeback .rx-rakeback-level-badge {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 29px;
  padding: 5px 10px;
  border: 1px solid rgba(177, 112, 248, 0.38);
  border-radius: 999px;
  background: rgba(99, 53, 157, 0.14);
  color: #d8bbff;
  font-size: 0.64rem;
  font-weight: 800;
  white-space: nowrap;
}

#view-rakeback .rx-rakeback-requirement-list {
  display: grid;
  gap: 16px;
}

#view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-progress-row {
  min-width: 0;
  padding: 0;
}

#view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-progress-row + .rx-rakeback-progress-row {
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.055);
}

#view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-progress-row small {
  display: block;
  margin-top: 7px;
  color: rgba(190, 198, 217, 0.5);
  font-size: 0.66rem;
  line-height: 1.4;
}

#view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-progress-copy {
  margin-bottom: 8px;
}

#view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-progress-copy span {
  color: #f0edf7;
  font-size: 0.78rem;
  font-weight: 730;
}

#view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-progress-copy strong {
  color: #fff8e8;
  font-size: 0.78rem;
  font-weight: 800;
}

#view-rakeback .rx-rakeback-reward-panel {
  margin: 0 20px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 17px 18px;
  border: 1px solid rgba(239, 190, 73, 0.5);
  border-radius: 16px;
  background:
    radial-gradient(circle at 84% 12%, rgba(152, 77, 241, 0.18), transparent 34%),
    linear-gradient(145deg, rgba(52, 37, 68, 0.72), rgba(20, 23, 42, 0.9));
  box-shadow: 0 0 28px rgba(183, 111, 255, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

#view-rakeback .rx-rakeback-reward-panel[hidden] {
  display: none !important;
}

#view-rakeback .rx-rakeback-reward-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
}

#view-rakeback .rx-rakeback-reward-copy > span {
  color: #efc866;
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

#view-rakeback .rx-rakeback-reward-copy > strong {
  color: #fff7e4;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.7rem;
  font-weight: 600;
  line-height: 1;
}

#view-rakeback .rx-rakeback-reward-copy > small {
  color: rgba(204, 211, 229, 0.58);
  font-size: 0.68rem;
  overflow-wrap: anywhere;
}

#view-rakeback .rx-rakeback-reward-action {
  flex: none;
  display: flex;
  align-items: center;
  gap: 10px;
}

#view-rakeback .rx-rakeback-claim-button {
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid rgba(242, 194, 79, 0.82);
  border-radius: 12px;
  background: linear-gradient(135deg, #8b49d7, #5d2b9c 58%, #a46a1c);
  color: #fff9ec;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.01em;
  cursor: pointer;
  box-shadow: 0 10px 28px rgba(81, 36, 139, 0.32), 0 0 20px rgba(230, 181, 68, 0.1);
  transition: transform 160ms ease, filter 160ms ease, box-shadow 160ms ease;
}

#view-rakeback .rx-rakeback-claim-button:hover:not(:disabled) {
  transform: translateY(-1px);
  filter: brightness(1.08);
  box-shadow: 0 13px 32px rgba(81, 36, 139, 0.42), 0 0 24px rgba(230, 181, 68, 0.16);
}

#view-rakeback .rx-rakeback-claim-button:focus-visible {
  outline: 3px solid rgba(188, 122, 255, 0.5);
  outline-offset: 3px;
}

#view-rakeback .rx-rakeback-claim-button:disabled {
  opacity: 0.62;
  cursor: wait;
}

#view-rakeback .rx-rakeback-status.reward_available,
#view-rakeback .rx-rakeback-history-status.reward_available {
  color: #ffe29a !important;
  border-color: rgba(239, 190, 73, 0.5) !important;
  background: rgba(166, 111, 25, 0.15) !important;
  box-shadow: 0 0 17px rgba(233, 182, 67, 0.12) !important;
}

#view-rakeback .rx-rakeback-status.waiting_period_end {
  color: #d9c3ff !important;
  border-color: rgba(164, 101, 244, 0.4) !important;
  background: rgba(101, 56, 163, 0.15) !important;
}

#view-rakeback .rx-rakeback-status.payment_processing,
#view-rakeback .rx-rakeback-history-status.payment_processing,
#view-rakeback .rx-rakeback-status.payment_scheduled,
#view-rakeback .rx-rakeback-history-status.payment_scheduled,
#view-rakeback .rx-rakeback-status.pending_verified_payout_address,
#view-rakeback .rx-rakeback-status.pending_reserve {
  color: #ffd991 !important;
  border-color: rgba(237, 178, 61, 0.4) !important;
  background: rgba(148, 96, 19, 0.14) !important;
}

#view-rakeback .rx-rakeback-status.goal_missed,
#view-rakeback .rx-rakeback-history-status.goal_missed,
#view-rakeback .rx-rakeback-status.payment_failed,
#view-rakeback .rx-rakeback-history-status.payment_failed {
  color: #ffb0bd !important;
  border-color: rgba(255, 104, 126, 0.38) !important;
  background: rgba(144, 38, 59, 0.14) !important;
}

#view-rakeback .rx-rakeback-status.rakeback_disabled {
  color: #c9c4d3 !important;
  border-color: rgba(163, 154, 175, 0.28) !important;
  background: rgba(96, 89, 107, 0.14) !important;
}

#view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-history-table {
  min-width: 760px;
}

#view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-history-table th:nth-child(1) { width: 16%; }
#view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-history-table th:nth-child(2) { width: 22%; }
#view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-history-table th:nth-child(3) { width: 15%; }
#view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-history-table th:nth-child(4) { width: 15%; }
#view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-history-table th:nth-child(5) { width: 17%; }
#view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-history-table th:nth-child(6) { width: 15%; }

@media (max-width: 720px) {
  #view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-status-summary {
    grid-template-columns: 1fr;
    padding-inline: 14px;
  }
  #view-rakeback .rx-rakeback-requirements {
    margin-inline: 14px;
    padding: 15px;
  }
  #view-rakeback .rx-rakeback-reward-panel {
    margin-inline: 14px;
    align-items: stretch;
    flex-direction: column;
  }
  #view-rakeback .rx-rakeback-reward-action {
    align-items: stretch;
    flex-direction: column;
  }
  #view-rakeback .rx-rakeback-claim-button {
    width: 100%;
  }
}

@media (max-width: 520px) {
  #view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-status-stat {
    min-height: 70px;
    align-items: flex-start;
    flex-direction: column;
  }
  #view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-status-stat .rx-rakeback-status {
    max-width: 100%;
  }
  #view-rakeback .rx-rakeback-requirements-header {
    flex-direction: column;
  }
  #view-rakeback .rx-rakeback-level-badge {
    white-space: normal;
  }
  #view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-progress-copy {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }
  #view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-progress-copy strong {
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  #view-rakeback .rx-rakeback-claim-button {
    transition: none !important;
  }
}

/* NOWPayments real deposit instructions + durable history (v57) */
.cashier-deposit-hints {
  display: grid;
  gap: .35rem;
  margin: -.15rem 0 .15rem;
  color: rgba(255,255,255,.62);
  line-height: 1.45;
}
.cashier-deposit-details {
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid rgba(247,199,91,.28);
  border-radius: 18px;
  background:
    radial-gradient(circle at 92% 0%, rgba(132,68,255,.14), transparent 38%),
    linear-gradient(145deg, rgba(10,12,25,.98), rgba(18,14,33,.94));
  box-shadow: 0 18px 42px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.035);
}
.cashier-deposit-detail-head,
.cashier-history-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
.cashier-deposit-detail-head h4 { margin: .18rem 0 0; color: #fff; font-size: 1.05rem; }
.cashier-deposit-payment-grid {
  display: grid;
  grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
  gap: 1.1rem;
  align-items: start;
  margin-top: 1rem;
}
.cashier-deposit-qr-shell {
  display: grid;
  gap: .55rem;
  justify-items: center;
  padding: .8rem;
  border: 1px solid rgba(163,107,255,.25);
  border-radius: 16px;
  background: rgba(5,7,17,.72);
}
.cashier-deposit-qr-shell img {
  width: min(100%, 260px);
  aspect-ratio: 1;
  display: block;
  border-radius: 12px;
  background: #fff;
}
.cashier-deposit-qr-shell small { text-align: center; color: rgba(255,255,255,.58); }
.cashier-deposit-instructions { display: grid; gap: .7rem; min-width: 0; }
.cashier-deposit-stat {
  display: grid;
  grid-template-columns: minmax(120px, .7fr) minmax(0, 1.3fr) auto;
  gap: .7rem;
  align-items: center;
  padding: .72rem .8rem;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 13px;
  background: rgba(255,255,255,.025);
  min-width: 0;
}
.cashier-deposit-stat > span,
.cashier-deposit-meta span { color: rgba(255,255,255,.58); font-size: .78rem; }
.cashier-deposit-stat strong,
.cashier-deposit-stat code {
  color: #fff;
  font-size: .9rem;
  font-weight: 800;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.cashier-deposit-stat code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.cashier-copy-btn {
  min-height: 36px;
  padding: .45rem .65rem;
  border: 1px solid rgba(247,199,91,.35);
  border-radius: 10px;
  background: rgba(247,199,91,.075);
  color: #f7cf72;
  font-weight: 800;
  cursor: pointer;
}
.cashier-copy-btn:hover { border-color: rgba(247,199,91,.72); background: rgba(247,199,91,.13); }
.cashier-copy-btn:focus-visible { outline: 2px solid #a56cff; outline-offset: 2px; }
.cashier-deposit-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .6rem;
}
.cashier-deposit-meta > div {
  display: grid;
  gap: .25rem;
  min-width: 0;
  padding: .7rem .75rem;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 12px;
  background: rgba(255,255,255,.018);
}
.cashier-deposit-meta strong { color: #fff; font-size: .82rem; overflow-wrap: anywhere; }
.cashier-network-warning {
  margin-top: .9rem;
  padding: .7rem .8rem;
  border-left: 2px solid #f7c75b;
  border-radius: 8px;
  background: rgba(247,199,91,.07);
  color: rgba(255,255,255,.78);
  line-height: 1.5;
  font-size: .82rem;
}
.rx-deposit-history-card { margin-top: 1rem; }
.cashier-deposit-history-row {
  width: 100%;
  text-align: left;
  color: inherit;
  cursor: pointer;
  appearance: none;
}
.cashier-deposit-history-row:hover { border-color: rgba(151,91,255,.38); transform: translateY(-1px); }
.cashier-deposit-history-row:focus-visible { outline: 2px solid #a56cff; outline-offset: 2px; }
.cashier-history-main,
.cashier-history-status { min-width: 0; }
.cashier-history-status { display: grid; justify-items: end; gap: .28rem; text-align: right; }
.cashier-status-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: .28rem .55rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(255,255,255,.055);
  color: #f2efff;
  font-size: .72rem;
  font-weight: 900;
}
.cashier-status-badge[data-tone="success"] { border-color: rgba(52,211,153,.36); background: rgba(52,211,153,.1); color: #bdf8de; }
.cashier-status-badge[data-tone="warning"] { border-color: rgba(247,199,91,.42); background: rgba(247,199,91,.1); color: #ffe1a0; }
.cashier-status-badge[data-tone="error"] { border-color: rgba(248,113,113,.42); background: rgba(248,113,113,.1); color: #ffc7c7; }
.cashier-empty-state { display: grid; place-items: center; gap: .35rem; min-height: 130px; text-align: center; color: rgba(255,255,255,.62); }
.cashier-empty-state strong { color: #fff; }

@media (max-width: 820px) {
  .cashier-deposit-payment-grid { grid-template-columns: 1fr; }
  .cashier-deposit-qr-shell { max-width: 320px; width: 100%; justify-self: center; }
}
@media (max-width: 620px) {
  .cashier-deposit-details { padding: .8rem; border-radius: 15px; }
  .cashier-deposit-detail-head,
  .cashier-history-heading { flex-direction: column; }
  .cashier-deposit-detail-head .ghost-btn { width: 100%; min-height: 44px; }
  .cashier-deposit-stat { grid-template-columns: 1fr; gap: .35rem; }
  .cashier-copy-btn { width: 100%; min-height: 44px; }
  .cashier-deposit-meta { grid-template-columns: 1fr; }
  .cashier-deposit-history-row { align-items: flex-start; flex-direction: column; gap: .65rem; }
  .cashier-history-status { justify-items: start; text-align: left; }
}

/* Admin NOWPayments deposit management */
.admin-deposits-card { margin: 1rem 0; }
.admin-deposit-filters {
  display: grid;
  grid-template-columns: minmax(220px, 1.6fr) repeat(3, minmax(140px, 1fr));
  gap: .65rem;
  margin: .85rem 0;
}
.admin-deposit-filters input,
.admin-deposit-filters select {
  min-width: 0;
  min-height: 42px;
  padding: .65rem .75rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 11px;
  background: rgba(7,8,18,.85);
  color: #fff;
}
.admin-deposit-pagination {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .7rem;
  margin-top: .8rem;
  color: rgba(255,255,255,.7);
}
.admin-deposit-table td small { color: rgba(255,255,255,.52); overflow-wrap: anywhere; }
@media (max-width: 980px) {
  .admin-deposit-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .admin-deposit-filters { grid-template-columns: 1fr; }
  .admin-deposit-pagination { justify-content: space-between; }
}

/* === RiverX centered canvas with collapsed sidebar v59 ===
   Keep the player canvas visually centered in the viewport when the left
   navigation is collapsed to its icon rail. Reserve the rail width on both
   sides so centering does not turn into a rightward offset. */
@media (min-width: 921px) {
  body.rx-sidebar-collapsed main {
    width: min(1180px, calc(100vw - 124px)) !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.rx-sidebar-collapsed #view-home,
  body.rx-sidebar-collapsed #view-home .rx-dashboard-home,
  body.rx-sidebar-collapsed #view-lobby,
  body.rx-sidebar-collapsed,
  body.rx-sidebar-collapsed #view-cashier,
  body.rx-sidebar-collapsed #view-account,
  body.rx-sidebar-collapsed #view-balance,
  body.rx-sidebar-collapsed #view-legal,
  body.rx-sidebar-collapsed #view-table {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Tablet: keep an equal visual gutter opposite the compact icon rail. */
@media (min-width: 641px) and (max-width: 920px) {
  body.rx-sidebar-collapsed main {
    width: min(1180px, calc(100vw - 116px)) !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Small screens already use the responsive single-column canvas. Keep it
   centered instead of inheriting the old collapsed-sidebar left offset. */
@media (max-width: 640px) {
  body.rx-sidebar-collapsed main {
    width: calc(100% - 24px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* === RiverX poker home graphics live player counts v62 === */
#view-home .rx-home-table-graphic-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 10px !important;
  line-height: 1 !important;
}

#view-home .rx-home-table-live-count {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 76px !important;
  min-height: 34px !important;
  padding: 7px 14px !important;
  margin-top: -2px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(119, 214, 255, 0.5) !important;
  background: linear-gradient(180deg, rgba(6, 14, 36, 0.96), rgba(4, 9, 25, 0.92)) !important;
  color: #f7fbff !important;
  font-size: 0.95rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28), 0 0 0 1px rgba(25, 161, 255, 0.08) inset !important;
  pointer-events: none !important;
}

#view-home .rx-home-table-live-count[data-full="true"] {
  border-color: rgba(255, 105, 120, 0.58) !important;
  background: linear-gradient(180deg, rgba(42, 8, 12, 0.96), rgba(24, 6, 8, 0.92)) !important;
  color: #ffe9eb !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.32), 0 0 18px rgba(255, 76, 107, 0.18) !important;
}

#view-home .rx-home-table-graphic-card.is-table-full img {
  filter: saturate(0.96) brightness(0.96) !important;
}

@media (max-width: 860px) {
  #view-home .rx-home-table-live-count {
    min-width: 72px !important;
    min-height: 32px !important;
    padding: 6px 12px !important;
    font-size: 0.9rem !important;
  }
}

@media (max-width: 560px) {
  #view-home .rx-home-table-graphic-card {
    gap: 8px !important;
  }

  #view-home .rx-home-table-live-count {
    min-width: 68px !important;
    min-height: 30px !important;
    font-size: 0.88rem !important;
  }
}


/* === v67 poker lobby graphics only ===
   Use custom poker graphics only as lobby/home preview cards.
   Keep the joined table as the real interactive poker table UI. */
#view-table .poker-table:not(.exact-art-mode) {
  aspect-ratio: 16 / 9;
  border-radius: clamp(18px, 2.1vw, 34px);
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 45%, rgba(255,255,255,0.04), transparent 32%),
    linear-gradient(180deg, rgba(6,10,19,0.92), rgba(4,7,14,0.98));
}

#view-table .poker-table:not(.exact-art-mode) .actual-table-art {
  display: none !important;
}

#view-table .poker-table:not(.exact-art-mode) .table-image-layer {
  inset: 8% 10%;
  border-radius: 48% / 38%;
  background:
    radial-gradient(circle at 50% 44%, rgba(255,255,255,0.06), transparent 26%),
    radial-gradient(circle at 22% 35%, color-mix(in srgb, var(--accent, #39d8ff) 16%, transparent), transparent 22%),
    radial-gradient(circle at 78% 35%, color-mix(in srgb, var(--accent, #39d8ff) 12%, transparent), transparent 24%),
    linear-gradient(180deg, color-mix(in srgb, var(--feltA, #0a727a) 92%, #17301f), color-mix(in srgb, var(--feltB, #09213f) 96%, #07110d));
  border: clamp(15px, 1.6vw, 22px) solid rgba(16, 12, 9, 0.96);
  box-shadow:
    inset 0 0 0 2px color-mix(in srgb, var(--accent, #39d8ff) 34%, rgba(255,255,255,0.09)),
    inset 0 0 80px rgba(0,0,0,0.34),
    0 20px 40px rgba(0,0,0,0.36);
  opacity: 1 !important;
  filter: none !important;
}

#view-table .poker-table:not(.exact-art-mode) .table-vignette {
  inset: 8% 10%;
  border-radius: 48% / 38%;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.03), rgba(0,0,0,0.14)),
    radial-gradient(circle at 50% 52%, transparent 0 52%, rgba(0,0,0,0.12) 72%, rgba(0,0,0,0.28) 100%);
  box-shadow: inset 0 0 50px rgba(0,0,0,0.24);
}

#view-table .poker-table:not(.exact-art-mode) .felt-pattern,
#view-table .poker-table:not(.exact-art-mode) .live-table-title,
#view-table .poker-table:not(.exact-art-mode) .integrated-art-badge {
  display: block !important;
}

#view-table .poker-table:not(.exact-art-mode) .felt-pattern {
  inset: 16% 20%;
  border-radius: 44% / 34%;
  opacity: 0.35;
}

#view-table .poker-table:not(.exact-art-mode) .pot-display,
#view-table .poker-table:not(.exact-art-mode) .community-cards,
#view-table .poker-table:not(.exact-art-mode) .dealer-chip,
#view-table .poker-table:not(.exact-art-mode) .seat {
  opacity: 1 !important;
  pointer-events: auto !important;
}

#view-table .poker-table:not(.exact-art-mode) .chair {
  display: block !important;
  opacity: 0.58;
}

@media (max-width: 760px) {
  #view-table .poker-table:not(.exact-art-mode) .table-image-layer,
  #view-table .poker-table:not(.exact-art-mode) .table-vignette {
    inset: 9% 5%;
  }
}


/* === v68 authenticated topbar refresh ===
   Replace the old player/wallet pills with a compact wallet + cashier group,
   while keeping the player name and logout aligned to the top-right. */
body.rx-logged-in .rx-fixed-top-nav {
  justify-content: space-between !important;
}

body.rx-logged-in .rx-fixed-top-actions {
  position: static !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  margin-left: auto !important;
  width: auto !important;
  max-width: calc(100% - 210px) !important;
  justify-content: flex-end !important;
}

body.rx-logged-in .rx-topbar-session-actions {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 14px !important;
  width: auto !important;
  min-width: 0 !important;
}

.rx-topbar-balance-cluster,
.rx-topbar-user-cluster {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.rx-topbar-balance-btn,
.rx-topbar-cashier-btn {
  height: 40px;
  min-height: 40px;
  border-radius: 6px;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 10px 24px rgba(3, 8, 21, 0.24);
  font-weight: 800;
  cursor: pointer;
  transition: transform 160ms ease, filter 160ms ease, border-color 160ms ease;
}

.rx-topbar-balance-btn:hover,
.rx-topbar-balance-btn:focus-visible,
.rx-topbar-cashier-btn:hover,
.rx-topbar-cashier-btn:focus-visible {
  transform: translateY(-1px);
  outline: none;
}

.rx-topbar-balance-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  min-width: 106px;
  background: linear-gradient(180deg, #35506c, #2b425d);
  color: #ffffff;
  border-color: rgba(100, 133, 166, 0.65);
}

.rx-topbar-balance-icon {
  font-size: 14px;
  filter: saturate(1.15);
}

.rx-topbar-balance-btn strong {
  font-size: 14px;
  font-weight: 900;
  letter-spacing: -0.01em;
}

.rx-topbar-balance-caret {
  font-size: 10px;
  color: rgba(238, 244, 255, 0.9);
}

.rx-topbar-cashier-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px;
  min-width: 108px;
  background: linear-gradient(180deg, #61d97f, #49bf64);
  color: #ffffff;
  border-color: rgba(109, 228, 139, 0.88);
}

.rx-topbar-cashier-icon {
  font-size: 14px;
}

body.rx-logged-in .rx-topbar-account-btn {
  min-width: 0 !important;
  padding: 4px 10px 4px 5px !important;
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

body.rx-logged-in .rx-topbar-account-btn:hover,
body.rx-logged-in .rx-topbar-account-btn:focus-visible {
  background: rgba(255,255,255,0.06) !important;
  border-color: rgba(255,255,255,0.08) !important;
}

body.rx-logged-in .rx-topbar-account-copy strong {
  max-width: 132px;
  color: #ffffff;
  font-size: 13px;
}

body.rx-logged-in .rx-topbar-account-copy small {
  display: none !important;
}

body.rx-logged-in .rx-topbar-logout-btn {
  padding: 0 16px !important;
  background: rgba(10, 16, 34, 0.94) !important;
}

@media (max-width: 980px) {
  body.rx-logged-in .rx-fixed-top-actions {
    max-width: calc(100% - 180px) !important;
  }

  body.rx-logged-in .rx-topbar-session-actions {
    gap: 10px !important;
  }

  .rx-topbar-balance-cluster,
  .rx-topbar-user-cluster {
    gap: 8px;
  }

  .rx-topbar-cashier-btn,
  .rx-topbar-balance-btn {
    padding-inline: 10px;
    min-width: 0;
  }
}

@media (max-width: 760px) {
  body.rx-logged-in .rx-fixed-top-actions {
    max-width: calc(100% - 154px) !important;
  }

  .rx-topbar-balance-cluster {
    gap: 6px;
  }

  .rx-topbar-cashier-btn span:last-child {
    font-size: 12px;
  }

  body.rx-logged-in .rx-topbar-account-copy strong {
    max-width: 92px;
  }
}

@media (max-width: 620px) {
  .rx-topbar-balance-btn {
    min-width: 0;
    padding-inline: 10px;
  }

  .rx-topbar-cashier-btn {
    min-width: 0;
    padding-inline: 12px;
  }

  body.rx-logged-in .rx-topbar-account-copy {
    display: block !important;
  }

  body.rx-logged-in .rx-topbar-account-copy strong {
    max-width: 72px;
    font-size: 12px;
  }
}

@media (max-width: 540px) {
  body.rx-logged-in .rx-fixed-top-nav {
    padding-inline: 10px !important;
  }

  body.rx-logged-in .rx-fixed-top-actions {
    max-width: calc(100% - 134px) !important;
  }

  .rx-topbar-balance-btn,
  .rx-topbar-cashier-btn,
  body.rx-logged-in .rx-topbar-logout-btn {
    height: 36px;
    min-height: 36px;
  }

  .rx-topbar-balance-btn strong {
    font-size: 13px;
  }

  .rx-topbar-cashier-btn span:last-child {
    display: none;
  }

  .rx-topbar-cashier-btn {
    width: 40px;
    padding: 0;
  }

  body.rx-logged-in .rx-topbar-account-btn {
    padding-right: 6px !important;
  }
}

@media (max-width: 430px) {
  .rx-topbar-balance-btn {
    width: auto;
    padding-inline: 8px;
    gap: 6px;
  }

  .rx-topbar-balance-icon,
  .rx-topbar-balance-caret {
    display: none;
  }

  body.rx-logged-in .rx-topbar-account-copy strong {
    max-width: 56px;
  }

  body.rx-logged-in .rx-topbar-logout-btn {
    padding-inline: 10px !important;
  }
}


/* === v69 restored v55 playable poker tables ===
   Lobby/home thumbnails remain the newer custom graphics. The actual poker screen
   uses the original v55 playable table surfaces with live seats/cards/chips/actions
   rendered on top. */
#view-table .poker-table:not(.exact-art-mode) {
  aspect-ratio: 1672 / 941 !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  background: #02050d !important;
  border: 1px solid color-mix(in srgb, var(--accent, #39d8ff) 54%, rgba(255,255,255,0.18)) !important;
  box-shadow:
    0 36px 100px rgba(0, 0, 0, 0.72),
    0 0 92px color-mix(in srgb, var(--accent, #39d8ff) 16%, transparent) !important;
}

#view-table .poker-table:not(.exact-art-mode) .actual-table-art {
  display: none !important;
}

#view-table .poker-table:not(.exact-art-mode) .table-image-layer {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  border: 0 !important;
  border-radius: inherit !important;
  background-image: var(--tableImage) !important;
  background-size: 100% 100% !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  opacity: 1 !important;
  filter: saturate(1.04) contrast(1.02) !important;
  box-shadow: none !important;
}

#view-table .poker-table:not(.exact-art-mode) .table-vignette {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  border-radius: inherit !important;
  background: radial-gradient(ellipse at 50% 50%, transparent 56%, rgba(0,0,0,0.10) 80%, rgba(0,0,0,0.22) 100%) !important;
  box-shadow: none !important;
  pointer-events: none !important;
}

#view-table .poker-table:not(.exact-art-mode) .felt-pattern,
#view-table .poker-table:not(.exact-art-mode) .chair {
  display: none !important;
}

#view-table .poker-table:not(.exact-art-mode) .pot-display,
#view-table .poker-table:not(.exact-art-mode) .community-cards,
#view-table .poker-table:not(.exact-art-mode) .dealer-chip,
#view-table .poker-table:not(.exact-art-mode) .seat {
  opacity: 1 !important;
  pointer-events: auto !important;
  z-index: 12 !important;
}

#view-table .poker-table:not(.exact-art-mode) .live-table-title,
#view-table .poker-table:not(.exact-art-mode) .integrated-art-badge {
  display: none !important;
}

@media (max-width: 760px) {
  #view-table .poker-table:not(.exact-art-mode) {
    aspect-ratio: 1672 / 941 !important;
    min-height: auto !important;
  }

  #view-table .poker-table:not(.exact-art-mode) .table-image-layer {
    inset: 0 !important;
    background-size: contain !important;
    background-color: #02050d !important;
  }
}


/* === RiverX admin account controls + unique names v66 === */
.admin-account-controls-layout { align-items: start; }
.admin-account-controls-form { display: grid; gap: 18px; }
.admin-control-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.admin-control-grid label, .admin-account-controls-form > label { display: grid; gap: 7px; color: rgba(235,239,255,.78); font-size: .82rem; font-weight: 700; }
.admin-control-grid input, .admin-account-controls-form textarea { width: 100%; min-width: 0; border: 1px solid rgba(151,102,255,.25); border-radius: 12px; background: rgba(3,8,20,.78); color: #fff; padding: 11px 12px; outline: none; }
.admin-control-grid input:focus, .admin-account-controls-form textarea:focus { border-color: rgba(198,151,255,.7); box-shadow: 0 0 0 3px rgba(136,70,255,.12); }
.admin-account-controls-form textarea { min-height: 88px; resize: vertical; }
.admin-toggle-row { display: flex !important; align-items: flex-start; gap: 11px !important; padding: 13px; border: 1px solid rgba(157,112,255,.16); border-radius: 14px; background: linear-gradient(180deg,rgba(18,20,38,.78),rgba(7,10,21,.72)); cursor: pointer; }
.admin-toggle-row input { margin-top: 3px; accent-color: #9b62ff; }
.admin-toggle-row span { display: grid; gap: 3px; }
.admin-toggle-row strong { color: #fff; font-size: .88rem; }
.admin-toggle-row small { color: rgba(218,224,244,.62); line-height: 1.35; }
.admin-restriction-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.admin-cooling-presets { display: flex; flex-wrap: wrap; gap: 8px; }
.admin-control-divider { height: 1px; background: linear-gradient(90deg,transparent,rgba(236,195,83,.35),rgba(152,89,255,.35),transparent); }
.admin-control-hint, .admin-account-controls-help p { margin: 0; color: rgba(210,217,239,.62); font-size: .78rem; line-height: 1.45; }
.admin-account-controls-help { margin-top: 16px; padding: 14px; border-radius: 14px; background: rgba(92,53,158,.08); border: 1px solid rgba(178,126,255,.15); }
.admin-account-controls-help strong { color: #f4d67b; }
.rx-name-availability { display: block; margin-top: 6px; color: rgba(220,225,242,.62); font-size: .75rem; }
.rx-name-availability[data-status="available"] { color: #75e9b1; }
.rx-name-availability[data-status="taken"] { color: #ff8998; }
@media (max-width: 900px) { .admin-control-grid, .admin-restriction-grid { grid-template-columns: 1fr; } }


/* === RiverX professional QA polish v70 === */
html, body { max-width: 100%; }
body { overflow-x: clip; }
button, input, select, textarea { font: inherit; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid rgba(194, 139, 255, 0.9);
  outline-offset: 2px;
}

/* Keep lobby art as previews; gameplay views own their interactive surfaces. */
#view-home .rx-home-table-graphic-card img {
  object-fit: contain !important;
  object-position: center !important;
}
#view-table .actual-table-art { pointer-events: none !important; }

/* Ensure the fixed header never creates page-level horizontal scrolling. */
.rx-fixed-top-nav,
.rx-fixed-brand-group,
.rx-fixed-top-actions,
.rx-topbar-session-actions,
.rx-topbar-balance-cluster,
.rx-topbar-user-cluster { min-width: 0 !important; }

/* Clean table/game return controls and make touch targets reliable. */
.rx-dedicated-view-nav button,
.rx-compact-game-nav button { min-height: 40px; }

/* Admin panels remain hidden unless the JS + server-authorized admin state activates them. */
.admin-panel-section[hidden],
[data-admin-only][hidden],
.rx-admin-only-ui[hidden] { display: none !important; }

/* Responsive safety for tables/panels that can contain long provider IDs or wallet/network names. */
.admin-table-wrap,
.rx-rakeback-history-table-wrap,
.simple-cashier-history,
.admin-list-panel { max-width: 100%; }
.admin-table-wrap,
.rx-rakeback-history-table-wrap { overflow-x: auto; overscroll-behavior-inline: contain; }

@media (max-width: 720px) {
  main { min-width: 0 !important; }
  .view, .rx-dashboard-home, .table-shell { min-width: 0 !important; max-width: 100% !important; }
  .rx-fixed-brand img { max-width: 120px !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}


/* ========================================================================== */
/* RiverX reusable site action button system — v71                           */
/* Based on Button 3. Applied only to normal site actions; never to the       */
/* top-bar Login/Register buttons, lobby graphics, game preview graphics, or  */
/* poker preview graphics.                                                    */
/* ========================================================================== */
.rx-btn {
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px;
  text-align: center !important;
  text-decoration: none !important;
  vertical-align: middle !important;
  cursor: pointer !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  padding: 12px 20px !important;
  min-height: 42px;
  font-size: 14px !important;
  line-height: 1.1 !important;
  border-radius: 0.25rem !important;
  border: 1px solid transparent !important;
  font-weight: 700 !important;
  letter-spacing: 1.2px !important;
  white-space: nowrap;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
  transition:
    background-color 150ms ease,
    border-color 150ms ease,
    transform 150ms ease,
    box-shadow 150ms ease,
    filter 150ms ease !important;
}

.rx-btn:hover:not(:disabled) {
  color: #fff !important;
  transform: translateY(-1px);
}

.rx-btn:active:not(:disabled) {
  transform: translateY(0);
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.24) !important;
}

.rx-btn:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.92) !important;
  outline-offset: 2px !important;
}

.rx-btn:disabled,
.rx-btn[aria-disabled="true"] {
  pointer-events: none !important;
  opacity: 0.65 !important;
  transform: none !important;
}

.rx-btn.full,
.rx-btn.full-width {
  width: 100% !important;
}

.rx-btn-compact {
  min-height: 36px;
  padding: 9px 14px !important;
  font-size: 12px !important;
  letter-spacing: 0.9px !important;
}

/* Money / cashier / deposit / withdraw / balance / claim actions. */
.rx-btn-green {
  background-color: #198754 !important;
  border-color: #198754 !important;
}
.rx-btn-green:hover:not(:disabled) {
  background-color: #157347 !important;
  border-color: #146c43 !important;
}

/* Reward/VIP accent actions that are not direct money claims. */
.rx-btn-gold {
  background-color: #a97812 !important;
  border-color: #c89a32 !important;
  box-shadow: 0 8px 20px rgba(150, 101, 10, 0.2), 0 0 18px rgba(205, 157, 55, 0.08);
}
.rx-btn-gold:hover:not(:disabled) {
  background-color: #8e650f !important;
  border-color: #d4aa4b !important;
}

/* Feature / admin / security actions. */
.rx-btn-purple {
  background-color: #6542b8 !important;
  border-color: #7657c7 !important;
  box-shadow: 0 8px 20px rgba(56, 31, 111, 0.22), 0 0 16px rgba(137, 89, 255, 0.08);
}
.rx-btn-purple:hover:not(:disabled) {
  background-color: #56369f !important;
  border-color: #8769d3 !important;
}

/* Back / cancel / neutral utility actions. */
.rx-btn-dark {
  background-color: #26384a !important;
  border-color: #344b61 !important;
}
.rx-btn-dark:hover:not(:disabled) {
  background-color: #1f3040 !important;
  border-color: #46617a !important;
}

/* Danger / reject / ban / destructive actions. */
.rx-btn-red {
  background-color: #b3261e !important;
  border-color: #c23b33 !important;
}
.rx-btn-red:hover:not(:disabled) {
  background-color: #922019 !important;
  border-color: #d14b43 !important;
}

/* Preserve compact topbar proportions for authenticated money actions. */
.rx-topbar-balance-btn.rx-btn,
.rx-topbar-cashier-btn.rx-btn,
.rx-topbar-logout-btn.rx-btn {
  min-height: 40px !important;
  height: 40px !important;
  padding-block: 0 !important;
}

/* Keep direct money actions visibly green even where older component CSS used
   higher-specificity colors. */
#weeklyClaimBtn.rx-btn-green,
#monthlyClaimBtn.rx-btn-green,
#cashierDepositSubmitBtn.rx-btn-green,
.rx-cashier-submit.rx-btn-green,
.cashier-copy-btn.rx-btn-green,
.rx-topbar-balance-btn.rx-btn-green,
.rx-topbar-cashier-btn.rx-btn-green {
  background: #198754 !important;
  border-color: #198754 !important;
  color: #fff !important;
}

#weeklyClaimBtn.rx-btn-green:hover:not(:disabled),
#monthlyClaimBtn.rx-btn-green:hover:not(:disabled),
#cashierDepositSubmitBtn.rx-btn-green:hover:not(:disabled),
.rx-cashier-submit.rx-btn-green:hover:not(:disabled),
.cashier-copy-btn.rx-btn-green:hover:not(:disabled),
.rx-topbar-balance-btn.rx-btn-green:hover:not(:disabled),
.rx-topbar-cashier-btn.rx-btn-green:hover:not(:disabled) {
  background: #157347 !important;
  border-color: #146c43 !important;
}

/* Explicit exclusions: these retain their current designs exactly. */
.rx-topbar-login-btn,
.rx-topbar-register-btn,
.rx-auth-submit.button-64,
.rx-home-table-graphic-card,
.table-preview-frame {
  /* Intentionally not part of .rx-btn. */
}

/* Lobby graphics remain graphic-only clickable surfaces. */
#view-home .rx-home-table-graphic-card {
  padding: 0 !important;
  letter-spacing: normal !important;
  box-shadow: none;
}

@media (max-width: 720px) {
  .rx-btn {
    min-height: 44px;
    padding: 11px 16px !important;
    font-size: 13px !important;
  }

  .rx-btn-compact {
    min-height: 40px;
    padding: 9px 12px !important;
    font-size: 12px !important;
  }

  .rx-topbar-balance-btn.rx-btn,
  .rx-topbar-cashier-btn.rx-btn,
  .rx-topbar-logout-btn.rx-btn {
    min-height: 36px !important;
    height: 36px !important;
    padding-inline: 10px !important;
  }
}

@media (max-width: 430px) {
  .rx-btn:not(.rx-btn-compact) {
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rx-btn {
    transition: none !important;
  }
  .rx-btn:hover:not(:disabled) {
    transform: none !important;
  }
}


/* === v72 topbar wallet/cashier refinement ===
   Match the compact reference more closely: gray-blue balance pill with gold coin
   icon, plus green cashier button with a wallet icon. */
.rx-topbar-balance-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 12px !important;
  min-width: 108px !important;
  background: linear-gradient(180deg, #35506c, #2d4460) !important;
  color: #ffffff !important;
  border: 1px solid rgba(100, 133, 166, 0.72) !important;
  border-radius: 6px !important;
  box-shadow: 0 10px 24px rgba(3, 8, 21, 0.22) !important;
}

.rx-topbar-balance-btn strong {
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: -0.01em !important;
  color: #ffffff !important;
}

.rx-topbar-balance-icon,
.rx-topbar-cashier-icon {
  position: relative;
  display: inline-block;
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.rx-topbar-balance-icon {
  width: 15px;
  height: 15px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cellipse cx='8' cy='6' rx='5.4' ry='2.6' fill='%23f5ca57'/%3E%3Cpath d='M2.6 6v2.3c0 1.4 2.4 2.6 5.4 2.6s5.4-1.2 5.4-2.6V6' fill='%23e2ad22'/%3E%3Cellipse cx='8' cy='8.3' rx='5.4' ry='2.6' fill='%23f1bd3f'/%3E%3Cpath d='M7.3 8.2h1.6c1.1 0 2 .8 2 1.8v.1c0 1-.9 1.8-2 1.8H5.5' stroke='%2388600f' stroke-width='1.1' stroke-linecap='round'/%3E%3Cellipse cx='13.7' cy='11.8' rx='3.7' ry='1.9' fill='%23f5ca57'/%3E%3Cpath d='M10 11.8v1.6c0 1 1.7 1.9 3.7 1.9s3.7-.9 3.7-1.9v-1.6' fill='%23e2ad22'/%3E%3Cellipse cx='13.7' cy='13.4' rx='3.7' ry='1.9' fill='%23f1bd3f'/%3E%3C/g%3E%3C/svg%3E") !important;
  filter: drop-shadow(0 1px 1px rgba(0,0,0,0.18));
}

.rx-topbar-balance-caret {
  font-size: 10px !important;
  color: rgba(232, 240, 250, 0.92) !important;
}

.rx-topbar-cashier-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 14px !important;
  min-width: 108px !important;
  background: linear-gradient(180deg, #5fd67b, #4dbf67) !important;
  color: #ffffff !important;
  border: 1px solid rgba(112, 226, 141, 0.9) !important;
  border-radius: 6px !important;
  box-shadow: 0 10px 24px rgba(3, 8, 21, 0.2) !important;
}

.rx-topbar-cashier-btn span:last-child {
  color: #ffffff !important;
  font-weight: 800 !important;
}

.rx-topbar-cashier-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M2.5 6.5A2.5 2.5 0 0 1 5 4h9.5A2.5 2.5 0 0 1 17 6.5v7A2.5 2.5 0 0 1 14.5 16H5A2.5 2.5 0 0 1 2.5 13.5v-7Z' fill='%23ffffff' opacity='.88'/%3E%3Cpath d='M5.5 6.2 7.2 3.8a1.2 1.2 0 0 1 1-.5h5.5c.8 0 1.4.6 1.4 1.4v1.5H5.5Z' fill='%23d5f5de'/%3E%3Crect x='10.5' y='9' width='5' height='2.9' rx='1.45' fill='%234dbf67'/%3E%3Ccircle cx='12.25' cy='10.45' r='.8' fill='%23ffffff'/%3E%3C/g%3E%3C/svg%3E") !important;
  filter: drop-shadow(0 1px 1px rgba(0,0,0,0.15));
}

/* Keep the balance box gray-blue even within the general rx-btn color system. */
.rx-topbar-balance-btn.rx-btn-dark,
.rx-topbar-balance-btn.rx-btn {
  background: linear-gradient(180deg, #35506c, #2d4460) !important;
  border-color: rgba(100, 133, 166, 0.72) !important;
  color: #ffffff !important;
}

.rx-topbar-balance-btn.rx-btn-dark:hover:not(:disabled),
.rx-topbar-balance-btn.rx-btn:hover:not(:disabled) {
  background: linear-gradient(180deg, #3a5875, #324d69) !important;
  border-color: rgba(119, 151, 181, 0.78) !important;
}

/* Topbar cashier remains green and close to the reference. */
.rx-topbar-cashier-btn.rx-btn-green,
.rx-topbar-cashier-btn.rx-btn {
  background: linear-gradient(180deg, #5fd67b, #4dbf67) !important;
  border-color: rgba(112, 226, 141, 0.9) !important;
}

.rx-topbar-cashier-btn.rx-btn-green:hover:not(:disabled),
.rx-topbar-cashier-btn.rx-btn:hover:not(:disabled) {
  background: linear-gradient(180deg, #58ce74, #47b861) !important;
  border-color: rgba(103, 218, 132, 0.94) !important;
}

@media (max-width: 540px) {
  .rx-topbar-balance-btn {
    min-width: 92px !important;
    padding-inline: 10px !important;
  }

  .rx-topbar-cashier-btn {
    width: auto !important;
    min-width: 40px !important;
  }
}


/* === v73 integrated premium rakeback period timer === */
#view-rakeback .rx-rakeback-time-panel {
  position: relative;
  margin: 18px 18px 16px !important;
  padding: 15px 16px 14px !important;
  overflow: hidden;
  border: 1px solid rgba(139, 92, 246, 0.2) !important;
  border-radius: 16px;
  background:
    radial-gradient(circle at 8% 0%, rgba(139, 92, 246, 0.12), transparent 42%),
    radial-gradient(circle at 92% 100%, rgba(228, 186, 78, 0.08), transparent 40%),
    linear-gradient(180deg, rgba(13, 17, 34, 0.82), rgba(7, 10, 22, 0.9)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.035), 0 14px 34px rgba(0, 0, 0, 0.16);
}
#view-rakeback .rx-rakeback-time-panel::before {
  content: ""; position: absolute; inset: 0 0 auto; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(154,98,255,.7), rgba(232,194,91,.45), transparent);
  opacity: .75; pointer-events: none;
}
#view-rakeback .rx-rakeback-time-heading { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:11px; margin-bottom:12px; }
#view-rakeback .rx-rakeback-time-icon { position:relative; width:32px; height:32px; display:grid; place-items:center; border-radius:10px; border:1px solid rgba(147,99,255,.28); background:linear-gradient(145deg,rgba(114,61,214,.22),rgba(28,24,56,.62)); box-shadow:inset 0 1px 0 rgba(255,255,255,.05); }
#view-rakeback .rx-rakeback-time-icon::before { content:""; width:14px; height:14px; border:1.5px solid rgba(240,231,255,.88); border-radius:50%; box-sizing:border-box; }
#view-rakeback .rx-rakeback-time-icon::after { content:""; position:absolute; left:15px; top:9px; width:1.5px; height:7px; border-radius:99px; background:#f3e9ff; transform-origin:50% 7px; transform:rotate(33deg); box-shadow:0 0 6px rgba(181,126,255,.48); }
#view-rakeback .rx-rakeback-time-icon > span { position:absolute; width:4px; height:4px; border-radius:50%; background:#e7bd58; box-shadow:0 0 7px rgba(231,189,88,.55); }
#view-rakeback .rx-rakeback-time-copy { display:grid !important; justify-content:initial !important; align-items:initial !important; gap:4px !important; margin:0 !important; min-width:0; }
#view-rakeback .rx-rakeback-time-copy span { color:rgba(202,210,231,.66) !important; font-size:.66rem !important; font-weight:780 !important; letter-spacing:.115em !important; text-transform:uppercase; }
#view-rakeback .rx-rakeback-time-copy strong { color:#fbf9ff !important; font-family:inherit !important; font-size:clamp(1rem,1.45vw,1.18rem) !important; font-weight:850 !important; font-variant-numeric:tabular-nums; letter-spacing:.035em; line-height:1.1 !important; text-align:left !important; white-space:nowrap; text-shadow:0 0 18px rgba(139,92,246,.16); }
#view-rakeback .rx-rakeback-time-state { display:inline-flex; align-items:center; justify-content:center; min-height:26px; padding:0 9px; border:1px solid rgba(226,188,80,.2); border-radius:999px; background:rgba(226,188,80,.055); color:rgba(239,215,151,.85); font-size:.62rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; white-space:nowrap; }
#view-rakeback .rx-rakeback-time-rail-wrap { position:relative; padding:1px 0 0; }
#view-rakeback .rx-rakeback-time-track { position:relative; height:5px !important; margin:0 !important; overflow:hidden !important; border:1px solid rgba(255,255,255,.045); border-radius:999px !important; background:linear-gradient(180deg,rgba(45,53,78,.78),rgba(28,34,54,.82)) !important; box-shadow:inset 0 1px 2px rgba(0,0,0,.46),0 1px 0 rgba(255,255,255,.025); }
#view-rakeback .rx-rakeback-time-track::after { content:""; position:absolute; inset:0; pointer-events:none; background:repeating-linear-gradient(90deg,transparent 0 24%,rgba(255,255,255,.045) 24.2% 24.55%,transparent 24.75% 25%); opacity:.45; }
#view-rakeback .rx-rakeback-time-track > span { position:absolute !important; inset:0 auto 0 0 !important; display:block !important; width:0; min-width:2px !important; height:100% !important; overflow:visible; border-radius:inherit !important; background:linear-gradient(90deg,#6e36e8 0%,#9a4ff2 48%,#d28d79 78%,#e8bd58 100%) !important; background-size:180% 100% !important; box-shadow:0 0 10px rgba(145,76,236,.32) !important; transition:width 1s linear !important; animation:rxRakebackIntegratedFlow 5s ease-in-out infinite alternate; }
#view-rakeback .rx-rakeback-time-track > span::before { content:""; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(90deg,transparent 0 54%,rgba(255,255,255,.34) 70%,transparent 88%); transform:translateX(-75%); animation:rxRakebackIntegratedSweep 4.6s ease-in-out infinite; opacity:.65; }
#view-rakeback .rx-rakeback-time-track > span::after { content:"" !important; position:absolute !important; top:50% !important; right:-3px !important; inset:auto -3px auto auto !important; width:6px !important; height:6px !important; border:1px solid rgba(255,237,181,.85); border-radius:50% !important; background:#e9bf5c !important; box-shadow:0 0 7px rgba(234,190,89,.48),0 0 11px rgba(139,92,246,.24) !important; transform:translateY(-50%) !important; animation:none !important; }
#view-rakeback .rx-rakeback-time-rail-labels { display:flex; justify-content:space-between; gap:10px; margin-top:6px; color:rgba(160,170,194,.54); font-size:.58rem; font-weight:680; letter-spacing:.045em; text-transform:uppercase; }
#view-rakeback .rx-rakeback-period { display:block; margin-top:8px !important; color:rgba(172,181,203,.56) !important; font-size:.65rem !important; line-height:1.35; }
@keyframes rxRakebackIntegratedFlow { from{background-position:0% 50%} to{background-position:100% 50%} }
@keyframes rxRakebackIntegratedSweep { 0%,20%{transform:translateX(-105%);opacity:0} 42%{opacity:.55} 78%,100%{transform:translateX(125%);opacity:0} }
@media (max-width:620px) {
  #view-rakeback .rx-rakeback-time-panel { margin-inline:12px !important; padding:13px 13px 12px !important; }
  #view-rakeback .rx-rakeback-time-heading { grid-template-columns:auto minmax(0,1fr); gap:9px; }
  #view-rakeback .rx-rakeback-time-state { grid-column:1/-1; justify-self:start; min-height:23px; }
  #view-rakeback .rx-rakeback-time-copy strong { white-space:normal; }
}
@media (prefers-reduced-motion:reduce) {
  #view-rakeback .rx-rakeback-time-track > span, #view-rakeback .rx-rakeback-time-track > span::before { animation:none !important; }
  #view-rakeback .rx-rakeback-time-track > span { transition:none !important; }
}


/* === v74 NOWPayments payout admin === */
.admin-inline-2fa { display:inline-grid; gap:4px; min-width:132px; color:rgba(225,230,246,.74); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.admin-inline-2fa input { width:132px; min-height:40px; padding:8px 10px; border-radius:7px; border:1px solid rgba(154,104,255,.35); background:rgba(5,9,23,.94); color:#fff; font:inherit; font-size:13px; letter-spacing:.12em; }
.admin-inline-2fa input:focus { outline:2px solid rgba(154,104,255,.34); outline-offset:2px; border-color:rgba(196,158,255,.72); }
@media (max-width:640px){ .cashier-admin-actions{align-items:stretch!important}.admin-inline-2fa,.admin-inline-2fa input{width:100%;min-width:0}.cashier-admin-actions .rx-btn{width:100%} }


/* === v75 RiverX Cashier modal rebuild === */
body[data-active-view="cashier"] { overflow: hidden !important; }
body[data-active-view="cashier"] main { position: relative !important; z-index: 12100 !important; }
main > #view-cashier.rx-cashier-modal-view.active {
  position: fixed !important; inset: 0 !important; display: grid !important; place-items: center !important;
  padding: 78px 16px 18px !important; margin: 0 !important; width: 100vw !important; max-width: none !important;
  z-index: 12100 !important; overflow: hidden !important;
}
.rx-cashier-modal-backdrop { position: absolute; inset: 0; background: rgba(5, 10, 20, .78); backdrop-filter: blur(7px); }
.rx-cashier-modal {
  position: relative; width: min(760px, calc(100vw - 28px)); max-height: calc(100vh - 96px); overflow: hidden;
  display: flex; flex-direction: column; color: #f7f9ff; background: #1e2e3f;
  border: 1px solid rgba(116, 142, 169, .28); border-radius: 14px;
  box-shadow: 0 30px 90px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.035);
}
.rx-cashier-modal-header { min-height: 68px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 16px 13px 20px; border-bottom:1px solid rgba(116,142,169,.23); background:#1d2b3a; }
.rx-cashier-modal-title-wrap,.rx-cashier-header-actions,.rx-cashier-selected-coin,.rx-cashier-section-head,.rx-cashier-history-title { display:flex; align-items:center; }
.rx-cashier-modal-title-wrap { gap:11px; min-width:0; }
.rx-cashier-modal-title-wrap h2 { margin:0; font-size:18px; line-height:1; letter-spacing:-.01em; }
.rx-cashier-modal-title-wrap span { display:block; margin-top:5px; color:#8fa4b9; font-size:11px; font-weight:700; }
.rx-cashier-wallet-mark { width:22px; height:18px; border-radius:3px; background:#fff; position:relative; box-shadow:0 4px 12px rgba(0,0,0,.18); }
.rx-cashier-wallet-mark::before { content:""; position:absolute; width:15px; height:5px; left:2px; top:-3px; border-radius:2px; background:#d9e3eb; transform:rotate(-7deg); }
.rx-cashier-wallet-mark::after { content:""; position:absolute; width:8px; height:7px; right:-3px; top:6px; border-radius:2px; background:#263d54; border:2px solid #fff; }
.rx-cashier-header-actions { gap:8px; }
.rx-cashier-balance-chip { display:grid; justify-items:end; line-height:1.05; min-width:92px; padding:7px 10px; border-radius:8px; background:#2b4055; border:1px solid rgba(116,142,169,.24); }
.rx-cashier-balance-chip span { color:#8fa4b9; font-size:9px; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.rx-cashier-balance-chip strong { margin-top:4px; font-size:13px; color:#fff; }
.rx-cashier-close-btn { width:36px; height:36px; display:grid; place-items:center; border:0; border-radius:8px; color:#eef5fb; background:transparent; cursor:pointer; font-size:22px; line-height:1; }
.rx-cashier-close-btn:hover { background:rgba(255,255,255,.07); color:#fff; }
.rx-cashier-main-tabs { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:10px 12px; background:#1d2b3a; border-bottom:1px solid rgba(116,142,169,.23); }
.rx-cashier-main-tab { min-height:42px; border:0; border-radius:6px; background:#26394c; color:#f8fbff; font-size:14px; font-weight:850; cursor:pointer; transition:background .16s ease, box-shadow .16s ease, transform .16s ease; }
.rx-cashier-main-tab:hover { background:#30475d; }
.rx-cashier-main-tab.is-active { background:#198754; box-shadow:inset 0 0 0 1px rgba(133,238,176,.16); }
.rx-cashier-modal-body { overflow-y:auto; overscroll-behavior:contain; padding:16px; scrollbar-width:thin; scrollbar-color:#405a72 transparent; }
.rx-cashier-panel[hidden],#cashierDepositMethods[hidden],#cashierDepositFlow[hidden],#cashierWithdrawMethods[hidden],#cashierWithdrawFlow[hidden] { display:none !important; }
.rx-cashier-section-head { justify-content:space-between; gap:20px; margin-bottom:14px; }
.rx-cashier-section-head h3,.rx-cashier-history-title h3 { margin:2px 0 3px; font-size:18px; }
.rx-cashier-section-head p { margin:0; color:#9eb0c1; font-size:12px; max-width:500px; }
.rx-crypto-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.rx-crypto-card { min-width:0; min-height:126px; position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:9px; padding:14px; text-align:left; color:#fff; border:1px solid rgba(116,142,169,.18); border-radius:9px; background:#293e53; box-shadow:inset 0 1px 0 rgba(255,255,255,.025); cursor:pointer; transition:transform .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease; overflow:hidden; }
.rx-crypto-card:hover:not(:disabled),.rx-crypto-card:focus-visible { transform:translateY(-2px); background:#304860; border-color:rgba(67,209,122,.62); box-shadow:0 10px 24px rgba(0,0,0,.18), inset 0 0 0 1px rgba(67,209,122,.12); outline:none; }
.rx-crypto-card.is-unavailable { opacity:.45; cursor:not-allowed; }
.rx-crypto-card-copy { display:grid; min-width:0; }
.rx-crypto-card-copy strong { font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rx-crypto-card-copy small { margin-top:3px; color:#8fa4b9; font-size:9px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rx-crypto-card-copy b { margin-top:7px; font-size:12px; color:#fff; }
.rx-crypto-card-ticker { position:absolute; right:10px; top:10px; color:#7f96aa; font-size:9px; font-weight:900; letter-spacing:.08em; }
.rx-coin-icon { width:28px; height:28px; flex:0 0 28px; display:inline-grid; place-items:center; border-radius:50%; color:#fff; font-size:15px; font-weight:900; box-shadow:inset 0 1px 1px rgba(255,255,255,.25),0 4px 10px rgba(0,0,0,.16); }
.rx-coin-btc { background:#f7931a; }.rx-coin-eth { background:#627eea; }.rx-coin-ltc { background:#7c94aa; }.rx-coin-doge { background:#c2a633; }.rx-coin-usdt { background:#26a17b; }.rx-coin-usdc { background:#2775ca; }.rx-coin-dai { background:#f5ac37; }.rx-coin-generic { background:#6957d7; }
.rx-cashier-loading-grid,.rx-cashier-empty-market { grid-column:1/-1; display:grid; place-items:center; min-height:160px; padding:24px; border:1px dashed rgba(116,142,169,.24); border-radius:10px; color:#9eb0c1; background:rgba(13,24,35,.24); text-align:center; }
.rx-cashier-return-btn { margin:0 0 14px !important; min-height:40px !important; padding:0 14px !important; font-size:12px !important; }
.rx-cashier-selected-coin { gap:12px; padding:12px 14px; margin-bottom:14px; border-radius:9px; background:#293e53; border:1px solid rgba(116,142,169,.18); }
.rx-cashier-selected-coin > div { display:grid; min-width:0; flex:1; }
.rx-cashier-selected-coin > div span { color:#8fa4b9; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.rx-cashier-selected-coin > div strong { margin-top:3px; font-size:14px; }
.rx-cashier-selected-coin > div small { margin-top:3px; color:#cad5df; }
.rx-network-badge { padding:5px 7px; max-width:210px; border-radius:5px; color:#bcd0e2; background:#203245; border:1px solid rgba(116,142,169,.2); font-size:9px; font-weight:800; text-align:center; }
.rx-visually-hidden-select { position:absolute !important; width:1px !important; height:1px !important; opacity:0 !important; pointer-events:none !important; }
.rx-cashier-detail-form { display:grid; gap:11px; }
.rx-cashier-field { display:grid; gap:6px; color:#fff; font-size:11px; font-weight:800; }
.rx-cashier-field > span { color:#f4f8fb; }
.rx-cashier-field input,.rx-cashier-field select,.rx-cashier-field textarea { width:100%; min-width:0; border:1px solid rgba(116,142,169,.3); border-radius:7px; background:#2b4157; color:#fff; padding:11px 12px; font:inherit; outline:none; box-shadow:inset 0 1px 1px rgba(0,0,0,.1); }
.rx-cashier-field textarea { resize:vertical; min-height:60px; line-height:1.35; }
.rx-cashier-field input:focus,.rx-cashier-field select:focus,.rx-cashier-field textarea:focus { border-color:#53bb76; box-shadow:0 0 0 3px rgba(83,187,118,.10); }
.rx-cashier-field small { color:#8fa4b9; font-size:9px; font-weight:650; }.rx-cashier-field small[data-tone="error"]{color:#ff867d;}
.rx-cashier-input-shell { display:flex; align-items:center; gap:8px; min-width:0; border:1px solid rgba(116,142,169,.3); border-radius:7px; background:#2b4157; padding-left:12px; }
.rx-cashier-input-shell b { color:#fff; font-size:16px; }
.rx-cashier-input-shell input { border:0 !important; background:transparent !important; box-shadow:none !important; text-align:right; padding-left:0; font-size:13px; }
.rx-cashier-quick-row { display:flex; flex-wrap:wrap; gap:7px; }
.rx-cashier-quick-row .rx-btn { min-height:34px !important; padding:0 12px !important; font-size:11px !important; letter-spacing:.02em !important; }
.rx-cashier-info-strip { display:grid; gap:5px; padding:10px 12px; border-radius:8px; background:#203245; border:1px solid rgba(116,142,169,.16); color:#aebdca; }
.rx-cashier-info-strip small { line-height:1.4; }
.rx-cashier-message:empty { display:none; }.rx-cashier-message { margin-top:10px; }
.rx-cashier-payment-details { margin-top:14px !important; background:#203245 !important; border-color:rgba(116,142,169,.22) !important; }
.rx-cashier-two-col { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.rx-cashier-quote-cards { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.rx-cashier-quote-cards > div { min-height:58px; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:11px 13px; border-radius:8px; background:#263a4e; border:1px solid rgba(116,142,169,.17); }
.rx-cashier-quote-cards strong { font-size:14px; }.rx-cashier-quote-cards span { color:#9eb0c1; font-size:10px; font-weight:750; text-align:right; }
.rx-cashier-conversion-row { display:grid; grid-template-columns:1fr auto 1fr; align-items:end; gap:8px; }.rx-conversion-equals { padding-bottom:13px; color:#d5e0ea; font-weight:900; }
.rx-withdraw-quote-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.rx-withdraw-quote-summary > div { display:grid; gap:4px; padding:10px; min-width:0; border-radius:8px; background:#203245; border:1px solid rgba(116,142,169,.15); }
.rx-withdraw-quote-summary span { color:#8fa4b9; font-size:9px; font-weight:750; }.rx-withdraw-quote-summary strong { font-size:10px; line-height:1.35; overflow-wrap:anywhere; }
.rx-cashier-quote-status { min-height:34px; display:flex; align-items:center; padding:8px 10px; border-radius:7px; background:#24384c; color:#aec0d0; font-size:10px; line-height:1.35; }
.rx-cashier-history-drawer { margin-top:18px; padding-top:14px; border-top:1px solid rgba(116,142,169,.2); }
.rx-cashier-history-title { justify-content:space-between; margin-bottom:9px; }.rx-cashier-history-title small { color:#8599ac; }
#view-cashier .cashier-history-panel { max-height:230px; overflow:auto; display:grid; gap:7px; }
#view-cashier .cashier-row { width:100%; min-width:0; padding:10px 11px; border-radius:8px; border:1px solid rgba(116,142,169,.15); background:#26394d; color:#fff; text-align:left; }
#view-cashier .cashier-history-main span,#view-cashier .cashier-row span,#view-cashier .cashier-row small { color:#9eb0c1; }
.rx-admin-withdraw-fields { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-top:8px; }.rx-admin-withdraw-fields input { width:100%; min-width:0; border:1px solid rgba(255,255,255,.12); border-radius:6px; background:#111b2b; color:#fff; padding:8px 9px; font-size:11px; }
@media(max-width:720px){
  main > #view-cashier.rx-cashier-modal-view.active{padding:64px 8px 8px !important;}
  .rx-cashier-modal{width:100%;max-height:calc(100vh - 72px);border-radius:12px;}
  .rx-cashier-modal-header{padding:11px 10px 11px 14px;}.rx-cashier-modal-title-wrap span{display:none}.rx-cashier-balance-chip{min-width:76px;padding-inline:8px}
  .rx-cashier-modal-body{padding:12px}.rx-crypto-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rx-crypto-card{min-height:112px;padding:12px}
  .rx-cashier-section-head{align-items:flex-start;flex-direction:column;gap:8px}.rx-cashier-two-col,.rx-cashier-quote-cards,.rx-withdraw-quote-summary{grid-template-columns:1fr 1fr}.rx-withdraw-quote-summary>div:last-child{grid-column:1/-1}
  .rx-admin-withdraw-fields{grid-template-columns:1fr}
}
@media(max-width:470px){
  .rx-cashier-modal-header{gap:7px}.rx-cashier-modal-title-wrap{gap:8px}.rx-cashier-modal-title-wrap h2{font-size:16px}.rx-cashier-wallet-mark{width:20px;height:16px}
  .rx-cashier-balance-chip span{display:none}.rx-cashier-balance-chip{min-width:68px;justify-items:center}.rx-cashier-main-tabs{padding:8px}.rx-cashier-main-tab{min-height:40px}
  .rx-crypto-card-grid{grid-template-columns:1fr 1fr}.rx-crypto-card{min-height:104px}.rx-crypto-card-copy small{white-space:normal;line-height:1.2}
  .rx-cashier-two-col,.rx-cashier-quote-cards,.rx-withdraw-quote-summary,.rx-cashier-conversion-row{grid-template-columns:1fr}.rx-conversion-equals{display:none}.rx-withdraw-quote-summary>div:last-child{grid-column:auto}
  .cashier-deposit-payment-grid{grid-template-columns:1fr !important}.cashier-deposit-qr-shell{max-width:220px;margin-inline:auto}.rx-network-badge{max-width:120px}
}
@media(prefers-reduced-motion:reduce){.rx-crypto-card,.rx-cashier-main-tab{transition:none !important}.rx-crypto-card:hover{transform:none !important}}


/* === v79 cashier cleanup + centered authenticated cashier controls === */
/* The main balance/Cashier pair is centered in the viewport. Player/account and
   Logout remain independently anchored on the right side. */
body.rx-logged-in .rx-fixed-top-actions {
  position: absolute !important;
  inset: 0 !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  margin: 0 !important;
  transform: none !important;
  pointer-events: none !important;
}
body.rx-logged-in .rx-topbar-session-actions {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none !important;
}
body.rx-logged-in .rx-topbar-balance-cluster {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: max-content !important;
  pointer-events: auto !important;
  z-index: 3 !important;
}
body.rx-logged-in .rx-topbar-user-cluster {
  position: absolute !important;
  right: 22px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  pointer-events: auto !important;
  z-index: 4 !important;
}

/* Remove the extra cashier copy called out in the reference screenshots and
   tighten the remaining content so the crypto grid starts immediately. */
.rx-cashier-modal-title-wrap > div > span { display: none !important; }
.rx-cashier-section-head-compact {
  min-height: 24px !important;
  margin: 0 0 8px !important;
  justify-content: flex-end !important;
}
.rx-cashier-history-clean {
  margin-top: 16px !important;
  padding-top: 12px !important;
}
.rx-cashier-history-clean .cashier-history-panel {
  margin-top: 0 !important;
}

@media (max-width: 920px) {
  body.rx-logged-in .rx-topbar-user-cluster { right: 12px !important; gap: 6px !important; }
  body.rx-logged-in .rx-topbar-balance-cluster { gap: 6px !important; }
}
@media (max-width: 760px) {
  body.rx-logged-in .rx-topbar-account-copy { display: none !important; }
  body.rx-logged-in .rx-topbar-account-btn { min-width: 40px !important; width: 40px !important; padding: 4px !important; }
  body.rx-logged-in .rx-topbar-balance-cluster { transform: translate(-50%, -50%) scale(.92) !important; transform-origin: center; }
}
@media (max-width: 540px) {
  body.rx-logged-in .rx-topbar-user-cluster { right: 8px !important; gap: 5px !important; }
  body.rx-logged-in .rx-topbar-balance-cluster { transform: translate(-50%, -50%) scale(.84) !important; }
  .rx-cashier-section-head-compact { min-height: 20px !important; margin-bottom: 6px !important; }
}
@media (max-width: 430px) {
  body.rx-logged-in .rx-topbar-balance-cluster { transform: translate(-50%, -50%) scale(.78) !important; }
}


/* === v80 poker gameplay table surface hardening ===
   Render the dedicated gameplay table asset as a real image layer instead of
   relying only on an inline CSS custom-property background. Lobby thumbnails
   remain separate and are never used here. */
#view-table .poker-table:not(.exact-art-mode) .actual-table-art {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: fill !important;
  object-position: center !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 0 !important;
  border: 0 !important;
  border-radius: inherit !important;
  filter: saturate(1.04) contrast(1.02) !important;
  pointer-events: none !important;
  user-select: none !important;
}

/* Keep the old background layer only as a transparent fallback. The actual
   gameplay image above is authoritative and avoids browser/style-variable
   regressions that previously produced a blank black table. */
#view-table .poker-table:not(.exact-art-mode) .table-image-layer {
  z-index: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

#view-table .poker-table:not(.exact-art-mode) .table-vignette {
  z-index: 1 !important;
  pointer-events: none !important;
}

#view-table .poker-table:not(.exact-art-mode) .pot-display,
#view-table .poker-table:not(.exact-art-mode) .community-cards,
#view-table .poker-table:not(.exact-art-mode) .dealer-chip,
#view-table .poker-table:not(.exact-art-mode) .seat {
  position: absolute;
  z-index: 12 !important;
}

/* Static asset fallbacks by real table id. These are gameplay-only surfaces. */
#view-table .poker-table[data-table^="micro-nlh-table-"] .actual-table-art[src=""],
#view-table .poker-table[data-table^="low-limit-nlh-table-"] .actual-table-art[src=""],
#view-table .poker-table[data-table^="standard-nlh-table-"] .actual-table-art[src=""],
#view-table .poker-table[data-table^="high-limit-nlh-table-"] .actual-table-art[src=""],
#view-table .poker-table[data-table^="high-roller-nlh-table-"] .actual-table-art[src=""],
#view-table .poker-table[data-table="low"] .actual-table-art[src=""],
#view-table .poker-table[data-table="micro-2"] .actual-table-art[src=""],
#view-table .poker-table[data-table="micro-3"] .actual-table-art[src=""],
#view-table .poker-table[data-table="micro-4"] .actual-table-art[src=""],
#view-table .poker-table[data-table="micro-5"] .actual-table-art[src=""],
#view-table .poker-table[data-table="standard"] .actual-table-art[src=""],
#view-table .poker-table[data-table="vip"] .actual-table-art[src=""],
#view-table .poker-table[data-table="high-stakes"] .actual-table-art[src=""],
#view-table .poker-table[data-table="high-roller"] .actual-table-art[src=""],
#view-table .poker-table[data-table="roberts"] .actual-table-art[src=""] {
  display: none !important;
}

@media (max-width: 760px) {
  #view-table .poker-table:not(.exact-art-mode) .actual-table-art {
    object-fit: contain !important;
    background: #02050d !important;
  }
}


/* === v81 professional poker viewport + seat-state cleanup ===
   Desktop poker is a single-screen client: compact header, fitted live table,
   attached controls, and a slim console row. Mobile/tablet keep normal scrolling. */
@media (min-width: 1051px) {
  body[data-active-view="table"] {
    overflow: hidden !important;
  }

  body[data-active-view="table"] main {
    height: calc(100dvh - 64px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }

  body[data-active-view="table"] .site-footer,
  body[data-active-view="table"] .riverx-legal-footer {
    display: none !important;
  }

  #view-table.rx-dedicated-game-screen {
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  #view-table .rx-dedicated-view-nav {
    min-height: 30px !important;
    height: 30px !important;
    margin: 0 auto 6px !important;
  }

  #view-table .rx-game-back-button {
    min-height: 30px !important;
    height: 30px !important;
    padding: 5px 10px !important;
    border-radius: 8px !important;
    font-size: 0.7rem !important;
  }

  #view-table .table-shell {
    width: min(1680px, calc(100vw - 18px)) !important;
    height: calc(100% - 36px) !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    gap: 7px !important;
    margin: 0 auto !important;
    overflow: visible !important;
  }

  #view-table .table-info-card {
    min-height: 58px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 8px 12px !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, rgba(15, 9, 25, 0.94), rgba(10, 12, 24, 0.9)) !important;
    border: 1px solid rgba(213, 171, 76, 0.18) !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.18) !important;
  }

  #view-table .table-info-card .table-tier-badge {
    flex: 0 0 auto !important;
    padding: 6px 9px !important;
    font-size: 0.68rem !important;
  }

  #view-table .table-info-card h2 {
    flex: 0 1 auto !important;
    margin: 0 !important;
    font-size: clamp(1.05rem, 1.45vw, 1.48rem) !important;
    white-space: nowrap !important;
  }

  #view-table .table-info-card > p,
  #view-table #activeTableDesc,
  #view-table #quickSimBtn {
    display: none !important;
  }

  #view-table .table-info-card .table-meta {
    margin: 0 0 0 auto !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    min-width: 0 !important;
  }

  #view-table .table-info-card .table-meta > div {
    min-width: 92px !important;
    padding: 6px 8px !important;
    display: grid !important;
    align-content: center !important;
    gap: 2px !important;
    border-radius: 9px !important;
    background: rgba(255,255,255,.045) !important;
    border: 1px solid rgba(255,255,255,.065) !important;
  }

  #view-table .table-info-card .table-meta span {
    font-size: 0.58rem !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
  }

  #view-table .table-info-card .table-meta strong {
    font-size: 0.72rem !important;
    white-space: nowrap !important;
  }

  #view-table .poker-stage {
    min-height: 0 !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 12px !important;
    overflow: visible !important;
  }

  #view-table .poker-table {
    height: 100% !important;
    width: auto !important;
    max-width: 100% !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
    border-radius: clamp(16px, 1.5vw, 26px) !important;
    overflow: visible !important;
    box-shadow:
      0 22px 68px rgba(0,0,0,.62),
      0 0 58px color-mix(in srgb, var(--accent, #39d8ff) 12%, transparent) !important;
  }

  #view-table .table-alert {
    top: 8px !important;
    padding: 5px 9px !important;
    font-size: .64rem !important;
    opacity: .88 !important;
    border-radius: 999px !important;
    box-shadow: 0 8px 20px rgba(0,0,0,.26) !important;
  }

  #view-table .action-panel {
    bottom: 8px !important;
    width: min(850px, 74%) !important;
    grid-template-columns: minmax(150px,.78fr) minmax(190px,.82fr) minmax(340px,1.25fr) !important;
    gap: 6px !important;
    padding: 7px !important;
    border-radius: 16px !important;
    background: rgba(5, 8, 18, .78) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
  }

  #view-table .turn-status span { font-size: .62rem !important; }
  #view-table .turn-status strong { font-size: .76rem !important; }
  #view-table .turn-status small { font-size: .62rem !important; }
  #view-table .bet-controls { font-size: .68rem !important; }
  #view-table .action-buttons { gap: 5px !important; }
  #view-table .action-buttons button {
    min-height: 34px !important;
    min-width: 66px !important;
    padding: 0 9px !important;
    font-size: .68rem !important;
    border-radius: 8px !important;
  }

  #view-table .side-console {
    min-height: 82px !important;
    display: grid !important;
    grid-template-columns: 170px 170px minmax(0, 1fr) !important;
    gap: 7px !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  #view-table .side-console .wallet-card,
  #view-table .side-console .log-card {
    min-height: 82px !important;
    margin: 0 !important;
    padding: 9px 10px !important;
    border-radius: 12px !important;
    background: linear-gradient(145deg, rgba(14,10,25,.92), rgba(8,13,25,.9)) !important;
    border: 1px solid rgba(212,169,72,.16) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.15) !important;
  }

  #view-table .side-console .wallet-card span {
    font-size: .66rem !important;
    color: rgba(225,215,235,.72) !important;
  }

  #view-table .side-console .wallet-card strong {
    margin-top: 3px !important;
    font-size: 1.08rem !important;
  }

  #view-table .side-console .wallet-card small {
    margin-top: 3px !important;
    font-size: .59rem !important;
    line-height: 1.2 !important;
  }

  #view-table .log-card {
    display: grid !important;
    grid-template-rows: auto minmax(0,1fr) !important;
  }

  #view-table .log-header {
    min-height: 20px !important;
    margin-bottom: 3px !important;
  }

  #view-table .log-header strong { font-size: .72rem !important; }
  #view-table .log-header button { font-size: .62rem !important; padding: 2px 6px !important; }

  #view-table .game-log {
    height: 50px !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    font-size: .59rem !important;
    line-height: 1.35 !important;
    scrollbar-width: thin !important;
  }


  #view-table .game-log .log-line {
    gap: .3rem !important;
    padding: 4px 6px !important;
    border-radius: 9px !important;
    margin-bottom: 4px !important;
  }

  #view-table .game-log .log-time {
    font-size: .56rem !important;
  }

  #view-table .game-log .log-pill {
    min-width: 64px !important;
    padding: 2px 5px !important;
    font-size: .5rem !important;
  }

  #view-table .game-log .log-message {
    font-size: .58rem !important;
    line-height: 1.25 !important;
  }

  /* Open seats are compact controls, not large floating cards. */
  #view-table .seat.is-open-seat {
    pointer-events: auto !important;
    cursor: pointer !important;
  }

  #view-table .seat:not(.is-open-seat) {
    pointer-events: none !important;
    cursor: default !important;
  }

  #view-table .player-card.is-empty-seat.seat-take-card {
    min-height: 56px !important;
    padding: 5px 7px !important;
    border-radius: 12px !important;
    background: linear-gradient(180deg, rgba(12,12,28,.94), rgba(23,10,39,.92)) !important;
  }

  #view-table .player-card.is-empty-seat.seat-take-card .open-seat-panel {
    gap: 3px !important;
  }

  #view-table .player-card.is-empty-seat.seat-take-card .player-state-pill.is-open,
  #view-table .player-card.is-empty-seat.seat-take-card .player-status {
    display: none !important;
  }

  #view-table .player-card.is-empty-seat.seat-take-card .player-name {
    font-size: .72rem !important;
  }

  #view-table .player-card.is-empty-seat.seat-take-card .seat-click-cta {
    min-width: 70px !important;
    padding: 3px 9px !important;
    font-size: .62rem !important;
  }
}

/* Short desktop/laptop screens get an even tighter single-screen client. */
@media (min-width: 1051px) and (max-height: 820px) {
  #view-table .table-info-card { min-height: 50px !important; padding-block: 6px !important; }
  #view-table .table-info-card .table-meta > div { padding-block: 4px !important; }
  #view-table .side-console { min-height: 68px !important; grid-template-columns: 145px 145px minmax(0,1fr) !important; }
  #view-table .side-console .wallet-card,
  #view-table .side-console .log-card { min-height: 68px !important; padding: 6px 8px !important; }
  #view-table .game-log { height: 38px !important; }
  #view-table .player-card.is-empty-seat.seat-take-card { min-height: 48px !important; }
  #view-table .action-panel { bottom: 6px !important; transform: translateX(-50%) scale(.92) !important; transform-origin: bottom center !important; }
}

/* Tablet/mobile intentionally scroll normally so nothing is clipped. */
@media (max-width: 1050px) {
  body[data-active-view="table"] { overflow-y: auto !important; }
  body[data-active-view="table"] main { height: auto !important; overflow: visible !important; }
  #view-table.rx-dedicated-game-screen { height: auto !important; overflow: visible !important; }
  #view-table .table-info-card > p,
  #view-table #activeTableDesc,
  #view-table #quickSimBtn { display: none !important; }
  #view-table .side-console { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  #view-table .side-console .log-card { grid-column: 1 / -1 !important; }
  #view-table .seat:not(.is-open-seat) { pointer-events: none !important; }
  #view-table .seat.is-open-seat { pointer-events: auto !important; }
}

@media (max-width: 620px) {
  #view-table .side-console { grid-template-columns: 1fr !important; }
  #view-table .side-console .log-card { grid-column: auto !important; }
  #view-table .table-meta { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}


/* === v83 full-table viewport fit + cleaner poker composition ===
   The gameplay surface stays at its native 1672:941 aspect ratio and is sized
   from the available poker-stage height, so it cannot be cropped by the fixed
   desktop game viewport. Controls sit below the table instead of covering it. */
@media (min-width: 1051px) {
  #view-table .table-shell {
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    gap: 6px !important;
  }

  #view-table .poker-stage {
    position: relative !important;
    min-height: 0 !important;
    height: 100% !important;
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
    align-items: center !important;
    justify-items: center !important;
    gap: 5px !important;
    padding: 3px 18px 0 !important;
    overflow: hidden !important;
  }

  #view-table .poker-table {
    --seat-size: clamp(84px, 6.6vw, 112px) !important;
    --hero-seat-size: clamp(96px, 7.7vw, 128px) !important;
    width: auto !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    aspect-ratio: 1672 / 941 !important;
    place-self: center !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: visible !important;
    border-radius: 20px !important;
  }

  #view-table .poker-table:not(.exact-art-mode) .actual-table-art {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: inherit !important;
  }

  #view-table .action-panel {
    position: relative !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: min(920px, 94%) !important;
    min-height: 48px !important;
    margin: 0 auto !important;
    grid-template-columns: minmax(150px,.72fr) minmax(180px,.78fr) minmax(330px,1.3fr) !important;
    padding: 6px 8px !important;
    border-radius: 14px !important;
    background: rgba(5, 8, 18, .88) !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.34) !important;
  }

  #view-table .table-alert {
    top: 7px !important;
    font-size: .58rem !important;
    padding: 4px 8px !important;
    pointer-events: none !important;
  }

  #view-table .live-table-title,
  #view-table .integrated-art-badge {
    transform: scale(.84) !important;
    transform-origin: top left !important;
  }

  #view-table .integrated-art-badge {
    transform-origin: top right !important;
  }

  #view-table .player-card.is-empty-seat.seat-take-card {
    min-height: 44px !important;
    padding: 4px 6px !important;
  }

  #view-table .player-card.is-empty-seat.seat-take-card .player-name {
    font-size: .66rem !important;
  }

  #view-table .player-card.is-empty-seat.seat-take-card .seat-click-cta {
    min-width: 62px !important;
    padding: 2px 7px !important;
    font-size: .56rem !important;
  }

  #view-table .side-console {
    min-height: 64px !important;
    grid-template-columns: 145px 145px minmax(0, 1fr) !important;
    gap: 6px !important;
  }

  #view-table .side-console .wallet-card,
  #view-table .side-console .log-card {
    min-height: 64px !important;
    padding: 6px 8px !important;
  }

  #view-table .game-log {
    height: 34px !important;
    font-size: .56rem !important;
  }
}

/* On short laptops preserve the complete table before anything else. */
@media (min-width: 1051px) and (max-height: 780px) {
  #view-table .rx-dedicated-view-nav {
    height: 26px !important;
    min-height: 26px !important;
    margin-bottom: 4px !important;
  }
  #view-table .table-shell { height: calc(100% - 30px) !important; }
  #view-table .table-info-card { min-height: 44px !important; padding: 5px 9px !important; }
  #view-table .table-info-card .table-meta > div { min-width: 78px !important; padding: 3px 5px !important; }
  #view-table .side-console { min-height: 56px !important; }
  #view-table .side-console .wallet-card,
  #view-table .side-console .log-card { min-height: 56px !important; padding: 5px 7px !important; }
  #view-table .game-log { height: 28px !important; }
  #view-table .action-panel { min-height: 42px !important; padding-block: 4px !important; }
}

/* Tablet/mobile: keep full gameplay art visible rather than cropping it. */
@media (max-width: 1050px) {
  #view-table .poker-table {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1672 / 941 !important;
    overflow: visible !important;
  }
  #view-table .poker-table:not(.exact-art-mode) .actual-table-art {
    object-fit: contain !important;
    width: 100% !important;
    height: 100% !important;
  }
}


/* === v84 definitive uncropped poker surface ===
   The real 1672x941 gameplay image now participates in normal layout and defines
   the table box itself. Seats/cards/chips remain absolutely positioned relative
   to that exact rendered image. */
@media (min-width: 1051px) {
  body[data-active-view="table"]:not(.rx-sidebar-collapsed) main {
    width: calc(100vw - var(--rx-sidebar-expanded) - 24px) !important;
    max-width: none !important;
    margin-left: var(--rx-sidebar-expanded) !important;
    margin-right: 12px !important;
  }
  body[data-active-view="table"].rx-sidebar-collapsed main {
    width: calc(100vw - var(--rx-sidebar-collapsed) - 24px) !important;
    max-width: none !important;
    margin-left: var(--rx-sidebar-collapsed) !important;
    margin-right: 12px !important;
  }
  #view-table .rx-dedicated-view-nav,
  #view-table .table-shell {
    width: min(1500px, 100%) !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  #view-table .poker-stage {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }
  #view-table .poker-table,
  #view-table .poker-table:not(.exact-art-mode) {
    position: relative !important;
    width: min(100%, 1280px) !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    overflow: visible !important;
    place-self: center !important;
    margin-inline: auto !important;
    background: #02050d !important;
  }
  #view-table .poker-table:not(.exact-art-mode) .actual-table-art,
  #view-table .actual-table-art {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: none !important;
    aspect-ratio: 1672 / 941 !important;
    object-fit: contain !important;
    object-position: center center !important;
    border-radius: inherit !important;
    z-index: 0 !important;
  }
  #view-table .table-image-layer,
  #view-table .table-vignette,
  #view-table .play-private-overlay,
  #view-table .felt-pattern,
  #view-table .pot-display,
  #view-table .community-cards,
  #view-table .dealer-chip,
  #view-table .seat,
  #view-table .chair,
  #view-table .live-table-title,
  #view-table .integrated-art-badge { position: absolute !important; }
  #view-table .table-image-layer { display: none !important; }
  #view-table .table-vignette { inset: 0 !important; border-radius: inherit !important; pointer-events: none !important; }
}
@media (min-width: 1051px) and (max-height: 900px) {
  #view-table .poker-table,
  #view-table .poker-table:not(.exact-art-mode) { width: min(100%, 1000px) !important; }
  #view-table .table-info-card { min-height: 44px !important; padding-block: 5px !important; }
  #view-table .side-console { min-height: 54px !important; }
  #view-table .side-console .wallet-card,
  #view-table .side-console .log-card { min-height: 54px !important; padding-block: 5px !important; }
  #view-table .game-log { height: 26px !important; }
  #view-table .action-panel { min-height: 42px !important; padding-block: 4px !important; }
}
@media (min-width: 1051px) and (max-height: 760px) {
  #view-table .poker-table,
  #view-table .poker-table:not(.exact-art-mode) { width: min(100%, 850px) !important; }
  #view-table .table-info-card { min-height: 40px !important; }
  #view-table .side-console { min-height: 48px !important; }
  #view-table .game-log { height: 22px !important; }
}
@media (max-width: 1050px) {
  #view-table .poker-table,
  #view-table .poker-table:not(.exact-art-mode) {
    width: 100% !important; height: auto !important; max-width: 100% !important;
    aspect-ratio: auto !important; overflow: visible !important;
  }
  #view-table .poker-table:not(.exact-art-mode) .actual-table-art,
  #view-table .actual-table-art {
    position: relative !important; inset: auto !important; display: block !important;
    width: 100% !important; height: auto !important; max-width: 100% !important;
    aspect-ratio: 1672 / 941 !important; object-fit: contain !important;
  }
  #view-table .table-image-layer { display: none !important; }
}


.rx-funds-modal-backdrop {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(4, 9, 17, 0.72);
  backdrop-filter: blur(12px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease;
  z-index: 1400;
}

.rx-funds-modal-backdrop.is-open {
  opacity: 1;
  pointer-events: auto;
}

.rx-funds-modal {
  position: relative;
  width: min(520px, calc(100vw - 32px));
  padding: 24px 24px 20px;
  border-radius: 24px;
  border: 1px solid rgba(137, 168, 255, 0.18);
  background: linear-gradient(180deg, rgba(14, 25, 43, 0.98), rgba(9, 15, 29, 0.98));
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.44), inset 0 1px 0 rgba(255,255,255,0.05);
  color: #eef6ff;
}

.rx-funds-modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,0.06);
  color: #dbe8ff;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.rx-funds-modal-icon {
  width: 56px;
  height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  margin-bottom: 14px;
  font-size: 1.45rem;
  font-weight: 900;
  color: #ffffff;
  background: linear-gradient(180deg, #59c96f, #198754);
  box-shadow: 0 10px 26px rgba(25, 135, 84, 0.35);
}

.rx-funds-modal-kicker {
  margin-bottom: 6px;
  color: #ffd873;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.rx-funds-modal h3 {
  margin: 0 0 8px;
  font-size: clamp(1.3rem, 2vw, 1.6rem);
  line-height: 1.15;
}

.rx-funds-modal-text {
  margin: 0;
  color: #c8d7ef;
  line-height: 1.6;
}

.rx-funds-modal-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0 20px;
}

.rx-funds-modal-metrics > div {
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
}

.rx-funds-modal-metrics span {
  display: block;
  color: #9fb2d2;
  font-size: 0.8rem;
  margin-bottom: 6px;
}

.rx-funds-modal-metrics strong {
  display: block;
  color: #ffffff;
  font-size: 1.25rem;
  font-weight: 900;
}

.rx-funds-modal-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  flex-wrap: wrap;
}

body.rx-modal-open {
  overflow: hidden;
}

@media (max-width: 640px) {
  .rx-funds-modal {
    padding: 20px 18px 18px;
    border-radius: 20px;
  }
  .rx-funds-modal-metrics {
    grid-template-columns: 1fr;
  }
  .rx-funds-modal-actions {
    flex-direction: column-reverse;
  }
  .rx-funds-modal-actions .rx-btn {
    width: 100%;
  }
}


/* === v86 minimum-buy-in-only NLH tables === */
.buyin-range-panel.is-minimum-only {
  grid-template-columns: minmax(0, 1fr) !important;
}
.buyin-range-panel.is-minimum-only > div {
  width: 100%;
}


/* === v93 clean player cashier + seamless live pricing + deposit status toasts === */
.rx-crypto-card-copy b,
#cashierDepositSelectedPrice,
#cashierWithdrawLivePrice {
  transition: color 180ms ease, opacity 180ms ease;
  font-variant-numeric: tabular-nums;
}

.cashier-deposit-meta-player {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.rx-deposit-toast-stack {
  position: fixed;
  top: 82px;
  left: 18px;
  z-index: 1600;
  width: min(360px, calc(100vw - 36px));
  display: grid;
  gap: 10px;
  pointer-events: none;
}

.rx-deposit-toast {
  --toast-accent: #7aa7d8;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-height: 76px;
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, var(--toast-accent) 38%, transparent);
  border-left: 3px solid var(--toast-accent);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(12, 23, 39, .98), rgba(7, 13, 25, .98));
  box-shadow: 0 18px 44px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.04);
  color: #f5f8ff;
  opacity: 0;
  transform: translate3d(-28px, -8px, 0) scale(.985);
  transition: transform 360ms cubic-bezier(.2,.8,.2,1), opacity 280ms ease;
  overflow: hidden;
}

.rx-deposit-toast::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 0 50%, color-mix(in srgb, var(--toast-accent) 14%, transparent), transparent 48%);
  pointer-events: none;
}

.rx-deposit-toast.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

.rx-deposit-toast.is-leaving {
  opacity: 0;
  transform: translate3d(-22px, 0, 0) scale(.99);
}

.rx-deposit-toast--processing {
  --toast-accent: #d6b86d;
}

.rx-deposit-toast--confirmed {
  --toast-accent: #45c779;
}




.rx-deposit-toast > div {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.rx-deposit-toast strong,
.rx-deposit-toast span {
  display: block;
}

.rx-deposit-toast strong {
  margin-bottom: 4px;
  color: #fff;
  font-size: .96rem;
  font-weight: 850;
  letter-spacing: .01em;
}

.rx-deposit-toast > div > span {
  color: #bdcce1;
  font-size: .82rem;
  line-height: 1.4;
}

@keyframes rxDepositClock {
  to { transform: rotate(360deg); }
}

@media (max-width: 640px) {
  .rx-deposit-toast-stack {
    top: 72px;
    left: 10px;
    width: calc(100vw - 20px);
  }
  .rx-deposit-toast {
    min-height: 70px;
    padding: 12px 14px;
    border-radius: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rx-deposit-toast,
  .rx-crypto-card-copy b,
  #cashierDepositSelectedPrice,
  #cashierWithdrawLivePrice {
    transition: none !important;
  }
}

.rx-cashier-modal-body { overflow-x: hidden !important; }
.rx-cashier-panel, .rx-cashier-form, .rx-crypto-card-grid { min-width: 0; max-width: 100%; }


/* === Stable account + deposit notification rebuild v98 (based on v93) === */
.rx-deposit-toast { position: relative; }
.rx-deposit-toast-progress { position:absolute; z-index:2; left:0; right:0; bottom:0; height:3px; overflow:hidden; background:rgba(69,199,121,.12); pointer-events:none; }
.rx-deposit-toast-progress > span { position:relative; display:block; width:100%; height:100%; transform-origin:left center; background:linear-gradient(90deg,#29b864 0%,#5ee692 64%,#b7ffd0 100%); box-shadow:0 0 10px rgba(69,199,121,.72),0 0 18px rgba(69,199,121,.32); animation:rxDepositToastCountdownV98 10s linear forwards; }
.rx-deposit-toast-progress > span::after { content:""; position:absolute; top:0; bottom:0; width:54px; right:-8px; background:linear-gradient(90deg,transparent,rgba(255,255,255,.82),transparent); animation:rxDepositToastGlowV98 1.35s linear infinite; }
@keyframes rxDepositToastCountdownV98 { from { transform:scaleX(1); } to { transform:scaleX(0); } }
@keyframes rxDepositToastGlowV98 { from { transform:translateX(-28px); opacity:.25; } 50% { opacity:1; } to { transform:translateX(14px); opacity:.25; } }
@media (prefers-reduced-motion:reduce) { .rx-deposit-toast-progress > span::after { animation:none !important; opacity:0 !important; } }

#view-account.rx-account-view { width:min(1040px,100%); margin:0 auto; padding:18px 18px 34px; }
.rx-account-page-v98 { display:grid; gap:12px; }
.rx-account-page-v98 [hidden] { display:none !important; }
.rx-account-heading-v98 { min-height:50px; display:flex; align-items:flex-end; padding:2px 2px 6px; }
.rx-account-heading-v98 h2 { margin:3px 0 0; color:#f7f9ff; font-size:clamp(1.55rem,2.3vw,2rem); letter-spacing:-.03em; }
.rx-account-dashboard-v98 { display:grid; gap:12px; }
.rx-account-card-v98 { min-width:0; padding:17px 18px; border:1px solid rgba(135,115,190,.18); border-radius:16px; background:linear-gradient(150deg,rgba(17,24,42,.97),rgba(9,14,27,.98)); box-shadow:0 14px 34px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.025); }
.rx-account-overview-card-v98 { background:radial-gradient(circle at 3% 0%,rgba(133,78,216,.10),transparent 15rem),linear-gradient(150deg,rgba(17,24,42,.97),rgba(9,14,27,.98)); }
.rx-account-section-head-v98 { display:flex; align-items:center; gap:11px; margin-bottom:13px; }
.rx-account-section-head-v98 h3 { margin:2px 0 0; color:#f5f8ff; font-size:1.04rem; }
.rx-account-avatar-v98 { width:44px; height:44px; flex:0 0 auto; display:grid; place-items:center; border:1px solid rgba(166,112,244,.25); border-radius:13px; background:linear-gradient(145deg,rgba(123,69,205,.42),rgba(41,28,74,.78)); color:#f3e9ff; font-size:.9rem; font-weight:900; letter-spacing:.06em; }
.rx-account-overview-grid-v98,.rx-account-balance-grid-v98 { display:grid; gap:9px; }
.rx-account-overview-grid-v98 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.rx-account-balance-grid-v98 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.rx-account-overview-grid-v98>div,.rx-account-balance-grid-v98>div { min-width:0; padding:12px 13px; border:1px solid rgba(255,255,255,.055); border-radius:12px; background:rgba(255,255,255,.025); }
.rx-account-overview-grid-v98 span,.rx-account-balance-grid-v98 span { display:block; color:#8392b4; font-size:.68rem; font-weight:800; letter-spacing:.055em; text-transform:uppercase; }
.rx-account-overview-grid-v98 strong,.rx-account-balance-grid-v98 strong { display:block; margin-top:5px; color:#f2f6ff; font-size:.92rem; font-weight:800; overflow-wrap:anywhere; }
.rx-account-balance-primary-v98 { border-color:rgba(70,196,121,.18)!important; background:linear-gradient(145deg,rgba(29,75,52,.20),rgba(255,255,255,.02))!important; }
.rx-account-balance-primary-v98 strong { color:#fff!important; font-size:1.35rem!important; letter-spacing:-.025em; }
.rx-account-activity-card-v98 { padding-bottom:13px; }
.rx-account-activity-table-v98 { overflow:hidden; border:1px solid rgba(255,255,255,.055); border-radius:13px; background:rgba(5,10,20,.28); }
.rx-account-activity-header-v98,.rx-account-activity-row-v98 { display:grid; grid-template-columns:1.05fr .8fr 1.25fr .78fr .72fr; gap:12px; align-items:center; }
.rx-account-activity-header-v98 { min-height:34px; padding:0 13px; border-bottom:1px solid rgba(255,255,255,.055); background:rgba(255,255,255,.025); color:#7181a3; font-size:.65rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.rx-account-activity-row-v98 { min-height:48px; padding:8px 13px; border-bottom:1px solid rgba(255,255,255,.045); color:#cbd5e9; font-size:.79rem; }
.rx-account-activity-row-v98:last-child { border-bottom:0; }
.rx-account-activity-row-v98>* { min-width:0; overflow-wrap:anywhere; }
.rx-account-activity-row-v98>strong { color:#edf3ff; }
.rx-account-activity-asset-v98 { display:flex; align-items:center; gap:6px; color:#edf3ff; font-weight:750; }
.rx-account-activity-asset-v98 small { display:inline-flex; padding:2px 6px; border:1px solid rgba(255,255,255,.06); border-radius:999px; color:#8998b8; font-size:.64rem; font-weight:750; }
.rx-account-activity-amount-v98 { font-variant-numeric:tabular-nums; }
.rx-account-activity-amount-v98.is-positive { color:#71d99b; }
.rx-account-activity-amount-v98.is-negative { color:#e7d0a0; }
.rx-account-status-chip-v98 { display:inline-flex; align-items:center; justify-content:center; min-width:76px; padding:4px 8px; border:1px solid rgba(255,255,255,.07); border-radius:999px; background:rgba(255,255,255,.04); color:#cbd6ea; font-size:.66rem; font-weight:850; }
.rx-account-status-chip-v98[data-tone="success"] { border-color:rgba(70,196,121,.22); background:rgba(70,196,121,.10); color:#88e4ac; }
.rx-account-status-chip-v98[data-tone="pending"] { border-color:rgba(218,174,78,.20); background:rgba(218,174,78,.08); color:#e7ca83; }
.rx-account-status-chip-v98[data-tone="error"] { border-color:rgba(228,93,112,.20); background:rgba(228,93,112,.08); color:#efa0ad; }
.rx-account-activity-empty-v98 { padding:20px 14px; color:#8190ad; font-size:.82rem; text-align:center; }
.rx-account-guest-panel-v98 { min-height:180px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:18px; padding:24px; border:1px solid rgba(135,115,190,.18); border-radius:16px; background:linear-gradient(150deg,rgba(17,24,42,.97),rgba(9,14,27,.98)); box-shadow:0 14px 34px rgba(0,0,0,.16); }
.rx-account-guest-icon-v98 { width:52px; height:52px; display:grid; place-items:center; border-radius:14px; border:1px solid rgba(166,112,244,.25); background:rgba(122,70,201,.18); color:#eee5ff; font-weight:900; }
.rx-account-guest-copy-v98 h3 { margin:0 0 5px; color:#f4f7ff; font-size:1.08rem; }
.rx-account-guest-copy-v98 p { margin:0; color:#8f9db8; line-height:1.5; }
.rx-account-guest-actions-v98 { display:flex; gap:8px; }
.rx-account-message:empty { display:none; }
@media (max-width:860px) { #view-account.rx-account-view { padding-inline:12px; } .rx-account-overview-grid-v98 { grid-template-columns:1fr 1fr; } .rx-account-overview-grid-v98>div:last-child { grid-column:1/-1; } .rx-account-balance-grid-v98 { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) { #view-account.rx-account-view { padding-top:12px; padding-bottom:24px; } .rx-account-card-v98 { padding:15px; border-radius:14px; } .rx-account-overview-grid-v98 { grid-template-columns:1fr; } .rx-account-overview-grid-v98>div:last-child { grid-column:auto; } .rx-account-activity-header-v98 { display:none; } .rx-account-activity-row-v98 { grid-template-columns:1fr auto; gap:5px 12px; padding:11px 12px; } .rx-account-activity-row-v98>*::before { content:attr(data-label); display:block; margin-bottom:2px; color:#6f7f9f; font-size:.58rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; } .rx-account-activity-row-v98>:nth-child(3) { grid-column:1/-1; } .rx-account-activity-row-v98>:nth-child(4) { grid-column:1; } .rx-account-activity-row-v98>:nth-child(5) { grid-column:2; grid-row:1/span 2; align-self:center; } .rx-account-guest-panel-v98 { grid-template-columns:1fr; min-height:0; padding:20px; } .rx-account-guest-actions-v98 { flex-wrap:wrap; } }
@media (max-width:480px) { .rx-account-balance-grid-v98 { grid-template-columns:1fr; } .rx-account-guest-actions-v98 button { flex:1 1 100%; } }

/* === RiverX player 2FA security + public poker accounting cleanup v100 === */
.rx-account-security-card-v100 {
  display: grid;
  gap: 14px;
}

.rx-account-security-head-v100 {
  align-items: center;
}

.rx-2fa-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 84px;
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.045);
  color: #aebbd2;
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.rx-2fa-status-badge[data-enabled="true"] {
  border-color: rgba(73, 211, 126, .34);
  background: rgba(36, 145, 78, .16);
  color: #8ff0b2;
  box-shadow: 0 0 0 1px rgba(73,211,126,.04), 0 8px 24px rgba(25,120,62,.12);
}

.rx-account-security-body-v100 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-top: 4px;
}

.rx-account-security-body-v100 strong {
  display: block;
  margin-bottom: 5px;
  color: #f7f9ff;
  font-size: .95rem;
}

.rx-account-security-body-v100 p {
  max-width: 720px;
  margin: 0;
  color: #97a7c4;
  line-height: 1.55;
  font-size: .82rem;
}

.rx-account-security-actions-v100 {
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
}

body.rx-security-modal-open {
  overflow: hidden;
}

.rx-security-overlay {
  position: fixed;
  inset: 0;
  z-index: 1800;
  display: grid;
  place-items: center;
  padding: 18px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
}

.rx-security-overlay.is-open {
  opacity: 1;
  pointer-events: auto;
}

.rx-security-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 7, 17, .78);
  backdrop-filter: blur(12px);
}

.rx-security-modal {
  position: relative;
  width: min(520px, calc(100vw - 28px));
  max-height: min(760px, calc(100dvh - 28px));
  overflow: auto;
  padding: 24px;
  border: 1px solid rgba(143, 118, 255, .22);
  border-radius: 22px;
  background:
    radial-gradient(circle at 100% 0%, rgba(122, 70, 210, .15), transparent 32%),
    linear-gradient(180deg, rgba(16, 23, 42, .99), rgba(8, 13, 27, .99));
  box-shadow: 0 30px 90px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.05);
  color: #eef3ff;
  transform: translateY(10px) scale(.985);
  transition: transform .2s ease;
}

.rx-security-overlay.is-open .rx-security-modal {
  transform: translateY(0) scale(1);
}

.rx-security-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 999px;
  background: rgba(255,255,255,.055);
  color: #dce6fb;
  font-size: 21px;
  line-height: 1;
  cursor: pointer;
}

.rx-security-modal-heading {
  padding-right: 30px;
}

.rx-security-modal-heading h2 {
  margin: 5px 0 8px;
  color: #fff;
  font-size: clamp(1.28rem, 2vw, 1.62rem);
  line-height: 1.15;
}

.rx-security-modal-heading p {
  margin: 0;
  color: #9eacc7;
  line-height: 1.6;
  font-size: .86rem;
}

.rx-2fa-setup-modal {
  width: min(690px, calc(100vw - 28px));
}

.rx-2fa-setup-grid {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: 14px;
  margin: 20px 0;
}

.rx-2fa-qr-card,
.rx-2fa-manual-card {
  min-width: 0;
  padding: 15px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  background: rgba(255,255,255,.035);
}

.rx-2fa-qr-card {
  display: grid;
  justify-items: center;
  gap: 10px;
  text-align: center;
}

.rx-2fa-qr-card img {
  width: min(190px, 100%);
  aspect-ratio: 1;
  padding: 8px;
  border-radius: 14px;
  background: #fff;
}

.rx-2fa-qr-card small,
.rx-2fa-manual-card p {
  margin: 0;
  color: #8f9fbc;
  line-height: 1.5;
  font-size: .74rem;
}

.rx-2fa-manual-card {
  display: grid;
  align-content: center;
  gap: 10px;
}

.rx-2fa-manual-card > span {
  color: #aebbd0;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.rx-2fa-manual-card code {
  display: block;
  overflow-wrap: anywhere;
  padding: 12px;
  border: 1px solid rgba(230, 190, 83, .18);
  border-radius: 12px;
  background: rgba(230, 190, 83, .055);
  color: #ffe08b;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: .88rem;
  letter-spacing: .06em;
  line-height: 1.6;
}

.rx-2fa-form {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

.rx-2fa-form label {
  display: grid;
  gap: 7px;
  color: #c6d0e4;
  font-size: .8rem;
  font-weight: 800;
}

.rx-2fa-form input {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 0 13px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 12px;
  outline: 0;
  background: rgba(4, 10, 23, .72);
  color: #fff;
  font: inherit;
}

.rx-2fa-form input:focus {
  border-color: rgba(137, 103, 255, .56);
  box-shadow: 0 0 0 3px rgba(112, 71, 220, .12);
}

.rx-2fa-form input[inputmode="numeric"] {
  letter-spacing: .28em;
  font-size: 1.08rem;
  font-weight: 900;
  text-align: center;
}

.rx-security-message {
  min-height: 20px;
  margin-top: 12px;
  color: #9fb0ce;
  font-size: .8rem;
  line-height: 1.45;
}

.rx-security-message[data-tone="success"] { color: #7fe7a4; }
.rx-security-message[data-tone="error"] { color: #ff8e9c; }

.rx-security-actions {
  display: flex;
  gap: 10px;
  margin-top: 20px;
}

.rx-security-shield {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  margin-bottom: 14px;
  border: 1px solid rgba(230, 190, 83, .25);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(230,190,83,.16), rgba(116,70,200,.10));
  color: #ffd66b;
  box-shadow: 0 12px 32px rgba(0,0,0,.20);
}

@media (max-width: 720px) {
  .rx-account-security-body-v100,
  .rx-security-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .rx-account-security-actions-v100 {
    width: 100%;
  }
  .rx-account-security-actions-v100 .rx-btn,
  .rx-security-actions .rx-btn {
    flex: 1 1 auto;
    width: 100%;
  }
  .rx-2fa-setup-grid {
    grid-template-columns: 1fr;
  }
  .rx-security-modal {
    padding: 20px 16px 18px;
    border-radius: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rx-security-overlay,
  .rx-security-modal {
    transition: none !important;
  }
}


/* === v101 exact Button 3 styling for player 2FA enable/disable controls === */
.btn-3 {
    color: #fff;
    background-color: #198754;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    padding: 12px 20px;
    font-size: 14px;
    border-radius: .25rem;
    border: none;
    font-weight: bold;
    letter-spacing: 1.2px;
    /*** full width block ***/
    /* width: 100%; */
}

.btn-3:hover {
    color: #fff;
    background-color: #157347;
    border-color: #146c43;
}

.btn-3:active {
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.24);
}

.btn-3:disabled {
    pointer-events: none;
    opacity: .65;
}

/* === v102 Robert's Table dedicated host/admin controls === */
.rx-roberts-admin-card {
  grid-column: 1 / -1;
  overflow: hidden;
  border-color: rgba(199, 114, 255, 0.22) !important;
  background:
    radial-gradient(circle at 90% 0%, rgba(142, 64, 220, 0.14), transparent 35%),
    linear-gradient(180deg, rgba(12, 18, 34, 0.98), rgba(8, 13, 25, 0.98)) !important;
}

.rx-roberts-admin-message {
  margin: 12px 0 14px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(145, 166, 209, 0.16);
  background: rgba(255,255,255,0.035);
  color: #c9d8ef;
  font-size: .82rem;
}
.rx-roberts-admin-message[data-tone="success"] { border-color: rgba(66, 190, 113, .28); color: #9ee8b8; background: rgba(32, 123, 70, .11); }
.rx-roberts-admin-message[data-tone="error"] { border-color: rgba(255, 99, 120, .3); color: #ffb0bc; background: rgba(127, 28, 47, .12); }

.rx-roberts-status-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}
.rx-roberts-status-strip > div {
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
}
.rx-roberts-status-strip span,
.rx-roberts-form-grid label > span {
  display: block;
  margin-bottom: 5px;
  color: #8fa5c8;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .075em;
  text-transform: uppercase;
}
.rx-roberts-status-strip strong { display:block; color:#f4f8ff; font-size:.96rem; overflow-wrap:anywhere; }

.rx-roberts-settings-form {
  padding: 14px;
  border: 1px solid rgba(255,255,255,.065);
  border-radius: 16px;
  background: rgba(4, 9, 19, .34);
}
.rx-roberts-toggle-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}
.rx-roberts-toggle-grid .admin-toggle-row {
  margin: 0 !important;
  min-height: 66px;
  border-radius: 13px;
  background: rgba(255,255,255,.028);
}
.rx-roberts-form-grid {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(160px, .7fr) minmax(260px, 1.5fr);
  gap: 10px;
  margin-top: 12px;
}
.rx-roberts-form-grid label { min-width:0; }
.rx-roberts-form-grid input,
.rx-roberts-form-grid select,
.rx-roberts-control-add select,
.rx-roberts-player-filter input {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  min-height: 40px;
  border: 1px solid rgba(138, 158, 197, .18);
  border-radius: 10px;
  background: rgba(4, 8, 17, .76);
  color: #eef5ff;
  padding: 0 11px;
  outline: none;
}
.rx-roberts-form-grid input:focus,
.rx-roberts-form-grid select:focus,
.rx-roberts-control-add select:focus,
.rx-roberts-player-filter input:focus { border-color: rgba(167, 100, 255, .52); box-shadow: 0 0 0 3px rgba(134, 74, 223, .1); }
.rx-roberts-form-grid small { display:block; margin-top:5px; color:#7187a8; font-size:.68rem; line-height:1.35; }
.rx-roberts-settings-actions { display:flex; gap:8px; margin-top:12px; }

.rx-roberts-admin-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}
.rx-roberts-admin-subcard,
.rx-roberts-log-wrap {
  min-width: 0;
  padding: 13px;
  border: 1px solid rgba(255,255,255,.065);
  border-radius: 15px;
  background: rgba(6, 11, 22, .52);
}
.rx-roberts-admin-subcard h5,
.rx-roberts-log-wrap h5 { margin:0; color:#f3f7ff; font-size:.9rem; }
.rx-roberts-admin-subcard .admin-card-head,
.rx-roberts-log-wrap .admin-card-head { margin-bottom:9px; }
.rx-roberts-control-add { display:flex; gap:8px; align-items:center; margin-bottom:9px; }
.rx-roberts-control-add select { flex:1; }
.rx-roberts-player-filter { margin-bottom:8px; }

.rx-roberts-list,
.rx-roberts-log {
  display: grid;
  gap: 7px;
  max-height: 300px;
  overflow: auto;
  scrollbar-width: thin;
}
.rx-roberts-player-access-list { max-height: 370px; }
.rx-roberts-list-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 10px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 11px;
  background: rgba(255,255,255,.025);
}
.rx-roberts-list-row > div:first-child { min-width:0; }
.rx-roberts-list-row strong { display:block; color:#edf4ff; font-size:.79rem; }
.rx-roberts-list-row span { display:block; color:#8196b6; font-size:.67rem; margin-top:2px; overflow-wrap:anywhere; }
.rx-roberts-list-row em { color:#9fdfb7; font-style:normal; font-size:.7rem; }
.rx-roberts-row-actions { display:flex; gap:5px; flex-wrap:wrap; justify-content:flex-end; }
.rx-roberts-empty { padding:10px; border-radius:10px; color:#7187a8; background:rgba(255,255,255,.018); font-size:.72rem; }
.rx-roberts-log-wrap { margin-top:12px; }
.rx-roberts-audit-row {
  display:grid;
  grid-template-columns: 145px minmax(120px,.7fr) minmax(140px,.8fr) minmax(220px,1.7fr);
  gap:8px;
  align-items:start;
  padding:8px 9px;
  border-bottom:1px solid rgba(255,255,255,.05);
  font-size:.68rem;
}
.rx-roberts-audit-row span { color:#7790b4; }
.rx-roberts-audit-row strong { color:#d7e6ff; text-transform:capitalize; }
.rx-roberts-audit-row em { color:#b997ff; font-style:normal; overflow-wrap:anywhere; }
.rx-roberts-audit-row small { color:#8094b2; overflow-wrap:anywhere; }

/* Player-facing Robert's Table disabled/closed state. */
.table-card.is-access-disabled,
.rx-home-table-graphic-card.is-access-disabled {
  cursor: not-allowed !important;
}
.table-card.is-access-disabled .table-preview-frame img,
.rx-home-table-graphic-card.is-access-disabled > img {
  filter: grayscale(.38) brightness(.53) saturate(.65);
}
.table-card.is-access-disabled .table-card-content { opacity: .7; }
.rx-roberts-disabled-overlay {
  position:absolute;
  inset:0;
  z-index:5;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:18px;
  text-align:center;
  background:linear-gradient(180deg,rgba(5,8,17,.48),rgba(5,7,14,.88));
  backdrop-filter:blur(2px);
  opacity:0;
  transition:opacity .2s ease;
}
.table-card.is-access-disabled:hover .rx-roberts-disabled-overlay,
.table-card.is-access-disabled:focus-within .rx-roberts-disabled-overlay { opacity:1; }
.rx-roberts-disabled-overlay strong { color:#f1f6ff; font-size:.94rem; }
.rx-roberts-disabled-overlay span { max-width:310px; color:#b8c6dc; font-size:.72rem; line-height:1.45; }

.rx-roberts-home-disabled {
  position:absolute;
  inset:0;
  z-index:4;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:14px;
  text-align:center;
  background:linear-gradient(180deg,rgba(5,8,16,.42),rgba(3,6,12,.88));
  opacity:0;
  transition:opacity .2s ease;
}
.rx-home-table-graphic-card.is-access-disabled:hover .rx-roberts-home-disabled,
.rx-home-table-graphic-card.is-access-disabled:focus-visible .rx-roberts-home-disabled { opacity:1; }
.rx-roberts-home-disabled strong { color:#f3f7ff; font-size:.82rem; font-style:normal; }
.rx-roberts-home-disabled em { max-width:240px; color:#b8c7dc; font-size:.62rem; line-height:1.4; font-style:normal; }

.seat.is-seat-disabled-by-host { display:none !important; }

@media (max-width: 1100px) {
  .rx-roberts-status-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rx-roberts-toggle-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rx-roberts-form-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .rx-roberts-announcement-field { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .rx-roberts-admin-columns,
  .rx-roberts-toggle-grid,
  .rx-roberts-form-grid { grid-template-columns: 1fr; }
  .rx-roberts-announcement-field { grid-column:auto; }
  .rx-roberts-settings-actions,
  .rx-roberts-control-add,
  .rx-roberts-list-row { align-items:stretch; flex-direction:column; }
  .rx-roberts-row-actions { justify-content:flex-start; }
  .rx-roberts-audit-row { grid-template-columns:1fr; gap:3px; }
  .rx-roberts-status-strip { grid-template-columns:1fr 1fr; }
  .rx-roberts-disabled-overlay,
  .rx-roberts-home-disabled { opacity:1; }
}
@media (max-width: 480px) {
  .rx-roberts-status-strip { grid-template-columns:1fr; }
}


/* === v103 unified RiverX player notification system === */
.rx-toast-stack {
  position: fixed;
  top: 82px;
  right: 18px;
  left: auto;
  z-index: 1600;
  width: min(380px, calc(100vw - 36px));
  display: grid;
  gap: 10px;
  pointer-events: none;
}

.rx-toast {
  --toast-accent: #7997bd;
  --toast-duration: 10000ms;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 28px;
  align-items: center;
  gap: 12px;
  min-height: 76px;
  padding: 14px 12px 14px 16px;
  border: 1px solid color-mix(in srgb, var(--toast-accent) 38%, transparent);
  border-right: 3px solid var(--toast-accent);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(12,23,39,.985), rgba(7,13,25,.985));
  box-shadow: 0 18px 44px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.04);
  color: #f5f8ff;
  opacity: 0;
  transform: translate3d(30px,-6px,0) scale(.985);
  transition: transform 320ms cubic-bezier(.2,.8,.2,1), opacity 260ms ease;
  overflow: hidden;
  pointer-events: auto;
}

.rx-toast::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 100% 50%, color-mix(in srgb, var(--toast-accent) 13%, transparent), transparent 48%);
  pointer-events: none;
}

.rx-toast.is-visible { opacity: 1; transform: translate3d(0,0,0) scale(1); }
.rx-toast.is-leaving { opacity: 0; transform: translate3d(22px,0,0) scale(.99); }
.rx-toast--processing { --toast-accent: #d2b66f; }
.rx-toast--info { --toast-accent: #789bc6; }
.rx-toast--success { --toast-accent: #45c779; }
.rx-toast--error { --toast-accent: #e45d68; }

.rx-toast-copy { position: relative; z-index: 1; min-width: 0; }
.rx-toast-copy strong { display:block; margin-bottom:4px; color:#fff; font-size:.96rem; font-weight:850; letter-spacing:.01em; }
.rx-toast-copy > span { display:block; color:#bdcce1; font-size:.82rem; line-height:1.4; }
.rx-toast-close {
  position: relative;
  z-index: 3;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 9px;
  background: rgba(255,255,255,.055);
  color: #9fb0c8;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  transition: background 160ms ease, color 160ms ease;
}
.rx-toast-close:hover { background:rgba(255,255,255,.1); color:#fff; }
.rx-toast-progress {
  position: absolute;
  z-index: 4;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  overflow: hidden;
  background: rgba(69,199,121,.12);
  pointer-events: none;
}
.rx-toast-progress > span {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  transform-origin: left center;
  background: linear-gradient(90deg,#29b864 0%,#5ee692 64%,#b7ffd0 100%);
  box-shadow: 0 0 10px rgba(69,199,121,.72), 0 0 18px rgba(69,199,121,.32);
  animation: rxToastCountdown var(--toast-duration) linear forwards;
}
.rx-toast-progress > span::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 54px;
  right: -8px;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.82),transparent);
  animation: rxToastGlow 1.35s linear infinite;
}
@keyframes rxToastCountdown { from { transform: scaleX(1); } to { transform: scaleX(0); } }
@keyframes rxToastGlow { from { transform:translateX(-28px); opacity:.25; } 50% { opacity:1; } to { transform:translateX(14px); opacity:.25; } }

@media (max-width:640px) {
  .rx-toast-stack { top:72px; right:10px; left:10px; width:auto; }
  .rx-toast { min-height:70px; grid-template-columns:minmax(0,1fr) 26px; gap:10px; padding:12px 10px 12px 14px; border-radius:14px; }
}

@media (prefers-reduced-motion:reduce) {
  .rx-toast { transition:none !important; }
  .rx-toast-progress > span::after { animation:none !important; }
}


/* === v105 cashier deposit methods -> dedicated deposit details flow === */
#cashierDepositFlow {
  min-width: 0;
  overflow-x: hidden;
}

#cashierDepositSetup[hidden],
#cashierDepositDetails[hidden] {
  display: none !important;
}

.rx-cashier-detail-balance {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: -2px 0 14px;
  padding: 11px 14px;
  border: 1px solid rgba(116, 142, 169, .18);
  border-radius: 9px;
  background: rgba(20, 34, 49, .72);
}

.rx-cashier-detail-balance span,
.rx-deposit-detail-summary span {
  color: #91a6ba;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.rx-cashier-detail-balance strong {
  color: #fff;
  font-size: 15px;
}

.rx-deposit-detail-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin: 0 0 12px;
}

.rx-deposit-detail-summary > div {
  min-width: 0;
  padding: 11px 13px;
  border-radius: 9px;
  border: 1px solid rgba(116, 142, 169, .17);
  background: #263a4e;
}

.rx-deposit-detail-summary strong {
  display: block;
  margin-top: 4px;
  color: #fff;
  font-size: 14px;
  overflow-wrap: anywhere;
}

#cashierDepositDetails.rx-cashier-payment-details {
  margin-top: 0 !important;
}

#cashierDepositMethods .rx-crypto-card-grid {
  overflow-x: hidden;
}

@media (max-width: 620px) {
  .rx-deposit-detail-summary { grid-template-columns: 1fr; }
  .rx-cashier-detail-balance { align-items: flex-start; flex-direction: column; }
}


/* === v116 Micro NLH five-table selector === */
body.rx-micro-table-picker-open {
  overflow: hidden !important;
}

.rx-micro-table-picker {
  position: fixed;
  inset: 0;
  z-index: 10020;
  display: none;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 18px;
  overflow: hidden;
}

.rx-micro-table-picker.is-open {
  display: flex;
}

.rx-micro-table-picker-backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 6%, rgba(50, 123, 255, 0.2), transparent 34%),
    radial-gradient(circle at 18% 88%, rgba(124, 58, 237, 0.16), transparent 34%),
    rgba(2, 6, 14, 0.9);
  backdrop-filter: blur(9px) saturate(0.88);
}

.rx-micro-table-picker-panel {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 17px;
  width: min(1180px, calc(100vw - 36px));
  max-width: 100%;
  max-height: calc(100dvh - 36px);
  min-width: 0;
  padding: 22px;
  overflow: hidden;
  color: #f7f9ff;
  border: 1px solid rgba(223, 183, 91, 0.32);
  border-radius: 20px;
  background:
    radial-gradient(circle at 50% -22%, rgba(33, 138, 255, 0.17), transparent 38%),
    linear-gradient(155deg, rgba(13, 23, 42, 0.99), rgba(4, 8, 17, 0.99) 62%);
  box-shadow:
    0 34px 90px rgba(0, 0, 0, 0.66),
    0 0 44px rgba(42, 118, 255, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.045);
}

.rx-micro-table-picker-panel:focus {
  outline: none;
}

.rx-micro-table-picker-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  min-width: 0;
  padding: 0 2px 16px;
  border-bottom: 1px solid rgba(113, 158, 211, 0.2);
}

.rx-micro-table-picker-header > div {
  min-width: 0;
}

.rx-micro-table-picker-kicker {
  display: block;
  margin-bottom: 6px;
  color: #dfbd6b;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.19em;
  text-transform: uppercase;
}

.rx-micro-table-picker-header h2 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(1.35rem, 2.6vw, 2rem);
  line-height: 1.08;
  letter-spacing: -0.025em;
}

.rx-micro-table-picker-header p {
  max-width: 680px;
  margin: 8px 0 0;
  color: #93a9c2;
  font-size: 0.84rem;
  line-height: 1.5;
}

.rx-micro-table-picker-close {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid rgba(126, 166, 212, 0.25);
  border-radius: 11px;
  background: rgba(25, 43, 65, 0.78);
  color: #f6f9ff;
  font-size: 1.55rem;
  line-height: 1;
  cursor: pointer;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}

.rx-micro-table-picker-close:hover,
.rx-micro-table-picker-close:focus-visible {
  border-color: rgba(223, 189, 107, 0.64);
  background: rgba(45, 65, 91, 0.96);
  color: #f1d58f;
}

.rx-micro-table-picker-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: start;
  gap: 14px;
  min-width: 0;
  max-width: 100%;
  padding: 2px 3px 8px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(75, 134, 199, 0.7) transparent;
}

.rx-micro-table-card {
  display: grid;
  grid-template-rows: auto auto;
  width: 100%;
  min-width: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(66, 139, 222, 0.32);
  border-radius: 15px;
  background: linear-gradient(180deg, rgba(13, 27, 48, 0.98), rgba(6, 12, 23, 0.98));
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.32);
  color: #ffffff;
  cursor: pointer;
  appearance: none;
  transform: translateZ(0);
  transform-origin: center bottom;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, filter 180ms ease;
}

.rx-micro-table-card:hover,
.rx-micro-table-card:focus-visible {
  z-index: 2;
  transform: translateY(-4px);
  border-color: rgba(74, 170, 255, 0.82);
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.44), 0 0 25px rgba(31, 132, 255, 0.18);
  filter: brightness(1.035);
  outline: none;
}

.rx-micro-table-card[aria-disabled="true"] {
  cursor: not-allowed;
  border-color: rgba(199, 92, 105, 0.35);
  filter: saturate(0.72) brightness(0.8);
}

.rx-micro-table-card[aria-disabled="true"]:hover,
.rx-micro-table-card[aria-disabled="true"]:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(232, 102, 117, 0.65);
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.42), 0 0 22px rgba(197, 64, 84, 0.13);
}

.rx-micro-table-card-image {
  display: block;
  width: 100%;
  aspect-ratio: 2 / 3;
  overflow: hidden;
  background: #02050b;
}

.rx-micro-table-card-image img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
  border: 0;
  background: #02050b;
}

.rx-micro-table-picker-status {
  min-height: 20px;
  margin: 0;
  color: #9eb0c5;
  font-size: 0.76rem;
  font-weight: 700;
  text-align: center;
}

.rx-micro-table-picker-status[data-tone="error"] {
  color: #ff9aa7;
}

@media (max-width: 1020px) {
  .rx-micro-table-picker-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .rx-micro-table-picker {
    align-items: flex-end;
    padding: 8px;
  }

  .rx-micro-table-picker-panel {
    width: 100%;
    max-height: calc(100dvh - 8px);
    gap: 12px;
    padding: 14px 12px 12px;
    border-radius: 17px 17px 10px 10px;
  }

  .rx-micro-table-picker-header {
    gap: 12px;
    padding-bottom: 12px;
  }

  .rx-micro-table-picker-header p {
    font-size: 0.75rem;
  }

  .rx-micro-table-picker-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding-inline: 1px;
  }

  .rx-micro-table-card {
    border-radius: 12px;
  }

}

@media (max-width: 380px) {
  .rx-micro-table-picker-header p {
    display: none;
  }

  .rx-micro-table-picker-close {
    width: 36px;
    height: 36px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rx-micro-table-card,
  .rx-micro-table-picker-close {
    transition: none !important;
  }

  .rx-micro-table-card:hover,
  .rx-micro-table-card:focus-visible,
  .rx-micro-table-card[aria-disabled="true"]:hover,
  .rx-micro-table-card[aria-disabled="true"]:focus-visible {
    transform: none;
  }
}

/* v121 final cascade: five shared NLH selectors with category-themed artwork and live occupancy. */
body.rx-nlh-table-picker-open {
  overflow: hidden !important;
  overscroll-behavior: none;
}

.rx-nlh-table-picker {
  --rx-nlh-picker-accent: #24d7ff;
  --rx-nlh-picker-accent-rgb: 36, 215, 255;
  display: flex;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 210ms ease, visibility 0s linear 230ms;
}

.rx-nlh-table-picker.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
}

.rx-nlh-table-picker-backdrop {
  opacity: 0;
  background:
    radial-gradient(circle at 50% 4%, rgba(var(--rx-nlh-picker-accent-rgb), 0.2), transparent 36%),
    radial-gradient(circle at 14% 88%, rgba(91, 66, 243, 0.16), transparent 34%),
    rgba(1, 4, 11, 0.92);
  transition: opacity 210ms ease;
}

.rx-nlh-table-picker.is-open .rx-nlh-table-picker-backdrop {
  opacity: 1;
}

.rx-nlh-table-picker-panel {
  width: min(1240px, calc(100vw - 36px));
  border-color: rgba(var(--rx-nlh-picker-accent-rgb), 0.42);
  background:
    radial-gradient(circle at 50% -24%, rgba(var(--rx-nlh-picker-accent-rgb), 0.17), transparent 39%),
    linear-gradient(155deg, rgba(12, 21, 39, 0.995), rgba(3, 7, 15, 0.995) 64%);
  box-shadow:
    0 34px 90px rgba(0, 0, 0, 0.7),
    0 0 48px rgba(var(--rx-nlh-picker-accent-rgb), 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.055);
  opacity: 0;
  transform: translateY(18px) scale(0.982);
  transition: transform 230ms cubic-bezier(0.2, 0.78, 0.24, 1), opacity 190ms ease;
}

.rx-nlh-table-picker.is-open .rx-nlh-table-picker-panel {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.rx-nlh-table-picker-header {
  border-bottom-color: rgba(var(--rx-nlh-picker-accent-rgb), 0.2);
}

.rx-nlh-table-picker-close:hover,
.rx-nlh-table-picker-close:focus-visible {
  border-color: rgba(var(--rx-nlh-picker-accent-rgb), 0.72);
  color: #ffffff;
  box-shadow: 0 0 20px rgba(var(--rx-nlh-picker-accent-rgb), 0.18);
}

.rx-nlh-table-picker-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 15px;
  overflow-x: clip;
  scrollbar-color: rgba(var(--rx-nlh-picker-accent-rgb), 0.62) transparent;
}

.rx-nlh-table-card {
  grid-template-rows: auto auto;
  gap: 7px;
  padding: 0 0 4px;
  overflow: visible;
  border: 0;
  border-radius: 18px;
  background: transparent;
  box-shadow: none;
}

.rx-nlh-table-card:hover,
.rx-nlh-table-card:focus-visible {
  border-color: transparent;
  box-shadow: none;
  filter: brightness(1.045) drop-shadow(0 16px 18px rgba(0, 0, 0, 0.38)) drop-shadow(0 0 12px rgba(var(--rx-nlh-picker-accent-rgb), 0.2));
  outline: 2px solid rgba(var(--rx-nlh-picker-accent-rgb), 0.74);
  outline-offset: 5px;
}

.rx-nlh-table-card.is-current {
  border-color: transparent;
  box-shadow: none;
  outline: 2px solid rgba(var(--rx-nlh-picker-accent-rgb), 0.76);
  outline-offset: 4px;
}

.rx-nlh-table-card-image {
  aspect-ratio: var(--rx-picker-card-aspect, 3 / 4);
  overflow: visible;
  background: transparent;
}

.rx-nlh-table-card-image img {
  background: transparent;
}

.rx-nlh-table-card-count {
  display: block;
  width: max-content;
  min-width: 58px;
  margin: 8px auto 0;
  padding: 5px 12px 6px;
  border: 1px solid rgba(var(--rx-nlh-picker-accent-rgb), 0.34);
  border-radius: 999px;
  background: rgba(2, 7, 16, 0.82);
  color: #f8fbff;
  font-size: 0.95rem;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: 0.08em;
  text-align: center;
  text-shadow: 0 0 12px rgba(var(--rx-nlh-picker-accent-rgb), 0.3);
}

.rx-nlh-table-card.is-full .rx-nlh-table-card-count {
  border-color: rgba(255, 112, 129, 0.52);
  color: #ffb2bd;
  text-shadow: none;
}

.rx-nlh-table-card[aria-disabled="true"] {
  border-color: transparent;
}

.rx-nlh-table-card[aria-disabled="true"]:hover,
.rx-nlh-table-card[aria-disabled="true"]:focus-visible {
  border-color: transparent;
  box-shadow: none;
}

@media (max-width: 1020px) {
  .rx-nlh-table-picker-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .rx-nlh-table-picker-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .rx-nlh-table-picker {
    align-items: flex-end;
    padding: 8px;
  }

  .rx-nlh-table-picker-panel {
    width: 100%;
    max-height: calc(100dvh - 8px);
    padding: 14px 12px 12px;
    border-radius: 18px 18px 10px 10px;
  }

  .rx-nlh-table-picker-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  .rx-nlh-table-card {
    width: min(100%, 350px);
    margin-inline: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rx-nlh-table-picker,
  .rx-nlh-table-picker-backdrop,
  .rx-nlh-table-picker-panel {
    transition: none !important;
  }
}

/* === RiverX Terms of Service v122 === */
.legal-doc-link {
  width: max-content;
  max-width: 100%;
  margin-top: 18px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #efd48d;
  font-size: 0.86rem;
  font-weight: 900;
  text-decoration: none;
  border-bottom: 1px solid rgba(239, 212, 141, 0.42);
}

.legal-doc-link:hover,
.legal-doc-link:focus-visible {
  color: #fff1bc;
  border-bottom-color: #fff1bc;
}

.rx-register-terms-panel {
  padding: 12px 13px;
  display: grid;
  gap: 9px;
  border: 1px solid rgba(164, 105, 255, 0.24);
  border-radius: 10px;
  background:
    radial-gradient(circle at 100% 0, rgba(164, 105, 255, 0.09), transparent 55%),
    rgba(10, 16, 29, 0.88);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.rx-register-terms-panel > p {
  margin: 0;
  color: rgba(227, 233, 246, 0.82);
  font-size: 0.78rem;
  line-height: 1.45;
}

.rx-register-terms-panel > p a,
.rx-register-terms-panel .rx-auth-check a {
  color: #c58aff !important;
  font-weight: 900;
  text-decoration: underline !important;
  text-decoration-color: rgba(197, 138, 255, 0.48) !important;
  text-underline-offset: 3px;
}

.rx-register-terms-panel .rx-auth-check {
  margin: 0;
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 10px !important;
  color: #f5f7ff !important;
  font-size: 0.81rem !important;
  line-height: 1.45 !important;
  cursor: pointer;
}

.rx-register-terms-panel .rx-auth-check input {
  width: 17px !important;
  height: 17px !important;
  margin: 2px 0 0 !important;
  accent-color: #9e58f5 !important;
  cursor: pointer;
}

.rx-register-terms-panel .rx-auth-check input:focus-visible {
  outline: 2px solid #e5c5ff;
  outline-offset: 3px;
}

.rx-register-terms-panel > small {
  color: rgba(181, 193, 215, 0.7);
  font-size: 0.69rem;
  line-height: 1.35;
}

.riverx-footer-links {
  margin-bottom: 2px;
  display: flex;
  justify-content: center;
  gap: 18px;
}

.site-footer.riverx-legal-footer .riverx-footer-links a {
  color: #efd48d !important;
  font-size: 0.92rem;
  font-weight: 900 !important;
  letter-spacing: 0.02em;
  text-decoration: none;
  border-bottom: 1px solid rgba(239, 212, 141, 0.5);
}

.site-footer.riverx-legal-footer .riverx-footer-links a:hover,
.site-footer.riverx-legal-footer .riverx-footer-links a:focus-visible {
  color: #fff2bf !important;
  border-bottom-color: #fff2bf;
}

@media (max-width: 620px) {
  .rx-register-terms-panel { padding: 11px; }
  .rx-register-terms-panel .rx-auth-check { font-size: 0.78rem !important; }
}


/* === v125 compact account-anchored rakeback === */
#view-rakeback .rx-rakeback-dashboard {
  width: min(1040px, calc(100vw - 28px)) !important;
  max-height: min(820px, calc(100vh - 24px)) !important;
  padding: 18px !important;
  border-radius: 20px !important;
}
#view-rakeback .rx-rakeback-popup-close {
  top: 14px !important;
  right: 14px !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 10px !important;
  font-size: 22px !important;
}
#view-rakeback .rx-rakeback-dashboard-header {
  margin-bottom: 10px !important;
  padding-right: 48px !important;
}
#view-rakeback .rx-rakeback-dashboard-copy { max-width: 760px !important; }
#view-rakeback .rx-rakeback-kicker { font-size: .64rem !important; }
#view-rakeback .rx-rakeback-dashboard-header h1 {
  margin: 4px 0 5px !important;
  font-size: clamp(1.55rem, 3vw, 2.2rem) !important;
}
#view-rakeback .rx-rakeback-dashboard-header p {
  font-size: .78rem !important;
  line-height: 1.4 !important;
}
#view-rakeback .rx-rakeback-system-message {
  margin-bottom: 10px !important;
  padding: 7px 10px !important;
  border-radius: 9px !important;
  font-size: .72rem !important;
}
#view-rakeback .rx-rakeback-goal-grid { gap: 10px !important; }
#view-rakeback .rx-rakeback-goal-card { border-radius: 15px !important; }
#view-rakeback .rx-rakeback-goal-card-header {
  align-items: center !important;
  padding: 12px 13px 9px !important;
  gap: 10px !important;
}
#view-rakeback .rx-rakeback-card-eyebrow {
  margin-bottom: 2px !important;
  font-size: .56rem !important;
}
#view-rakeback .rx-rakeback-goal-card-header h2 { font-size: 1.15rem !important; }
#view-rakeback .rx-rakeback-period-badge {
  min-width: 42px !important;
  min-height: 27px !important;
  padding: 3px 9px !important;
  font-size: .7rem !important;
}
#view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-status-summary {
  display: flex !important;
  gap: 7px !important;
  padding: 0 12px 9px !important;
}
#view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-status-stat {
  flex: 1 1 0 !important;
  min-height: 0 !important;
  align-items: center !important;
  padding: 7px 9px !important;
  border-radius: 9px !important;
}
#view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-status-stat > span {
  font-size: .56rem !important;
}
#view-rakeback .rx-rakeback-status {
  min-height: 22px !important;
  padding: 3px 7px !important;
  font-size: .56rem !important;
}
#view-rakeback .rx-rakeback-requirements {
  margin: 0 12px 9px !important;
  padding: 10px !important;
  border-radius: 11px !important;
}
#view-rakeback .rx-rakeback-requirements-header {
  align-items: center !important;
  margin-bottom: 8px !important;
}
#view-rakeback .rx-rakeback-requirements-header h3 { font-size: .78rem !important; }
#view-rakeback .rx-rakeback-requirements-header p { display: none !important; }
#view-rakeback .rx-rakeback-level-badge {
  min-height: 23px !important;
  padding: 3px 7px !important;
  font-size: .55rem !important;
}
#view-rakeback .rx-rakeback-requirement-list { gap: 8px !important; }
#view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-progress-row + .rx-rakeback-progress-row {
  padding-top: 8px !important;
}
#view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-progress-copy {
  margin-bottom: 5px !important;
}
#view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-progress-copy span,
#view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-progress-copy strong {
  font-size: .68rem !important;
}
#view-rakeback .rx-rakeback-progress-track { height: 5px !important; }
#view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-progress-row small { display: none !important; }
#view-rakeback .rx-rakeback-time-panel {
  margin: 0 12px 11px !important;
  padding: 9px 10px 8px !important;
  border-radius: 11px !important;
}
#view-rakeback .rx-rakeback-time-heading {
  grid-template-columns: minmax(0,1fr) auto !important;
  gap: 8px !important;
  margin-bottom: 7px !important;
}
#view-rakeback .rx-rakeback-time-icon { display: none !important; }
#view-rakeback .rx-rakeback-time-copy {
  grid-template-columns: auto 1fr !important;
  align-items: baseline !important;
  gap: 8px !important;
}
#view-rakeback .rx-rakeback-time-copy span { font-size: .55rem !important; }
#view-rakeback .rx-rakeback-time-copy strong {
  font-size: .84rem !important;
  text-align: right !important;
}
#view-rakeback .rx-rakeback-time-state {
  min-height: 21px !important;
  padding: 0 7px !important;
  font-size: .52rem !important;
}
#view-rakeback .rx-rakeback-time-track { height: 4px !important; }
#view-rakeback .rx-rakeback-time-rail-labels { display: none !important; }
#view-rakeback .rx-rakeback-period {
  margin-top: 5px !important;
  font-size: .57rem !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#view-rakeback .rx-rakeback-reward-panel {
  margin: 0 12px 11px !important;
  padding: 10px 11px !important;
  border-radius: 11px !important;
}
#view-rakeback .rx-rakeback-reward-copy > strong { font-size: 1.2rem !important; }
#view-rakeback .rx-rakeback-claim-button {
  min-height: 34px !important;
  padding: 7px 11px !important;
  border-radius: 9px !important;
  font-size: .66rem !important;
}
#view-rakeback .rx-rakeback-history-dashboard {
  margin-top: 10px !important;
  padding: 11px !important;
  border-radius: 13px !important;
}
#view-rakeback .rx-rakeback-history-header { margin-bottom: 7px !important; }
#view-rakeback .rx-rakeback-history-title h2 { font-size: .9rem !important; }
#view-rakeback .rx-rakeback-history-title p { font-size: .64rem !important; }
#view-rakeback .rx-rakeback-history-table th,
#view-rakeback .rx-rakeback-history-table td { padding: 7px 8px !important; font-size: .64rem !important; }
@media (max-width: 760px) {
  #view-rakeback .rx-rakeback-dashboard { padding: 13px !important; }
  #view-rakeback .rx-rakeback-goal-grid { grid-template-columns: 1fr !important; }
  #view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-status-summary { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  #view-rakeback .rx-rakeback-period { white-space: normal; }
}
@media (max-width: 480px) {
  #view-rakeback .rx-rakeback-claim-dashboard .rx-rakeback-status-summary { grid-template-columns: 1fr !important; }
  #view-rakeback .rx-rakeback-time-heading { grid-template-columns: 1fr !important; }
  #view-rakeback .rx-rakeback-time-state { justify-self: start !important; }
  #view-rakeback .rx-rakeback-time-copy strong { text-align: left !important; }
}

/* RiverX V126 — fast NOWPayments coin availability */
.rx-crypto-card-status {
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin-top:7px;
  padding:3px 7px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(5,12,20,.24);
  color:#a9bac9;
  font-size:9px;
  font-style:normal;
  font-weight:800;
  line-height:1.25;
  white-space:normal;
}
.rx-crypto-card-status[data-tone="available"] { color:#9be8b6; border-color:rgba(67,209,122,.25); }
.rx-crypto-card-status[data-tone="checking"] { color:#d2c6ff; border-color:rgba(155,126,255,.28); }
.rx-crypto-card-status[data-tone="unavailable"] { color:#f0b4b4; border-color:rgba(239,111,111,.24); }
.rx-crypto-card.is-unavailable { opacity:.72; filter:saturate(.72); }
.rx-crypto-card.is-unavailable .rx-crypto-card-copy b { opacity:.72; }

.admin-nowpayments-coin-status-card { margin-top:14px; }
.admin-nowpayments-coin-status { display:grid; gap:10px; }
.admin-coin-debug-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.admin-coin-debug-grid > div,
.admin-coin-debug-detail,
.admin-coin-debug-reasons {
  display:grid;
  gap:4px;
  min-width:0;
  padding:10px 12px;
  border:1px solid rgba(116,142,169,.16);
  border-radius:9px;
  background:rgba(15,28,42,.52);
}
.admin-coin-debug-grid span,
.admin-coin-debug-detail span,
.admin-coin-debug-reasons span { color:#8fa4b9; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.admin-coin-debug-grid strong,
.admin-coin-debug-detail strong,
.admin-coin-debug-reasons strong { color:#f4f7fa; font-size:12px; overflow-wrap:anywhere; }
@media(max-width:800px){ .admin-coin-debug-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media(max-width:540px){ .admin-coin-debug-grid{grid-template-columns:1fr;} }

/* === v130 RiverX NOWPayments deposit detail redesign === */
.rx-sr-only {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
#view-cashier .rx-deposit-screen-v130 {
  width:100%;
  max-width:100%;
  color:#f7fbff;
}
#view-cashier .rx-deposit-return-btn {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  min-height:48px !important;
  margin:0 0 14px !important;
  padding:0 18px !important;
  border:1px solid rgba(116,151,185,.24) !important;
  border-radius:9px !important;
  background:linear-gradient(180deg,#36516c 0%,#304a64 100%) !important;
  color:#fff !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 8px 22px rgba(0,0,0,.13) !important;
  font-size:13px !important;
  font-weight:850 !important;
  letter-spacing:0 !important;
}
#view-cashier .rx-deposit-return-btn > span { font-size:23px; line-height:1; margin-top:-2px; }
#view-cashier .rx-deposit-return-btn:hover { background:linear-gradient(180deg,#405d78 0%,#36516c 100%) !important; border-color:rgba(123,184,239,.38) !important; }

#view-cashier .rx-deposit-top-panel {
  display:grid;
  gap:10px;
  margin-bottom:14px;
}
#view-cashier .rx-deposit-selector-grid,
#view-cashier .rx-deposit-info-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:10px;
}
#view-cashier .rx-deposit-select-field {
  display:grid;
  gap:7px;
  min-width:0;
  color:#fff;
  font-size:12px;
  font-weight:850;
}
#view-cashier .rx-deposit-select-field > span { color:#f8fbff; }
#view-cashier .rx-deposit-select-shell {
  position:relative;
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  min-height:48px;
  padding:0 38px 0 12px;
  border:1px solid rgba(119,154,190,.22);
  border-radius:9px;
  background:linear-gradient(180deg,#3a5672 0%,#35506b 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
#view-cashier .rx-deposit-select-shell:focus-within {
  border-color:rgba(93,172,242,.58);
  box-shadow:0 0 0 3px rgba(80,157,232,.10),inset 0 1px 0 rgba(255,255,255,.025);
}
#view-cashier .rx-deposit-select-shell .rx-coin-icon { width:26px;height:26px;flex-basis:26px;font-size:13px; }
#view-cashier .rx-deposit-select-shell select {
  width:100%;
  min-width:0;
  min-height:44px;
  appearance:none;
  -webkit-appearance:none;
  border:0;
  outline:0;
  background:transparent;
  color:#fff;
  font:inherit;
  font-size:13px;
  font-weight:850;
  cursor:pointer;
}
#view-cashier .rx-deposit-select-shell select option { color:#f7fbff; background:#243a4f; }
#view-cashier .rx-deposit-select-shell select:disabled { cursor:default; color:#dbe8f4; opacity:.88; }
#view-cashier .rx-deposit-select-chevron {
  position:absolute;
  right:13px;
  top:50%;
  transform:translateY(-54%);
  color:#dce8f3;
  font-size:17px;
  pointer-events:none;
}
#view-cashier .rx-deposit-network-shell { padding-left:13px; }

#view-cashier .rx-deposit-info-card {
  min-width:0;
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 14px;
  border:1px solid rgba(113,148,181,.16);
  border-radius:9px;
  background:#263b50;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018);
}
#view-cashier .rx-deposit-info-card strong {
  min-width:0;
  color:#fff;
  font-size:16px;
  line-height:1.15;
  font-weight:900;
  overflow-wrap:anywhere;
}
#view-cashier .rx-deposit-info-card span {
  flex:0 0 auto;
  color:#d6e8fb;
  font-size:11px;
  font-weight:850;
  text-align:right;
}

#view-cashier .rx-deposit-create-form {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px 12px;
  align-items:end;
  margin-top:2px;
  padding:13px;
  border:1px solid rgba(112,148,182,.15);
  border-radius:10px;
  background:#22364a;
}
#view-cashier .rx-deposit-create-heading { grid-column:1/-1; }
#view-cashier .rx-deposit-create-heading > div { display:grid;gap:3px; }
#view-cashier .rx-deposit-create-heading strong { color:#fff;font-size:13px; }
#view-cashier .rx-deposit-create-heading span { color:#93a9bc;font-size:10px;line-height:1.4; }
#view-cashier .rx-deposit-amount-field { min-width:0; }
#view-cashier .rx-deposit-quick-row { align-self:end; padding-bottom:1px; }
#view-cashier .rx-deposit-estimate-strip { grid-column:1/-1; }
#view-cashier .rx-deposit-create-btn { grid-column:1/-1; min-height:44px !important; }

#view-cashier .rx-deposit-payment-v130 {
  display:grid;
  gap:16px;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
#view-cashier .rx-deposit-payment-v130[hidden] { display:none !important; }
#view-cashier .rx-deposit-payment-status-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:10px;
}
#view-cashier .rx-deposit-payment-status-row > div {
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 12px;
  border:1px solid rgba(111,149,184,.14);
  border-radius:8px;
  background:#22364a;
}
#view-cashier .rx-deposit-payment-status-row span { color:#93a9bc;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em; }
#view-cashier .rx-deposit-payment-status-row strong { color:#fff;font-size:11px;font-weight:900;text-align:right;overflow-wrap:anywhere; }

#view-cashier .rx-deposit-address-section { display:grid;gap:8px; }
#view-cashier .rx-deposit-address-section > label {
  color:#fff;
  font-size:12px;
  font-weight:900;
}
#view-cashier .rx-deposit-address-shell {
  display:grid;
  grid-template-columns:minmax(0,1fr) 44px;
  align-items:center;
  min-height:48px;
  border:1px solid rgba(115,153,189,.20);
  border-radius:8px;
  background:#38546f;
  overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
#view-cashier .rx-deposit-address-shell code {
  min-width:0;
  padding:11px 13px;
  color:#fff;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:12px;
  font-weight:800;
  line-height:1.45;
  overflow-wrap:anywhere;
  word-break:break-word;
}
#view-cashier .rx-deposit-copy-icon-btn {
  width:44px;
  height:46px;
  display:grid;
  place-items:center;
  border:0;
  border-left:1px solid rgba(255,255,255,.06);
  background:transparent;
  color:#fff;
  cursor:pointer;
}
#view-cashier .rx-deposit-copy-icon-btn:hover { background:rgba(255,255,255,.06); }
#view-cashier .rx-deposit-copy-icon-btn:focus-visible { outline:2px solid #7ab8ef; outline-offset:-4px; }
#view-cashier .rx-copy-icon { position:relative;width:15px;height:17px;display:block; }
#view-cashier .rx-copy-icon::before,
#view-cashier .rx-copy-icon::after { content:"";position:absolute;width:10px;height:12px;border:2px solid currentColor;border-radius:2px;box-sizing:border-box; }
#view-cashier .rx-copy-icon::before { left:0;top:0;opacity:.72; }
#view-cashier .rx-copy-icon::after { left:4px;top:4px;background:#38546f; }
#view-cashier .rx-deposit-copy-icon-btn.is-copied .rx-copy-icon::before { display:none; }
#view-cashier .rx-deposit-copy-icon-btn.is-copied .rx-copy-icon::after { content:"✓";display:grid;place-items:center;left:0;top:0;width:17px;height:17px;border:0;background:transparent;font-size:16px;font-weight:900; }

#view-cashier .rx-deposit-qr-warning-grid {
  display:grid;
  grid-template-columns:148px minmax(0,1fr);
  gap:22px;
  align-items:start;
}
#view-cashier .rx-deposit-qr-card {
  width:148px;
  display:grid;
  gap:7px;
  justify-items:center;
}
#view-cashier .rx-deposit-qr-card img {
  width:144px;
  height:144px;
  display:block;
  padding:5px;
  border:0;
  border-radius:4px;
  background:#fff;
  image-rendering:auto;
}
#view-cashier .rx-deposit-qr-card img[hidden] { display:none; }
#view-cashier .rx-deposit-qr-card span { color:#879eb2;font-size:9px;text-align:center;line-height:1.35; }
#view-cashier .rx-deposit-warning-copy {
  display:grid;
  gap:9px;
  padding-top:8px;
  min-width:0;
}
#view-cashier .rx-deposit-warning-copy strong { color:#fff;font-size:12px;font-weight:900; }
#view-cashier .rx-deposit-warning-copy p { margin:0;color:#d5e6f4;font-size:10px;font-weight:700;line-height:1.55;max-width:480px; }
#view-cashier .rx-deposit-warning-copy p::first-line { color:#fff; }
#view-cashier .rx-deposit-memo-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border:1px solid rgba(112,149,184,.15);
  border-radius:8px;
  background:#22364a;
}
#view-cashier .rx-deposit-memo-row[hidden] { display:none !important; }
#view-cashier .rx-deposit-memo-row > div { min-width:0;display:grid;gap:3px; }
#view-cashier .rx-deposit-memo-row span { color:#93a9bc;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em; }
#view-cashier .rx-deposit-memo-row code { color:#fff;font-size:11px;font-weight:800;overflow-wrap:anywhere;word-break:break-word; }
#view-cashier .rx-deposit-safe-note {
  padding-top:11px;
  border-top:1px solid rgba(116,151,185,.14);
  color:#8399ac;
  font-size:9px;
  line-height:1.45;
}

/* Coin accents used by the V130 selector. */
.rx-coin-sol { background:linear-gradient(145deg,#6b5cff,#2ec9a8); }
.rx-coin-shib { background:#e96332; }
.rx-coin-xmr { background:#ff6600; }
.rx-coin-bch { background:#0ac18e; }
.rx-coin-bnb { background:#f0b90b;color:#121820; }
.rx-coin-xrp { background:#232b35; }
.rx-coin-trx { background:#ef233c; }

@media(max-width:720px){
  #view-cashier .rx-deposit-create-form { grid-template-columns:1fr; }
  #view-cashier .rx-deposit-create-heading,
  #view-cashier .rx-deposit-estimate-strip,
  #view-cashier .rx-deposit-create-btn { grid-column:auto; }
  #view-cashier .rx-deposit-quick-row { padding-bottom:0; }
}
@media(max-width:560px){
  #view-cashier .rx-deposit-return-btn { width:100%; }
  #view-cashier .rx-deposit-selector-grid,
  #view-cashier .rx-deposit-info-grid,
  #view-cashier .rx-deposit-payment-status-row { grid-template-columns:1fr; }
  #view-cashier .rx-deposit-qr-warning-grid { grid-template-columns:1fr;gap:12px; }
  #view-cashier .rx-deposit-qr-card { width:100%;justify-items:start; }
  #view-cashier .rx-deposit-qr-card img { width:154px;height:154px; }
  #view-cashier .rx-deposit-qr-card span { text-align:left; }
  #view-cashier .rx-deposit-warning-copy { padding-top:0; }
  #view-cashier .rx-deposit-info-card strong { font-size:15px; }
}
@media(max-width:390px){
  #view-cashier .rx-deposit-info-card { align-items:flex-start;flex-direction:column;gap:5px; }
  #view-cashier .rx-deposit-info-card span { text-align:left; }
  #view-cashier .rx-deposit-memo-row { align-items:stretch;flex-direction:column; }
}
#view-cashier .rx-deposit-global-message { margin:10px 0 0; }

/* === v131 RiverX deposit screen professional polish === */
#view-cashier .rx-deposit-screen-v131 {
  --rx-deposit-bg:#142130;
  --rx-deposit-panel:#1a2b3c;
  --rx-deposit-panel-2:#1d3043;
  --rx-deposit-panel-3:#22384d;
  --rx-deposit-border:rgba(137,166,196,.16);
  --rx-deposit-border-strong:rgba(130,177,222,.28);
  --rx-deposit-text:#f7fbff;
  --rx-deposit-muted:#8fa7bc;
  --rx-deposit-accent:#8c7cff;
  --rx-deposit-accent-2:#56bce9;
  --rx-deposit-success:#52d58d;
  display:grid;
  gap:14px;
}
#view-cashier .rx-deposit-screen-v131::before {
  content:"";
  position:absolute;
  pointer-events:none;
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-return-btn {
  min-height:40px !important;
  width:max-content;
  max-width:100%;
  margin:0 !important;
  padding:0 13px !important;
  gap:8px !important;
  border-radius:8px !important;
  border:1px solid rgba(126,161,194,.16) !important;
  background:#203448 !important;
  box-shadow:none !important;
  color:#eaf3fb !important;
  font-size:11px !important;
  font-weight:850 !important;
  transition:background .16s ease,border-color .16s ease,transform .16s ease !important;
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-return-btn > span {
  margin:0;
  font-size:16px;
  opacity:.9;
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-return-btn:hover {
  transform:translateX(-1px);
  background:#263e54 !important;
  border-color:rgba(118,190,238,.34) !important;
}

#view-cashier .rx-deposit-hero-v131 {
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:17px 18px;
  border:1px solid var(--rx-deposit-border);
  border-radius:13px;
  background:
    radial-gradient(circle at 88% 4%,rgba(117,101,255,.13),transparent 34%),
    linear-gradient(145deg,#182838 0%,#172636 58%,#152332 100%);
  box-shadow:0 14px 34px rgba(4,10,18,.17),inset 0 1px 0 rgba(255,255,255,.025);
}
#view-cashier .rx-deposit-hero-v131::after {
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,rgba(139,119,255,.9),rgba(79,190,235,.68),transparent 82%);
}
#view-cashier .rx-deposit-hero-copy-v131 { min-width:0; }
#view-cashier .rx-deposit-eyebrow-v131 {
  display:block;
  margin-bottom:6px;
  color:#a99cff;
  font-size:9px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
#view-cashier .rx-deposit-hero-copy-v131 h3 {
  margin:0;
  color:#fff;
  font-size:19px;
  font-weight:900;
  letter-spacing:-.025em;
}
#view-cashier .rx-deposit-hero-copy-v131 p {
  max-width:490px;
  margin:6px 0 0;
  color:#9ab0c4;
  font-size:10.5px;
  font-weight:650;
  line-height:1.55;
}
#view-cashier .rx-deposit-secure-pill-v131 {
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:9px;
  padding:9px 11px;
  border:1px solid rgba(82,213,141,.16);
  border-radius:10px;
  background:rgba(23,66,51,.24);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
}
#view-cashier .rx-deposit-secure-pill-v131 > span:last-child { display:grid;gap:2px; }
#view-cashier .rx-deposit-secure-pill-v131 strong { color:#dff9e9;font-size:9px;font-weight:900;white-space:nowrap; }
#view-cashier .rx-deposit-secure-pill-v131 small { color:#7fa793;font-size:8px;font-weight:750;white-space:nowrap; }
#view-cashier .rx-deposit-secure-dot-v131 {
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--rx-deposit-success);
  box-shadow:0 0 0 4px rgba(82,213,141,.09),0 0 14px rgba(82,213,141,.28);
}

#view-cashier .rx-deposit-screen-v131 .rx-deposit-top-panel {
  gap:12px;
  margin:0;
  padding:15px;
  border:1px solid var(--rx-deposit-border);
  border-radius:13px;
  background:linear-gradient(180deg,rgba(27,44,61,.96),rgba(24,40,55,.96));
  box-shadow:0 12px 30px rgba(4,10,18,.13),inset 0 1px 0 rgba(255,255,255,.02);
}
#view-cashier .rx-deposit-panel-heading-v131 {
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
#view-cashier .rx-deposit-panel-heading-v131 > div { display:grid;gap:2px;min-width:0; }
#view-cashier .rx-deposit-panel-heading-v131 > div > strong { color:#f8fbff;font-size:11px;font-weight:900; }
#view-cashier .rx-deposit-panel-heading-v131 > div > small { color:#8299ad;font-size:8.5px;font-weight:700;line-height:1.35; }
#view-cashier .rx-deposit-step-v131 {
  flex:0 0 25px;
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  border:1px solid rgba(139,123,255,.26);
  border-radius:8px;
  background:linear-gradient(145deg,rgba(139,123,255,.18),rgba(71,164,220,.10));
  color:#c8c0ff;
  font-size:10px;
  font-weight:950;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}

#view-cashier .rx-deposit-screen-v131 .rx-deposit-selector-grid,
#view-cashier .rx-deposit-screen-v131 .rx-deposit-info-grid { gap:11px; }
#view-cashier .rx-deposit-screen-v131 .rx-deposit-select-field { gap:6px; }
#view-cashier .rx-deposit-screen-v131 .rx-deposit-select-field > span {
  color:#9ab0c4;
  font-size:9px;
  font-weight:850;
  letter-spacing:.035em;
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-select-shell {
  min-height:51px;
  padding:0 39px 0 12px;
  border-color:rgba(127,161,195,.18);
  border-radius:10px;
  background:linear-gradient(180deg,#23394e 0%,#203448 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 6px 14px rgba(4,10,18,.05);
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-select-shell:hover {
  border-color:rgba(126,180,225,.3);
  background:linear-gradient(180deg,#263e54 0%,#22384c 100%);
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-select-shell:focus-within {
  border-color:rgba(122,111,255,.66);
  box-shadow:0 0 0 3px rgba(131,112,255,.09),inset 0 1px 0 rgba(255,255,255,.025);
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-select-shell .rx-coin-icon {
  width:29px;
  height:29px;
  flex-basis:29px;
  font-size:13px;
  box-shadow:0 4px 12px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.12);
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-select-shell select {
  min-height:48px;
  font-size:12px;
  letter-spacing:-.01em;
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-network-shell { padding-left:13px; }
#view-cashier .rx-deposit-screen-v131 .rx-deposit-select-chevron { right:14px;color:#8ca4b9;font-size:15px; }

#view-cashier .rx-deposit-screen-v131 .rx-deposit-info-card {
  min-height:64px;
  padding:12px 14px;
  border-color:rgba(126,161,194,.13);
  border-radius:10px;
  background:linear-gradient(145deg,#1d3144,#1b2d3f);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018);
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-info-card strong {
  color:#fff;
  font-size:17px;
  font-weight:950;
  letter-spacing:-.025em;
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-info-card span {
  color:#91abc1;
  font-size:9px;
  font-weight:850;
}

#view-cashier .rx-deposit-screen-v131 .rx-deposit-create-form {
  grid-template-columns:minmax(0,1fr) auto;
  gap:11px 12px;
  margin:0;
  padding:15px;
  border:1px solid var(--rx-deposit-border);
  border-radius:13px;
  background:linear-gradient(180deg,rgba(27,44,61,.96),rgba(24,40,55,.96));
  box-shadow:0 12px 30px rgba(4,10,18,.13),inset 0 1px 0 rgba(255,255,255,.02);
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-create-heading {
  display:flex;
  align-items:center;
  gap:10px;
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-create-heading > div { gap:2px; }
#view-cashier .rx-deposit-screen-v131 .rx-deposit-create-heading strong { font-size:11px; }
#view-cashier .rx-deposit-screen-v131 .rx-deposit-create-heading span { color:#8299ad;font-size:8.5px;line-height:1.4; }
#view-cashier .rx-deposit-screen-v131 .rx-deposit-amount-field > span {
  color:#9ab0c4;
  font-size:9px;
  font-weight:850;
  letter-spacing:.035em;
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-amount-field .rx-cashier-input-shell {
  min-height:48px;
  border-radius:10px;
  border-color:rgba(127,161,195,.18);
  background:#203448;
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-quick-row { display:flex;gap:6px;flex-wrap:wrap; }
#view-cashier .rx-deposit-screen-v131 .rx-deposit-quick-row .rx-btn {
  min-width:54px;
  min-height:36px;
  border-radius:8px;
  border-color:rgba(125,159,192,.15) !important;
  background:#203448 !important;
  color:#cdddea !important;
  font-size:10px !important;
  box-shadow:none !important;
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-quick-row .rx-btn:hover {
  border-color:rgba(139,123,255,.38) !important;
  background:#293f56 !important;
  color:#fff !important;
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-estimate-strip {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:38px;
  padding:9px 11px;
  border:1px solid rgba(128,159,188,.10);
  border-radius:9px;
  background:rgba(14,25,36,.38);
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-estimate-strip small { color:#839bb0;font-size:8.5px;line-height:1.35; }
#view-cashier .rx-deposit-screen-v131 .rx-deposit-create-btn {
  min-height:46px !important;
  border-radius:10px !important;
  background:linear-gradient(135deg,#765cff 0%,#5772ef 48%,#3a9bd7 100%) !important;
  border:1px solid rgba(170,159,255,.28) !important;
  box-shadow:0 10px 24px rgba(66,76,193,.20),inset 0 1px 0 rgba(255,255,255,.16) !important;
  color:#fff !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.01em;
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-create-btn:hover {
  transform:translateY(-1px);
  filter:brightness(1.06);
  box-shadow:0 13px 28px rgba(66,76,193,.25),inset 0 1px 0 rgba(255,255,255,.16) !important;
}

#view-cashier .rx-deposit-screen-v131 .rx-deposit-payment-v130 {
  gap:12px;
  padding:15px !important;
  border:1px solid var(--rx-deposit-border) !important;
  border-radius:13px !important;
  background:linear-gradient(180deg,rgba(27,44,61,.96),rgba(24,40,55,.96)) !important;
  box-shadow:0 12px 30px rgba(4,10,18,.13),inset 0 1px 0 rgba(255,255,255,.02) !important;
}
#view-cashier .rx-deposit-payment-heading-v131 { margin-bottom:1px; }
#view-cashier .rx-deposit-live-pill-v131 {
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 8px;
  border:1px solid rgba(82,213,141,.15);
  border-radius:999px;
  background:rgba(23,66,51,.18);
  color:#bde9ce;
  font-size:8px;
  font-weight:850;
  white-space:nowrap;
}
#view-cashier .rx-deposit-live-pill-v131 i {
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--rx-deposit-success);
  box-shadow:0 0 0 3px rgba(82,213,141,.08);
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-payment-status-row { gap:9px; }
#view-cashier .rx-deposit-screen-v131 .rx-deposit-payment-status-row > div {
  min-height:50px;
  padding:10px 12px;
  border-color:rgba(124,158,190,.12);
  border-radius:9px;
  background:#1c3043;
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-payment-status-row span { color:#7f98ad;font-size:8px; }
#view-cashier .rx-deposit-screen-v131 .rx-deposit-payment-status-row strong { font-size:11px; }
#view-cashier .rx-deposit-payment-v130[data-status="finished"] .rx-deposit-payment-status-row > div:first-child,
#view-cashier .rx-deposit-payment-v130[data-status="confirmed"] .rx-deposit-payment-status-row > div:first-child {
  border-color:rgba(82,213,141,.24);
  background:rgba(28,67,54,.33);
}

#view-cashier .rx-deposit-screen-v131 .rx-deposit-address-section {
  gap:7px;
  padding-top:2px;
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-address-section > label {
  color:#f3f8fc;
  font-size:10px;
  letter-spacing:.01em;
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-address-shell {
  grid-template-columns:minmax(0,1fr) 47px;
  min-height:52px;
  border-color:rgba(126,174,214,.22);
  border-radius:10px;
  background:#21384c;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 8px 20px rgba(4,10,18,.07);
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-address-shell code {
  padding:12px 14px;
  color:#f5fbff;
  font-size:11px;
  font-weight:760;
  letter-spacing:.01em;
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-copy-icon-btn {
  width:47px;
  height:50px;
  color:#cfe0ee;
  background:rgba(255,255,255,.018);
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-copy-icon-btn:hover { background:rgba(139,123,255,.10);color:#fff; }
#view-cashier .rx-deposit-screen-v131 .rx-copy-icon::after { background:#21384c; }

#view-cashier .rx-deposit-screen-v131 .rx-deposit-qr-warning-grid {
  grid-template-columns:164px minmax(0,1fr);
  gap:17px;
  align-items:stretch;
  padding:13px;
  border:1px solid rgba(125,159,191,.12);
  border-radius:11px;
  background:rgba(14,25,36,.33);
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-qr-card {
  width:164px;
  gap:7px;
}
#view-cashier .rx-deposit-qr-frame-v131 {
  display:grid;
  place-items:center;
  width:154px;
  height:154px;
  padding:5px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  background:#fff;
  box-shadow:0 10px 26px rgba(0,0,0,.18);
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-qr-card img {
  width:144px;
  height:144px;
  padding:0;
  border-radius:5px;
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-qr-card span {
  color:#7f98ad;
  font-size:8px;
  font-weight:750;
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-warning-copy {
  grid-template-columns:30px minmax(0,1fr);
  gap:10px;
  align-content:start;
  padding:10px 4px 8px 2px;
}
#view-cashier .rx-deposit-warning-copy > div { min-width:0;display:grid;gap:7px; }
#view-cashier .rx-deposit-warning-icon-v131 {
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,187,84,.18);
  border-radius:9px;
  background:rgba(117,77,24,.22);
  color:#ffd18b;
  font-size:12px;
  font-weight:950;
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-warning-copy strong {
  color:#f8fbff;
  font-size:11px;
  font-weight:900;
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-warning-copy p {
  max-width:500px;
  color:#9fb4c7;
  font-size:9.5px;
  font-weight:680;
  line-height:1.65;
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-warning-copy p::first-line { color:inherit; }
#view-cashier .rx-deposit-screen-v131 .rx-deposit-memo-row {
  border-color:rgba(125,159,191,.12);
  border-radius:9px;
  background:#1c3043;
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-safe-note {
  display:flex;
  align-items:flex-start;
  gap:8px;
  padding:10px 11px 0;
  margin-top:1px;
  border-top:1px solid rgba(116,151,185,.10);
  color:#788fa3;
  font-size:8.5px;
  line-height:1.5;
}
#view-cashier .rx-deposit-safe-icon-v131 {
  flex:0 0 17px;
  width:17px;
  height:17px;
  display:grid;
  place-items:center;
  margin-top:-1px;
  border-radius:50%;
  background:rgba(82,213,141,.10);
  color:#8ce0ae;
  font-size:9px;
  font-weight:950;
}
#view-cashier .rx-deposit-screen-v131 .rx-deposit-global-message {
  margin:0;
  border-radius:9px;
}

@media(max-width:720px){
  #view-cashier .rx-deposit-hero-v131 { align-items:flex-start; }
  #view-cashier .rx-deposit-secure-pill-v131 { display:none; }
  #view-cashier .rx-deposit-screen-v131 .rx-deposit-create-form { grid-template-columns:1fr; }
  #view-cashier .rx-deposit-screen-v131 .rx-deposit-create-heading,
  #view-cashier .rx-deposit-screen-v131 .rx-deposit-estimate-strip,
  #view-cashier .rx-deposit-screen-v131 .rx-deposit-create-btn { grid-column:auto; }
  #view-cashier .rx-deposit-screen-v131 .rx-deposit-quick-row { align-self:stretch; }
}
@media(max-width:560px){
  #view-cashier .rx-deposit-screen-v131 { gap:10px; }
  #view-cashier .rx-deposit-screen-v131 .rx-deposit-return-btn { width:max-content; }
  #view-cashier .rx-deposit-hero-v131 { padding:14px; }
  #view-cashier .rx-deposit-hero-copy-v131 h3 { font-size:17px; }
  #view-cashier .rx-deposit-hero-copy-v131 p { font-size:9.5px; }
  #view-cashier .rx-deposit-screen-v131 .rx-deposit-top-panel,
  #view-cashier .rx-deposit-screen-v131 .rx-deposit-create-form,
  #view-cashier .rx-deposit-screen-v131 .rx-deposit-payment-v130 { padding:12px !important;border-radius:11px !important; }
  #view-cashier .rx-deposit-screen-v131 .rx-deposit-selector-grid,
  #view-cashier .rx-deposit-screen-v131 .rx-deposit-info-grid,
  #view-cashier .rx-deposit-screen-v131 .rx-deposit-payment-status-row { grid-template-columns:1fr; }
  #view-cashier .rx-deposit-screen-v131 .rx-deposit-info-card { min-height:55px; }
  #view-cashier .rx-deposit-screen-v131 .rx-deposit-info-card strong { font-size:15px; }
  #view-cashier .rx-deposit-live-pill-v131 { display:none; }
  #view-cashier .rx-deposit-screen-v131 .rx-deposit-qr-warning-grid { grid-template-columns:1fr;gap:10px;padding:12px; }
  #view-cashier .rx-deposit-screen-v131 .rx-deposit-qr-card { width:100%;justify-items:center; }
  #view-cashier .rx-deposit-qr-frame-v131 { width:164px;height:164px; }
  #view-cashier .rx-deposit-screen-v131 .rx-deposit-qr-card img { width:154px;height:154px; }
  #view-cashier .rx-deposit-screen-v131 .rx-deposit-qr-card span { text-align:center; }
  #view-cashier .rx-deposit-screen-v131 .rx-deposit-warning-copy { padding:4px 0 0; }
  #view-cashier .rx-deposit-screen-v131 .rx-deposit-estimate-strip { align-items:flex-start;flex-direction:column;gap:5px; }
}
@media(max-width:390px){
  #view-cashier .rx-deposit-screen-v131 .rx-deposit-return-btn { font-size:10px !important; }
  #view-cashier .rx-deposit-screen-v131 .rx-deposit-quick-row .rx-btn { flex:1 1 calc(50% - 6px); }
  #view-cashier .rx-deposit-screen-v131 .rx-deposit-info-card { align-items:flex-start;flex-direction:column;gap:4px; }
  #view-cashier .rx-deposit-screen-v131 .rx-deposit-info-card span { text-align:left; }
  #view-cashier .rx-deposit-screen-v131 .rx-deposit-address-shell { grid-template-columns:minmax(0,1fr) 42px; }
  #view-cashier .rx-deposit-screen-v131 .rx-deposit-copy-icon-btn { width:42px; }
}

/* v131 final visual QA adjustments */
#view-cashier .rx-deposit-screen-v131 .rx-deposit-select-shell select,
#view-cashier .rx-deposit-screen-v131 .rx-deposit-select-shell select:hover,
#view-cashier .rx-deposit-screen-v131 .rx-deposit-select-shell select:focus {
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:0 !important;
}
#view-cashier .rx-deposit-screen-v131.is-payment-ready .rx-deposit-hero-v131 { display:none; }
#view-cashier .rx-deposit-screen-v131.is-payment-ready { gap:11px; }
#view-cashier .rx-deposit-screen-v131.is-payment-ready .rx-deposit-top-panel { padding:12px 14px;gap:9px; }
#view-cashier .rx-deposit-screen-v131.is-payment-ready .rx-deposit-panel-heading-v131:not(.rx-deposit-payment-heading-v131) { display:none; }
#view-cashier .rx-deposit-screen-v131.is-payment-ready .rx-deposit-select-shell { min-height:46px; }
#view-cashier .rx-deposit-screen-v131.is-payment-ready .rx-deposit-select-shell select { min-height:43px; }
#view-cashier .rx-deposit-screen-v131.is-payment-ready .rx-deposit-info-card { min-height:54px;padding:10px 13px; }
#view-cashier .rx-deposit-screen-v131.is-payment-ready .rx-deposit-info-card strong { font-size:15px; }

/* RiverX V133 — secure balance-only withdrawal experience */
.rx-withdraw-panel-v133{display:grid;gap:18px}.rx-withdraw-panel-v133[hidden]{display:none!important}.rx-withdraw-hero-v133{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px;border:1px solid rgba(126,154,255,.16);border-radius:18px;background:linear-gradient(145deg,rgba(17,21,38,.96),rgba(8,11,22,.96));box-shadow:0 18px 48px rgba(0,0,0,.18)}.rx-withdraw-hero-v133 h3{margin:4px 0 7px;font-size:20px}.rx-withdraw-hero-v133 p{margin:0;max-width:700px;color:rgba(219,227,255,.68);line-height:1.55}.rx-withdraw-security-badge-v133{flex:0 0 auto;padding:8px 11px;border:1px solid rgba(129,112,255,.26);border-radius:999px;background:rgba(104,89,255,.09);color:#d8d2ff;font-size:12px;font-weight:700;letter-spacing:.02em}.rx-withdraw-asset-grid-v133 .rx-crypto-card{min-height:142px}.rx-withdraw-empty-v133{display:grid;gap:6px;justify-items:start;text-align:left}.rx-withdraw-empty-v133 strong{color:#fff}.rx-withdraw-empty-v133 span{color:rgba(219,227,255,.62);font-size:13px}.rx-withdraw-form-v133{display:grid;gap:16px;padding:20px;border:1px solid rgba(124,146,255,.15);border-radius:18px;background:rgba(8,11,21,.76)}.rx-withdraw-section-heading-v133{display:flex;align-items:center;gap:11px;margin-top:2px}.rx-withdraw-section-heading-v133>span{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:linear-gradient(135deg,rgba(127,93,255,.98),rgba(61,145,255,.98));box-shadow:0 7px 20px rgba(80,98,255,.2);font-size:12px;font-weight:800;color:#fff}.rx-withdraw-section-heading-v133>div{display:grid;gap:2px}.rx-withdraw-section-heading-v133 strong{font-size:14px;color:#f6f7ff}.rx-withdraw-section-heading-v133 small{font-size:12px;color:rgba(205,216,255,.58)}.rx-withdraw-selector-grid-v133,.rx-withdraw-balance-grid-v133{gap:12px}.rx-withdraw-balance-card-v133{border-color:rgba(138,108,255,.22)!important;background:linear-gradient(145deg,rgba(108,83,255,.09),rgba(15,19,33,.74))!important}.rx-withdraw-balance-card-v133 strong{font-size:18px!important}.rx-withdraw-warning-v133{display:flex;align-items:flex-start;gap:12px;padding:13px 14px;border:1px solid rgba(255,186,78,.21);border-radius:14px;background:rgba(255,166,43,.055)}.rx-withdraw-warning-v133>span{display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px;border-radius:50%;background:rgba(255,178,60,.14);color:#ffd48b;font-weight:900}.rx-withdraw-warning-v133 strong{display:block;color:#fff2d7;font-size:13px;margin-bottom:3px}.rx-withdraw-warning-v133 p{margin:0;color:rgba(255,233,197,.72);font-size:12px;line-height:1.5}.rx-withdraw-amount-shell-v133{position:relative;padding-right:68px!important}.rx-withdraw-amount-shell-v133 input{padding-right:4px!important}.rx-withdraw-max-btn-v133{position:absolute;right:7px;top:50%;transform:translateY(-50%);height:30px;padding:0 11px;border:1px solid rgba(116,104,255,.24);border-radius:9px;background:rgba(104,88,255,.12);color:#dcd8ff;font-weight:800;font-size:11px;cursor:pointer}.rx-withdraw-max-btn-v133:hover:not(:disabled){background:rgba(104,88,255,.2)}.rx-withdraw-max-btn-v133:disabled{opacity:.42;cursor:not-allowed}.rx-withdraw-review-btn-v133{min-height:46px;font-weight:800}.rx-withdraw-confirm-modal-v133{max-width:560px}.rx-withdraw-confirm-grid-v133{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.rx-withdraw-confirm-grid-v133>div{display:grid;gap:4px;padding:12px 13px;border:1px solid rgba(121,145,255,.14);border-radius:12px;background:rgba(8,12,24,.7)}.rx-withdraw-confirm-grid-v133 .is-wide{grid-column:1/-1}.rx-withdraw-confirm-grid-v133 span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:rgba(199,211,255,.5)}.rx-withdraw-confirm-grid-v133 strong{color:#fff;overflow-wrap:anywhere}.rx-withdraw-confirm-warning-v133{padding:13px 14px;border:1px solid rgba(255,184,73,.22);border-radius:13px;background:rgba(255,163,32,.06)}.rx-withdraw-confirm-warning-v133 strong{color:#fff0d2}.rx-withdraw-confirm-warning-v133 p{margin:4px 0 0;color:rgba(255,232,191,.7);font-size:12px;line-height:1.5}
@media(max-width:720px){.rx-withdraw-hero-v133{padding:17px;display:grid}.rx-withdraw-security-badge-v133{justify-self:start}.rx-withdraw-form-v133{padding:15px}.rx-withdraw-selector-grid-v133,.rx-withdraw-balance-grid-v133,.rx-withdraw-amount-row-v133{grid-template-columns:1fr!important}.rx-withdraw-amount-row-v133 .rx-conversion-equals{display:none}.rx-withdraw-confirm-grid-v133{grid-template-columns:1fr}.rx-withdraw-confirm-grid-v133 .is-wide{grid-column:auto}.rx-withdraw-warning-v133{padding:12px}}


/* RiverX V145 — premium player-facing withdrawal experience */
#view-cashier .rx-withdraw-panel-v145{gap:14px}
#view-cashier .rx-withdraw-hero-v145{position:relative;overflow:hidden;align-items:center;padding:19px 20px;border-color:rgba(99,121,164,.28);border-radius:15px;background:linear-gradient(135deg,rgba(13,20,34,.98),rgba(10,15,28,.98));box-shadow:0 16px 42px rgba(0,0,0,.22)}
#view-cashier .rx-withdraw-hero-v145::after{content:"";position:absolute;right:-50px;top:-70px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(53,196,113,.10),rgba(81,92,238,.045) 46%,transparent 72%);pointer-events:none}
#view-cashier .rx-withdraw-hero-copy-v145{position:relative;z-index:1;display:grid;gap:5px;min-width:0}
#view-cashier .rx-withdraw-hero-copy-v145 .eyebrow{color:#e7c86b;font-size:10px;letter-spacing:.11em}
#view-cashier .rx-withdraw-hero-v145 h3{margin:0;font-size:21px;line-height:1.22;letter-spacing:-.015em;color:#f8fbff}
#view-cashier .rx-withdraw-hero-v145 p{margin:0;max-width:620px;color:#aebdd0;font-size:12.5px;line-height:1.55}
#view-cashier .rx-withdraw-hero-copy-v145 small{color:#7f91a8;font-size:10.5px}
#view-cashier .rx-withdraw-security-badge-v145{position:relative;z-index:1;display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-color:rgba(59,199,119,.26);background:rgba(45,181,102,.08);color:#bcefd0;font-size:10.5px;white-space:nowrap}
#view-cashier .rx-withdraw-security-badge-v145 i{width:7px;height:7px;border-radius:50%;background:#4fd18a;box-shadow:0 0 0 4px rgba(79,209,138,.09)}
#view-cashier .rx-withdraw-asset-grid-v145{gap:10px}
#view-cashier .rx-withdraw-asset-grid-v145 .rx-crypto-card{min-height:128px;border-radius:13px;border-color:rgba(104,129,162,.24);background:linear-gradient(145deg,#203348,#1a2a3d);box-shadow:0 10px 26px rgba(0,0,0,.12)}
#view-cashier .rx-withdraw-asset-grid-v145 .rx-crypto-card:hover{border-color:rgba(65,201,121,.42);box-shadow:0 14px 30px rgba(0,0,0,.18)}
#view-cashier .rx-withdraw-empty-v145{grid-column:1/-1;min-height:156px;place-content:center;justify-items:center;text-align:center;padding:24px;border:1px dashed rgba(113,140,171,.25);border-radius:14px;background:rgba(13,26,40,.42)}
#view-cashier .rx-withdraw-empty-v145 .rx-withdraw-empty-mark-v145{display:grid;place-items:center;width:38px;height:38px;margin-bottom:4px;border-radius:12px;background:rgba(50,197,111,.08);border:1px solid rgba(70,206,128,.18);color:#82dba8;font-size:18px;font-weight:900}
#view-cashier .rx-withdraw-empty-v145 strong{font-size:14px;color:#f4f8fc}
#view-cashier .rx-withdraw-empty-v145 span{max-width:430px;color:#8da0b5;font-size:11px;line-height:1.55}
#view-cashier .rx-withdraw-return-v145{width:max-content;min-height:34px;padding:6px 10px!important;font-size:10.5px!important;border-radius:9px!important}
#view-cashier .rx-withdraw-form-v145{gap:11px;padding:0;border:0;background:transparent;box-shadow:none}
#view-cashier .rx-withdraw-step-card-v145{display:grid;gap:12px;padding:15px;border:1px solid rgba(105,131,164,.21);border-radius:14px;background:linear-gradient(145deg,rgba(27,43,61,.72),rgba(20,34,49,.74));box-shadow:0 8px 22px rgba(0,0,0,.10)}
#view-cashier .rx-withdraw-section-heading-v145{margin:0;padding-bottom:10px;border-bottom:1px solid rgba(111,136,167,.13)}
#view-cashier .rx-withdraw-section-heading-v145>span{width:25px;height:25px;border-radius:8px;background:linear-gradient(135deg,#6f5cea,#488de2);box-shadow:none;font-size:10px}
#view-cashier .rx-withdraw-section-heading-v145 strong{font-size:12.5px;letter-spacing:.01em}
#view-cashier .rx-withdraw-section-heading-v145 small{font-size:9.5px;color:#8093aa}
#view-cashier .rx-withdraw-primary-grid-v145,#view-cashier .rx-withdraw-secondary-grid-v145{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:10px;align-items:stretch}
#view-cashier .rx-withdraw-form-v145 .rx-cashier-field{gap:6px}
#view-cashier .rx-withdraw-form-v145 .rx-cashier-field>span{font-size:9px;font-weight:850;letter-spacing:.045em;text-transform:uppercase;color:#8fa4bb}
#view-cashier .rx-withdraw-form-v145 select,#view-cashier .rx-withdraw-form-v145 textarea,#view-cashier .rx-withdraw-form-v145 input{border-color:rgba(111,138,169,.24);background:#152639;color:#f6f9fc;border-radius:10px}
#view-cashier .rx-withdraw-form-v145 select:focus,#view-cashier .rx-withdraw-form-v145 textarea:focus,#view-cashier .rx-withdraw-form-v145 input:focus{border-color:rgba(91,115,232,.65);box-shadow:0 0 0 3px rgba(87,93,224,.10);outline:0}
#view-cashier .rx-withdraw-available-card-v145,#view-cashier .rx-withdraw-price-card-v145{display:grid;align-content:center;gap:4px;min-width:0;padding:11px 13px;border:1px solid rgba(91,118,151,.20);border-radius:10px;background:rgba(11,25,39,.68)}
#view-cashier .rx-withdraw-available-card-v145{border-color:rgba(56,194,113,.23);background:linear-gradient(145deg,rgba(46,174,99,.08),rgba(13,29,43,.76))}
#view-cashier .rx-withdraw-available-card-v145>span,#view-cashier .rx-withdraw-price-card-v145>span{font-size:9px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;color:#879caf}
#view-cashier .rx-withdraw-available-card-v145 strong{font-size:17px;line-height:1.2;color:#eefbf3;overflow-wrap:anywhere}
#view-cashier .rx-withdraw-price-card-v145 strong{font-size:14px;color:#f1f5fb;overflow-wrap:anywhere}
#view-cashier .rx-withdraw-available-card-v145 small,#view-cashier .rx-withdraw-price-card-v145 small{font-size:9px;color:#70859a}
#view-cashier .rx-withdraw-address-field-v145 textarea{min-height:72px;resize:vertical;overflow-wrap:anywhere;word-break:break-word;line-height:1.45}
#view-cashier .rx-withdraw-address-field-v145 small{color:#72869b;font-size:9.5px;line-height:1.45}
#view-cashier .rx-withdraw-address-field-v145 small[data-tone="error"]{color:#ffb1b1}
#view-cashier .rx-withdraw-warning-v145{gap:10px;padding:11px 12px;border-radius:11px;border-color:rgba(235,184,76,.24);background:rgba(218,161,50,.055)}
#view-cashier .rx-withdraw-warning-v145>span{width:23px;height:23px;flex-basis:23px;font-size:11px}
#view-cashier .rx-withdraw-warning-v145 strong{font-size:11px;margin-bottom:2px}
#view-cashier .rx-withdraw-warning-v145 p{font-size:10px;line-height:1.48;color:#cabd9c}
#view-cashier .rx-withdraw-warning-v145 small{display:block;margin-top:5px;color:#9b8d70;font-size:9.5px;line-height:1.45}
#view-cashier .rx-withdraw-amount-row-v145{gap:9px}
#view-cashier .rx-withdraw-max-btn-v145{height:28px;border-radius:8px;border-color:rgba(57,199,115,.24);background:rgba(49,180,102,.09);color:#a9e8c2}
#view-cashier .rx-withdraw-max-btn-v145:hover:not(:disabled){background:rgba(49,180,102,.16)}
#view-cashier .rx-withdraw-quote-summary-v145{gap:7px}
#view-cashier .rx-withdraw-quote-summary-v145>div{padding:9px 10px;border-radius:9px;background:rgba(13,28,42,.62);border-color:rgba(106,131,159,.16)}
#view-cashier .rx-withdraw-quote-summary-v145 span{font-size:8.5px;color:#7d91a6}
#view-cashier .rx-withdraw-quote-summary-v145 strong{font-size:9.5px;color:#e8eef5}
#view-cashier .rx-withdraw-quote-status-v145{min-height:33px;border:1px solid rgba(94,121,150,.14);border-radius:9px;background:rgba(13,29,43,.58);color:#91a5ba;font-size:9.5px}
#view-cashier .rx-withdraw-action-bar-v145{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 13px;border:1px solid rgba(65,192,113,.18);border-radius:12px;background:linear-gradient(135deg,rgba(35,146,80,.055),rgba(19,32,47,.68))}
#view-cashier .rx-withdraw-action-bar-v145>div{display:grid;gap:2px;min-width:0}
#view-cashier .rx-withdraw-action-bar-v145 strong{font-size:10.5px;color:#edf6f1}
#view-cashier .rx-withdraw-action-bar-v145 span{font-size:9px;color:#75899d;line-height:1.35}
#view-cashier .rx-withdraw-review-btn-v145{width:auto;min-width:166px;min-height:38px;padding:8px 15px!important;border-radius:9px!important;font-size:10.5px!important;box-shadow:0 7px 18px rgba(29,155,79,.14)}
#view-cashier .rx-withdraw-review-btn-v145:disabled{opacity:.46;box-shadow:none}
#view-cashier .rx-withdraw-result-v145{margin:0!important}
#view-cashier .rx-cashier-history-v145{margin-top:13px!important;padding-top:13px!important}
#view-cashier .rx-cashier-history-title-v145{margin-bottom:8px;align-items:flex-end}
#view-cashier .rx-cashier-history-title-v145>div{display:grid;gap:2px}
#view-cashier .rx-cashier-history-title-v145 .eyebrow{font-size:8px;letter-spacing:.12em;color:#7e90a4}
#view-cashier .rx-cashier-history-title-v145 h3{margin:0;font-size:12.5px;color:#eff4fa}
#view-cashier .rx-cashier-history-title-v145 small{font-size:9px;color:#71859a}
#view-cashier .rx-cashier-history-v145 .cashier-history-panel{max-height:245px;gap:7px}
#view-cashier .rx-cashier-empty-history-v145{min-height:115px;padding:18px;border:1px dashed rgba(111,137,166,.19);border-radius:11px;background:rgba(13,28,42,.35)}
#view-cashier .rx-cashier-empty-history-v145 strong{font-size:12px}
#view-cashier .rx-cashier-empty-history-v145 span{max-width:480px;font-size:10px;line-height:1.5;color:#8194a8}
#view-cashier .cashier-withdrawal-history-row-v145{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;background:linear-gradient(145deg,rgba(29,47,66,.92),rgba(25,41,58,.92))}
#view-cashier .cashier-withdrawal-history-row-v145 .cashier-history-main{display:grid;gap:2px}
#view-cashier .cashier-withdrawal-history-row-v145 .cashier-history-main strong{font-size:10.5px;color:#f0f5fa}
#view-cashier .cashier-withdrawal-history-row-v145 .cashier-history-main span,#view-cashier .cashier-withdrawal-history-row-v145 .cashier-history-main small{font-size:9px;overflow-wrap:anywhere}
.rx-withdraw-confirm-modal-v133.rx-withdraw-confirm-modal-v145{max-width:520px;border-color:rgba(111,131,166,.28);background:linear-gradient(145deg,#152339,#0f1a2b);box-shadow:0 28px 90px rgba(0,0,0,.48)}
.rx-withdraw-confirm-heading-v145{padding-right:30px}
.rx-withdraw-confirm-heading-v145 .eyebrow{color:#e0c266}
.rx-withdraw-confirm-heading-v145 h2{font-size:20px}
.rx-withdraw-confirm-heading-v145 p{color:#8ea1b7;font-size:11px}
.rx-withdraw-confirm-grid-v145{gap:8px;margin:14px 0}
.rx-withdraw-confirm-grid-v145>div{padding:10px 11px;border-radius:10px;border-color:rgba(104,131,164,.18);background:rgba(11,25,40,.68)}
.rx-withdraw-confirm-grid-v145 span{font-size:8.5px;color:#7e92a9}
.rx-withdraw-confirm-grid-v145 strong{font-size:11px;color:#f3f7fb}
.rx-withdraw-confirm-warning-v145{padding:11px 12px;border-radius:10px}
.rx-withdraw-confirm-warning-v145 strong{font-size:10.5px}
.rx-withdraw-confirm-warning-v145 p{font-size:9.5px;color:#b5a888}
.rx-withdraw-confirm-actions-v145{gap:8px}
.rx-withdraw-confirm-actions-v145 .rx-btn{min-height:38px;padding:8px 13px!important;font-size:10.5px!important}
@media(max-width:720px){
  #view-cashier .rx-withdraw-hero-v145{padding:15px;display:grid;gap:11px}
  #view-cashier .rx-withdraw-security-badge-v145{justify-self:start}
  #view-cashier .rx-withdraw-primary-grid-v145,#view-cashier .rx-withdraw-secondary-grid-v145{grid-template-columns:1fr}
  #view-cashier .rx-withdraw-step-card-v145{padding:12px}
  #view-cashier .rx-withdraw-action-bar-v145{grid-template-columns:1fr}
  #view-cashier .rx-withdraw-review-btn-v145{width:100%;min-width:0}
  #view-cashier .cashier-withdrawal-history-row-v145{grid-template-columns:1fr;align-items:start}
  #view-cashier .cashier-withdrawal-history-row-v145 .cashier-history-status{justify-items:start;text-align:left}
}
@media(max-width:470px){
  #view-cashier .rx-withdraw-panel-v145{gap:10px}
  #view-cashier .rx-withdraw-hero-v145{border-radius:12px}
  #view-cashier .rx-withdraw-hero-v145 h3{font-size:18px}
  #view-cashier .rx-withdraw-hero-v145 p{font-size:10.5px}
  #view-cashier .rx-withdraw-step-card-v145{border-radius:11px}
  #view-cashier .rx-withdraw-warning-v145{align-items:flex-start}
  #view-cashier .rx-withdraw-quote-summary-v145{grid-template-columns:1fr!important}
  #view-cashier .rx-withdraw-quote-summary-v145>div:last-child{grid-column:auto!important}
  .rx-withdraw-confirm-actions-v145{display:grid;grid-template-columns:1fr}
  .rx-withdraw-confirm-actions-v145 .rx-btn{width:100%}
}
