@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=JetBrains+Mono:wght@400;500&display=swap');

:root {
  --qtp-primary: #4f46e5;
  --qtp-primary-light: #6366f1;
  --qtp-primary-dark: #3730a3;
  --qtp-primary-rgb: 79, 70, 229;
  --qtp-success: #22c55e;
  --qtp-success-rgb: 34, 197, 94;
  --qtp-warning: #f59e0b;
  --qtp-warning-rgb: 245, 158, 11;
  --qtp-danger: #ef4444;
  --qtp-danger-rgb: 239, 68, 68;
  --qtp-info: #06b6d4;
  --qtp-info-rgb: 6, 182, 212;
  --qtp-dark: #0f172a;
  --qtp-dark-light: #1e293b;
  --qtp-sidebar: #0b1120;
  --qtp-sidebar-hover: #162036;
  --qtp-sidebar-active: linear-gradient(135deg, var(--qtp-primary), var(--qtp-primary-light));
  --qtp-body-bg: #f1f5f9;
  --qtp-card-bg: #ffffff;
  --qtp-border: #e2e8f0;
  --qtp-text: #1e293b;
  --qtp-text-muted: #64748b;
  --qtp-shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);
  --qtp-shadow-md: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -2px rgba(0,0,0,.1);
  --qtp-shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);
  --qtp-radius: .75rem;
  --qtp-radius-sm: .5rem;
  --qtp-font: 'DM Sans', system-ui, sans-serif;
  --qtp-mono: 'JetBrains Mono', monospace;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--qtp-font);
  background: var(--qtp-body-bg);
  color: var(--qtp-text);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

/* ── Scrollbar ── */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #94a3b8; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #64748b; }

/* ── Layout Wrapper ── */
.app-wrapper {
  display: flex;
  min-height: 100vh;
}

/* ── Sidebar ── */
.app-sidebar {
  width: 260px;
  min-width: 260px;
  background: var(--qtp-sidebar);
  color: #cbd5e1;
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0; left: 0; bottom: 0;
  z-index: 1040;
  transition: transform .3s ease;
  overflow-y: auto;
}

.sidebar-brand {
  padding: 1.25rem 1.5rem;
  display: flex;
  align-items: center;
  gap: .75rem;
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.sidebar-brand .brand-icon {
  width: 38px; height: 38px;
  background: var(--qtp-sidebar-active);
  border-radius: .625rem;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.125rem; color: #fff;
  box-shadow: 0 0 20px rgba(var(--qtp-primary-rgb),.4);
}

.sidebar-brand span {
  font-weight: 700;
  font-size: 1.1rem;
  color: #fff;
  letter-spacing: -.02em;
}

.sidebar-nav { padding: 1rem 0; flex: 1; }

.sidebar-nav .nav-section {
  padding: .5rem 1.5rem .35rem;
  font-size: .65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #475569;
  margin-top: .5rem;
}

.sidebar-nav .nav-link {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .6rem 1.5rem;
  color: #94a3b8;
  text-decoration: none;
  font-size: .875rem;
  font-weight: 500;
  transition: all .2s ease;
  border-left: 3px solid transparent;
}

.sidebar-nav .nav-link i { width: 20px; text-align: center; font-size: .95rem; }

.sidebar-nav .nav-link:hover {
  color: #e2e8f0;
  background: var(--qtp-sidebar-hover);
}

.sidebar-nav .nav-link.active {
  color: #fff;
  background: linear-gradient(90deg, rgba(var(--qtp-primary-rgb),.15), transparent);
  border-left-color: var(--qtp-primary);
}

.sidebar-footer {
  padding: 1rem 1.5rem;
  border-top: 1px solid rgba(255,255,255,.06);
  font-size: .75rem;
  color: #475569;
}

/* ── Top Navbar ── */
.app-topbar {
  position: fixed;
  top: 0; right: 0;
  left: 260px;
  height: 64px;
  background: rgba(255,255,255,.85);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--qtp-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1.5rem;
  z-index: 1030;
}

.topbar-left { display: flex; align-items: center; gap: 1rem; }

.topbar-left .page-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--qtp-text);
  letter-spacing: -.01em;
}

.sidebar-toggle {
  display: none;
  background: none; border: none;
  font-size: 1.25rem; color: var(--qtp-text-muted);
  cursor: pointer; padding: .25rem;
}

.topbar-right { display: flex; align-items: center; gap: 1rem; }

.topbar-badge {
  display: inline-flex;
  align-items: center;
  gap: .375rem;
  padding: .3rem .75rem;
  border-radius: 2rem;
  font-size: .8rem;
  font-weight: 600;
  font-family: var(--qtp-mono);
}

.topbar-badge.points { background: rgba(var(--qtp-primary-rgb),.1); color: var(--qtp-primary); }
.topbar-badge.earnings { background: rgba(var(--qtp-success-rgb),.1); color: var(--qtp-success); }
.topbar-badge.referral { background: rgba(var(--qtp-warning-rgb),.1); color: var(--qtp-warning); }

.topbar-icon-btn {
  width: 40px; height: 40px;
  border-radius: .625rem;
  border: 1px solid var(--qtp-border);
  background: #fff;
  display: flex; align-items: center; justify-content: center;
  color: var(--qtp-text-muted);
  position: relative;
  transition: all .2s;
  cursor: pointer;
}

.topbar-icon-btn:hover { border-color: var(--qtp-primary); color: var(--qtp-primary); }

.notif-dot {
  position: absolute;
  top: 6px; right: 6px;
  width: 8px; height: 8px;
  background: var(--qtp-danger);
  border-radius: 50%;
  border: 2px solid #fff;
  animation: pulse-dot 2s ease infinite;
}

@keyframes pulse-dot {
  0%, 100% { box-shadow: 0 0 0 0 rgba(var(--qtp-danger-rgb),.4); }
  50% { box-shadow: 0 0 0 6px rgba(var(--qtp-danger-rgb),0); }
}

.topbar-user {
  display: flex;
  align-items: center;
  gap: .625rem;
  padding: .35rem .75rem .35rem .35rem;
  border-radius: 2rem;
  border: 1px solid var(--qtp-border);
  background: #fff;
  cursor: pointer;
  transition: border-color .2s;
}

.topbar-user:hover { border-color: var(--qtp-primary); }

.topbar-avatar {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: var(--qtp-sidebar-active);
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-weight: 600; font-size: .8rem;
}

/* ── Main Content ── */
.app-main {
  margin-left: 260px;
  flex: 1;
  padding-top: 64px;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.app-content { padding: 1.5rem; flex: 1; }

.app-footer {
  padding: 1rem 1.5rem;
  border-top: 1px solid var(--qtp-border);
  font-size: .8rem;
  color: var(--qtp-text-muted);
  text-align: center;
}

/* ── Cards ── */
.card {
  border: 1px solid var(--qtp-border);
  border-radius: var(--qtp-radius);
  background: var(--qtp-card-bg);
  box-shadow: var(--qtp-shadow);
  transition: box-shadow .2s, transform .2s;
}

.card:hover { box-shadow: var(--qtp-shadow-md); }

.card-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--qtp-border);
  background: transparent;
  font-weight: 600;
}

.card-body { padding: 1.25rem; }

.stat-card {
  padding: 1.25rem;
  border-radius: var(--qtp-radius);
  background: var(--qtp-card-bg);
  border: 1px solid var(--qtp-border);
  box-shadow: var(--qtp-shadow);
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.stat-card .stat-icon {
  width: 48px; height: 48px;
  border-radius: .75rem;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.25rem;
  flex-shrink: 0;
}

.stat-card .stat-icon.primary { background: rgba(var(--qtp-primary-rgb),.1); color: var(--qtp-primary); }
.stat-card .stat-icon.success { background: rgba(var(--qtp-success-rgb),.1); color: var(--qtp-success); }
.stat-card .stat-icon.warning { background: rgba(var(--qtp-warning-rgb),.1); color: var(--qtp-warning); }
.stat-card .stat-icon.danger  { background: rgba(var(--qtp-danger-rgb),.1);  color: var(--qtp-danger);  }
.stat-card .stat-icon.info    { background: rgba(var(--qtp-info-rgb),.1);    color: var(--qtp-info);    }

.stat-card .stat-label { font-size: .8rem; color: var(--qtp-text-muted); font-weight: 500; margin-bottom: .2rem; }
.stat-card .stat-value { font-size: 1.5rem; font-weight: 700; letter-spacing: -.02em; font-family: var(--qtp-mono); }
.stat-card .stat-change { font-size: .75rem; margin-top: .15rem; }
.stat-card .stat-change.up { color: var(--qtp-success); }
.stat-card .stat-change.down { color: var(--qtp-danger); }

/* ── Wallet Card ── */
.wallet-card {
  border-radius: var(--qtp-radius);
  padding: 1.5rem;
  color: #fff;
  position: relative;
  overflow: hidden;
}

.wallet-card::after {
  content: '';
  position: absolute;
  top: -40%; right: -20%;
  width: 200px; height: 200px;
  background: rgba(255,255,255,.08);
  border-radius: 50%;
}

.wallet-card.points    { background: linear-gradient(135deg, #4f46e5, #7c3aed); }
.wallet-card.earnings  { background: linear-gradient(135deg, #059669, #22c55e); }
.wallet-card.referral  { background: linear-gradient(135deg, #d97706, #f59e0b); }
.wallet-card.withdraw  { background: linear-gradient(135deg, #2563eb, #06b6d4); }

.wallet-card .wallet-label { font-size: .85rem; opacity: .85; font-weight: 500; }
.wallet-card .wallet-balance { font-size: 1.75rem; font-weight: 700; font-family: var(--qtp-mono); margin-top: .25rem; }
.wallet-card .wallet-action { margin-top: .75rem; }

/* ── Queue Visual ── */
.queue-level-card {
  border-radius: var(--qtp-radius);
  border: 1px solid var(--qtp-border);
  background: var(--qtp-card-bg);
  padding: 1.25rem;
  text-align: center;
  position: relative;
  transition: all .25s;
}

.queue-level-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--qtp-shadow-lg);
}

.queue-level-card .level-num {
  width: 40px; height: 40px;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 1rem;
  margin-bottom: .5rem;
}

.queue-level-card .level-name { font-weight: 600; font-size: .9rem; }
.queue-level-card .level-count { font-family: var(--qtp-mono); font-size: 1.25rem; font-weight: 700; color: var(--qtp-primary); }

/* ── Progress Bars ── */
.progress { height: 8px; border-radius: 4px; background: #e2e8f0; }
.progress-bar { border-radius: 4px; transition: width .6s ease; }

/* ── Rank Badges ── */
.rank-badge {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .25rem .75rem;
  border-radius: 2rem;
  font-size: .75rem;
  font-weight: 600;
}

.rank-badge.bronze  { background: #fef3c7; color: #92400e; }
.rank-badge.silver  { background: #f1f5f9; color: #475569; }
.rank-badge.gold    { background: #fef9c3; color: #854d0e; }
.rank-badge.platinum { background: #e0f2fe; color: #0369a1; }
.rank-badge.diamond { background: #ede9fe; color: #6d28d9; }
.rank-badge.master  { background: linear-gradient(135deg,#fbbf24,#f59e0b); color: #78350f; }

/* ── Tables ── */
.table { font-size: .875rem; }
.table thead th {
  font-weight: 600;
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--qtp-text-muted);
  border-bottom-width: 2px;
  padding: .75rem 1rem;
}
.table tbody td { padding: .75rem 1rem; vertical-align: middle; }

/* ── Buttons ── */
.btn { font-weight: 600; border-radius: var(--qtp-radius-sm); font-size: .875rem; transition: all .2s; }
.btn-primary { background: var(--qtp-primary); border-color: var(--qtp-primary); }
.btn-primary:hover { background: var(--qtp-primary-dark); border-color: var(--qtp-primary-dark); transform: translateY(-1px); box-shadow: 0 4px 12px rgba(var(--qtp-primary-rgb),.3); }
.btn-success { background: var(--qtp-success); border-color: var(--qtp-success); }
.btn-outline-primary { color: var(--qtp-primary); border-color: var(--qtp-primary); }
.btn-outline-primary:hover { background: var(--qtp-primary); border-color: var(--qtp-primary); }

/* ── Alerts ── */
.alert-float {
  position: fixed;
  top: 80px; right: 1.5rem;
  z-index: 9999;
  min-width: 320px;
  max-width: 480px;
  border-radius: var(--qtp-radius);
  box-shadow: var(--qtp-shadow-lg);
  animation: slideInRight .3s ease;
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: 1rem 1.25rem;
}

@keyframes slideInRight {
  from { transform: translateX(100%); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}

/* ── Hero Section (Public) ── */
.hero-section {
  background: linear-gradient(135deg, var(--qtp-dark) 0%, var(--qtp-primary-dark) 100%);
  color: #fff;
  padding: 5rem 0 4rem;
  position: relative;
  overflow: hidden;
}

.hero-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 50%, rgba(var(--qtp-primary-rgb),.3) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, rgba(var(--qtp-info-rgb),.2) 0%, transparent 50%);
}

.hero-section .container { position: relative; z-index: 1; }

/* ── Queue Grid Public ── */
.queue-grid-item {
  border-radius: var(--qtp-radius);
  border: 2px solid var(--qtp-border);
  background: var(--qtp-card-bg);
  padding: 1.5rem;
  text-align: center;
  transition: all .3s;
  cursor: pointer;
}

.queue-grid-item:hover {
  border-color: var(--qtp-primary);
  box-shadow: 0 0 0 4px rgba(var(--qtp-primary-rgb),.1);
  transform: translateY(-3px);
}

/* ── FAQ Accordion ── */
.accordion-button:not(.collapsed) {
  background: rgba(var(--qtp-primary-rgb),.05);
  color: var(--qtp-primary);
  font-weight: 600;
}

/* ── Form Controls ── */
.form-control, .form-select {
  border-radius: var(--qtp-radius-sm);
  border: 1px solid var(--qtp-border);
  padding: .6rem .875rem;
  font-size: .875rem;
  transition: border-color .2s, box-shadow .2s;
}

.form-control:focus, .form-select:focus {
  border-color: var(--qtp-primary);
  box-shadow: 0 0 0 3px rgba(var(--qtp-primary-rgb),.1);
}

/* ── Public Nav ── */
.public-navbar {
  background: rgba(15, 23, 42, .95);
  backdrop-filter: blur(12px);
  padding: .75rem 0;
}

.public-navbar .navbar-brand { font-weight: 700; color: #fff; font-size: 1.2rem; }
.public-navbar .nav-link { color: #94a3b8; font-weight: 500; font-size: .875rem; }
.public-navbar .nav-link:hover, .public-navbar .nav-link.active { color: #fff; }

/* ── Footer Public ── */
.public-footer {
  background: var(--qtp-dark);
  color: #64748b;
  padding: 3rem 0 1.5rem;
}

.public-footer a { color: #94a3b8; text-decoration: none; }
.public-footer a:hover { color: var(--qtp-primary-light); }

/* ── Responsive ── */
@media (max-width: 991.98px) {
  .app-sidebar {
    transform: translateX(-100%);
  }
  .app-sidebar.show { transform: translateX(0); }
  .app-topbar { left: 0; }
  .app-main { margin-left: 0; }
  .sidebar-toggle { display: block; }
  .sidebar-overlay {
    display: none;
    position: fixed; inset: 0;
    background: rgba(0,0,0,.5);
    z-index: 1035;
  }
  .sidebar-overlay.show { display: block; }
  .topbar-badge { display: none; }
}

@media (max-width: 575.98px) {
  .app-content { padding: 1rem; }
  .stat-card .stat-value { font-size: 1.25rem; }
  .wallet-card .wallet-balance { font-size: 1.35rem; }
}

/* ── Utility ── */
.font-mono { font-family: var(--qtp-mono); }
.text-primary-custom { color: var(--qtp-primary) !important; }
.bg-primary-custom { background: var(--qtp-primary) !important; }
.gap-row > [class*="col"] { margin-bottom: 1rem; }
.truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cursor-pointer { cursor: pointer; }

/* ══════════════════════════════════════════════════════════════
   PHASE 8 — Public Website & Transparency Portal
   ══════════════════════════════════════════════════════════════ */

/* ── Skip to Content (Accessibility) ── */
.skip-to-content {
  position: absolute;
  top: -100%;
  left: 1rem;
  z-index: 9999;
  padding: .75rem 1.5rem;
  background: var(--qtp-primary);
  color: #fff;
  border-radius: 0 0 var(--qtp-radius-sm) var(--qtp-radius-sm);
  font-weight: 600;
  text-decoration: none;
  transition: top .2s;
}
.skip-to-content:focus {
  top: 0;
  color: #fff;
}

/* ── Breadcrumbs ── */
.breadcrumb-nav {
  background: rgba(var(--qtp-primary-rgb), .03);
  border-bottom: 1px solid var(--qtp-border);
  padding: .5rem 0;
  font-size: .8125rem;
}
.breadcrumb-nav .breadcrumb { margin-bottom: 0; }
.breadcrumb-nav .breadcrumb-item a { color: var(--qtp-primary); text-decoration: none; }
.breadcrumb-nav .breadcrumb-item.active { color: var(--qtp-text-muted); }

/* ── Hero Section Enhanced ── */
.hero-section {
  background: linear-gradient(135deg, var(--qtp-dark) 0%, var(--qtp-dark-light) 50%, #1a1a4e 100%);
  color: #fff;
  padding: 5rem 0 4rem;
  position: relative;
  overflow: hidden;
}
.hero-section::before {
  content: '';
  position: absolute;
  top: -50%; right: -20%;
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(var(--qtp-primary-rgb), .15) 0%, transparent 70%);
  border-radius: 50%;
}
.hero-section::after {
  content: '';
  position: absolute;
  bottom: -30%; left: -10%;
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(var(--qtp-success-rgb), .1) 0%, transparent 70%);
  border-radius: 50%;
}

/* ── Feature Cards ── */
.feature-card {
  background: var(--qtp-card-bg);
  border: 1px solid var(--qtp-border);
  border-radius: var(--qtp-radius);
  padding: 1.75rem;
  text-align: center;
  transition: all .3s ease;
  height: 100%;
}
.feature-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--qtp-shadow-lg);
  border-color: var(--qtp-primary-light);
}
.feature-card .feature-icon {
  width: 56px; height: 56px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center; justify-content: center;
  font-size: 1.25rem;
  margin-bottom: 1rem;
}

/* ── Stat Counter Cards ── */
.stat-counter {
  text-align: center;
  padding: 1.5rem;
}
.stat-counter .stat-number {
  font-family: var(--qtp-mono);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
}
.stat-counter .stat-label {
  color: var(--qtp-text-muted);
  font-size: .875rem;
  margin-top: .25rem;
}

/* ── Queue Dashboard Cards ── */
.queue-dashboard-card {
  background: var(--qtp-card-bg);
  border: 1px solid var(--qtp-border);
  border-radius: var(--qtp-radius);
  padding: 1.5rem;
  transition: all .3s;
  height: 100%;
}
.queue-dashboard-card:hover {
  box-shadow: var(--qtp-shadow-md);
  border-color: var(--qtp-primary-light);
}
.queue-dashboard-card .queue-badge {
  width: 44px; height: 44px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center; justify-content: center;
  font-weight: 700; font-size: 1rem;
  color: #fff;
  margin-bottom: .75rem;
}
.queue-dashboard-card .progress {
  height: 6px;
  border-radius: 3px;
  background: var(--qtp-border);
}

/* ── Timeline ── */
.timeline-entry {
  border-left: 3px solid var(--qtp-border);
  padding: .75rem 0 .75rem 1.5rem;
  position: relative;
  margin-left: .5rem;
}
.timeline-entry::before {
  content: '';
  position: absolute;
  left: -7px; top: 1rem;
  width: 11px; height: 11px;
  border-radius: 50%;
  background: var(--qtp-primary);
  border: 2px solid var(--qtp-card-bg);
}
.timeline-entry.action-entered { border-left-color: var(--qtp-info); }
.timeline-entry.action-entered::before { background: var(--qtp-info); }
.timeline-entry.action-upgraded { border-left-color: var(--qtp-success); }
.timeline-entry.action-upgraded::before { background: var(--qtp-success); }
.timeline-entry.action-completed { border-left-color: var(--qtp-warning); }
.timeline-entry.action-completed::before { background: var(--qtp-warning); }
.timeline-entry.action-recycled { border-left-color: #94a3b8; }
.timeline-entry.action-recycled::before { background: #94a3b8; }

/* ── How It Works Steps ── */
.step-card {
  background: var(--qtp-card-bg);
  border: 1px solid var(--qtp-border);
  border-radius: var(--qtp-radius);
  padding: 2rem 1.5rem;
  text-align: center;
  position: relative;
  height: 100%;
  transition: all .3s;
}
.step-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--qtp-shadow-md);
}
.step-card .step-number {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: var(--qtp-primary);
  color: #fff;
  display: inline-flex;
  align-items: center; justify-content: center;
  font-weight: 700;
  margin-bottom: 1rem;
}
.step-card .step-icon {
  font-size: 2rem;
  color: var(--qtp-primary);
  margin-bottom: .75rem;
}

/* ── Reward Explorer ── */
.reward-event-card {
  background: var(--qtp-card-bg);
  border: 1px solid var(--qtp-border);
  border-radius: var(--qtp-radius-sm);
  padding: 1rem 1.25rem;
  margin-bottom: .75rem;
  transition: all .2s;
}
.reward-event-card:hover {
  border-color: var(--qtp-primary-light);
  box-shadow: var(--qtp-shadow);
}

/* ── Partner Cards ── */
.partner-rank {
  width: 32px; height: 32px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center; justify-content: center;
  font-weight: 700; font-size: .875rem;
}
.partner-rank.rank-1 { background: #fbbf24; color: #78350f; }
.partner-rank.rank-2 { background: #d1d5db; color: #374151; }
.partner-rank.rank-3 { background: #d97706; color: #fff; }
.partner-rank.rank-other { background: var(--qtp-border); color: var(--qtp-text-muted); }

/* ── FAQ Search ── */
.faq-search {
  position: relative;
  max-width: 500px;
  margin: 0 auto 2rem;
}
.faq-search input {
  padding-left: 2.75rem;
  border-radius: 2rem;
  border: 2px solid var(--qtp-border);
  font-size: .9375rem;
}
.faq-search input:focus {
  border-color: var(--qtp-primary);
  box-shadow: 0 0 0 3px rgba(var(--qtp-primary-rgb),.1);
}
.faq-search .search-icon {
  position: absolute;
  left: 1rem; top: 50%;
  transform: translateY(-50%);
  color: var(--qtp-text-muted);
}

/* ── Legal Pages (Terms, Privacy, Cookie Policy) ── */
.legal-content {
  max-width: 800px;
  margin: 0 auto;
}
.legal-content h2 {
  font-size: 1.35rem;
  font-weight: 700;
  margin-top: 2rem;
  margin-bottom: .75rem;
  color: var(--qtp-text);
  padding-bottom: .5rem;
  border-bottom: 2px solid var(--qtp-border);
}
.legal-content p {
  color: var(--qtp-text-muted);
  line-height: 1.8;
  margin-bottom: 1rem;
}
.legal-content ul {
  color: var(--qtp-text-muted);
  margin-bottom: 1rem;
  padding-left: 1.5rem;
}
.legal-content ul li { margin-bottom: .35rem; }

/* ── Auto-refresh Indicator ── */
.refresh-indicator {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: .8125rem;
  color: var(--qtp-text-muted);
}
.refresh-indicator .pulse-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--qtp-success);
  animation: pulse 2s infinite;
}
@keyframes pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: .5; transform: scale(.8); }
}

/* ── Table Enhancements ── */
.table-public {
  background: var(--qtp-card-bg);
  border-radius: var(--qtp-radius);
  overflow: hidden;
  border: 1px solid var(--qtp-border);
}
.table-public thead th {
  background: rgba(var(--qtp-primary-rgb), .04);
  font-weight: 600;
  font-size: .8125rem;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: var(--qtp-text-muted);
  border-bottom: 2px solid var(--qtp-border);
  padding: .875rem 1rem;
}
.table-public tbody td {
  padding: .75rem 1rem;
  vertical-align: middle;
  font-size: .875rem;
  border-bottom: 1px solid var(--qtp-border);
}
.table-public tbody tr:hover {
  background: rgba(var(--qtp-primary-rgb), .02);
}
.table-public tbody tr:last-child td {
  border-bottom: none;
}

/* ── Pagination ── */
.pagination .page-link {
  border-radius: var(--qtp-radius-sm);
  margin: 0 2px;
  border: 1px solid var(--qtp-border);
  color: var(--qtp-text);
  font-size: .875rem;
  padding: .4rem .75rem;
}
.pagination .page-item.active .page-link {
  background: var(--qtp-primary);
  border-color: var(--qtp-primary);
  color: #fff;
}

/* ── Responsive Public Pages ── */
@media (max-width: 767.98px) {
  .hero-section { padding: 3rem 0 2.5rem; }
  .hero-section h1 { font-size: 1.75rem; }
  .stat-counter .stat-number { font-size: 1.5rem; }
  .step-card { padding: 1.25rem 1rem; }
  .queue-dashboard-card { padding: 1rem; }
  .table-public { font-size: .8125rem; }
  .table-public thead th,
  .table-public tbody td { padding: .5rem .625rem; }
}

@media (max-width: 575.98px) {
  .hero-section h1 { font-size: 1.5rem; }
  .hero-section .lead { font-size: .9375rem; }
  .feature-card { padding: 1.25rem; }
}

/* ── Improved Queue Center ── */
.queue-center-page {
  background:
    radial-gradient(circle at top left, rgba(var(--qtp-primary-rgb), .08), transparent 32rem),
    var(--qtp-body-bg);
}

.queue-center-hero {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  border: 1px solid var(--qtp-border);
  background: var(--qtp-card-bg);
  border-radius: calc(var(--qtp-radius) + .35rem);
  padding: 1.5rem;
  box-shadow: 0 10px 30px rgba(15, 23, 42, .06);
}

.queue-eyebrow {
  display: inline-flex;
  margin-bottom: .5rem;
  padding: .25rem .65rem;
  border-radius: 999px;
  background: rgba(var(--qtp-primary-rgb), .1);
  color: var(--qtp-primary);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.queue-summary-card {
  height: 100%;
  padding: 1rem;
  border: 1px solid var(--qtp-border);
  border-radius: var(--qtp-radius);
  background: var(--qtp-card-bg);
  text-align: center;
}

.queue-summary-value {
  font-family: var(--qtp-font-mono, monospace);
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--qtp-heading-color, inherit);
}

.queue-summary-label {
  color: var(--qtp-muted, #64748b);
  font-size: .8rem;
}

.queue-card-link {
  display: block;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.queue-card {
  position: relative;
  overflow: hidden;
  text-align: left;
}

.queue-card::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: var(--queue-color, var(--qtp-primary));
  opacity: .9;
}

.queue-card-top {
  display: flex;
  align-items: center;
  gap: .9rem;
}

.queue-level-badge {
  width: 52px;
  height: 52px;
  border-radius: 1rem;
  background: var(--queue-color, var(--qtp-primary));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  color: #fff;
  font-size: 1.15rem;
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .16);
}

.queue-metric-main,
.queue-card-footer {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

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

.queue-money-grid > div {
  padding: .75rem;
  border-radius: var(--qtp-radius-sm);
  background: rgba(148, 163, 184, .08);
}

.queue-money-grid span,
.queue-card-footer span {
  display: block;
  color: var(--qtp-muted, #64748b);
  font-size: .72rem;
}

.queue-money-grid strong,
.queue-card-footer strong {
  display: block;
  font-family: var(--qtp-font-mono, monospace);
  font-size: .9rem;
}

.queue-progress {
  height: 8px;
  border-radius: 999px;
  background: rgba(148, 163, 184, .18);
}

.queue-card.is-ready {
  border-color: rgba(34, 197, 94, .55);
  box-shadow: 0 12px 32px rgba(34, 197, 94, .12);
}

@media (max-width: 767.98px) {
  .queue-center-hero {
    align-items: stretch;
    flex-direction: column;
  }

  .queue-money-grid {
    grid-template-columns: 1fr;
  }
}

/* ── Queue Grid V2: Leaders + Income Dashboard ── */
.queue-summary-card {
  position: relative;
  overflow: hidden;
}
.queue-summary-card::after {
  content: '';
  position: absolute;
  right: -24px;
  top: -24px;
  width: 72px;
  height: 72px;
  border-radius: 999px;
  background: rgba(var(--qtp-primary-rgb), .08);
}
.queue-summary-card.is-primary { border-color: rgba(var(--qtp-primary-rgb), .35); }
.queue-summary-card.is-success { border-color: rgba(34, 197, 94, .35); }
.queue-summary-icon {
  width: 34px;
  height: 34px;
  margin: 0 auto .55rem;
  border-radius: .85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(var(--qtp-primary-rgb), .1);
  color: var(--qtp-primary);
}
.queue-insight-shell {
  padding: 1rem;
  border: 1px solid var(--qtp-border);
  border-radius: calc(var(--qtp-radius) + .5rem);
  background:
    linear-gradient(135deg, rgba(var(--qtp-primary-rgb), .07), transparent 42%),
    var(--qtp-card-bg);
  box-shadow: 0 14px 40px rgba(15, 23, 42, .06);
}
.queue-feature-card,
.queue-leader-card {
  padding: 1.25rem;
  border: 1px solid var(--qtp-border);
  border-radius: var(--qtp-radius);
  background: var(--qtp-card-bg);
}
.queue-big-number {
  font-family: var(--qtp-font-mono, monospace);
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  line-height: 1;
  font-weight: 900;
  color: var(--qtp-primary);
}
.queue-big-label {
  margin-top: .35rem;
  color: var(--qtp-muted, #64748b);
  font-size: .9rem;
}
.queue-mini-stats {
  display: grid;
  gap: .65rem;
}
.queue-mini-stats > div {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  padding: .75rem;
  border-radius: var(--qtp-radius-sm);
  background: rgba(148, 163, 184, .08);
}
.queue-mini-stats span {
  color: var(--qtp-muted, #64748b);
  font-size: .8rem;
}
.queue-mini-stats strong {
  font-family: var(--qtp-font-mono, monospace);
}
.queue-rank-list {
  display: grid;
  gap: .7rem;
}
.queue-rank-row {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .75rem;
  border-radius: var(--qtp-radius-sm);
  background: rgba(148, 163, 184, .08);
  border: 1px solid rgba(148, 163, 184, .12);
}
.queue-rank-no {
  width: 32px;
  height: 32px;
  flex: 0 0 auto;
  border-radius: .75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  background: rgba(var(--qtp-primary-rgb), .12);
  color: var(--qtp-primary);
}
.queue-rank-no.is-gold {
  background: rgba(245, 158, 11, .14);
  color: #b45309;
}
.queue-rank-main {
  min-width: 0;
  flex: 1;
}
.queue-rank-main strong,
.queue-rank-main span {
  display: block;
}
.queue-rank-main strong {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.queue-rank-main span {
  color: var(--qtp-muted, #64748b);
  font-size: .76rem;
}
.queue-rank-value {
  flex: 0 0 auto;
  font-family: var(--qtp-font-mono, monospace);
  font-weight: 800;
  text-align: right;
}
.queue-rank-value span {
  color: var(--qtp-muted, #64748b);
  font-family: var(--qtp-font, sans-serif);
  font-size: .72rem;
  font-weight: 600;
}
.queue-empty-small {
  padding: 1rem;
  border-radius: var(--qtp-radius-sm);
  background: rgba(148, 163, 184, .08);
  color: var(--qtp-muted, #64748b);
  font-size: .9rem;
}
.queue-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
}
@media (max-width: 767.98px) {
  .queue-insight-shell { padding: .75rem; }
  .queue-section-heading { align-items: stretch; flex-direction: column; }
  .queue-rank-row { align-items: flex-start; }
  .queue-rank-value { max-width: 38%; word-break: break-word; }
}


/* ── Queue Grid V3 polish/fix ── */
.queue-center-page .container { position: relative; z-index: 1; }
.queue-center-hero,
.queue-summary-card,
.queue-insight-shell,
.queue-card {
  backdrop-filter: saturate(130%) blur(2px);
}
.queue-center-hero h2 { color: var(--qtp-dark); }
.queue-summary-card { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.queue-summary-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(15, 23, 42, .08);
  border-color: rgba(var(--qtp-primary-rgb), .28);
}
.queue-card {
  padding: 1.25rem;
  border: 1px solid var(--qtp-border);
  border-radius: calc(var(--qtp-radius) + .25rem);
  background: var(--qtp-card-bg);
  box-shadow: 0 10px 28px rgba(15, 23, 42, .05);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.queue-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 42px rgba(15, 23, 42, .10);
  border-color: rgba(var(--qtp-primary-rgb), .24);
}
.queue-feature-card,
.queue-leader-card {
  box-shadow: 0 8px 24px rgba(15, 23, 42, .045);
}
.queue-progress .progress-bar { border-radius: 999px; }
.font-mono { font-family: var(--qtp-mono, monospace); }
@media (max-width: 575.98px) {
  .queue-center-page { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
  .queue-center-hero { padding: 1rem; }
  .queue-summary-value { font-size: 1.05rem; }
  .queue-card { padding: 1rem; }
  .queue-level-badge { width: 44px; height: 44px; border-radius: .85rem; }
}


/* === Cleanup V8: shared public dashboard responsive polish === */
:root{--qr-card-radius:22px;--qr-card-shadow:0 14px 38px rgba(15,23,42,.08);--qr-border:#e5e7eb;--qr-muted:#64748b;}
img,svg,video{max-width:100%;height:auto}.fw-black{font-weight:900}.font-mono{font-family:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.public-navbar .nav-link{white-space:nowrap}.public-navbar .dropdown-menu{border-radius:16px;border:1px solid rgba(255,255,255,.08)}
.queue-dash-wrap,.reward-center-page,.queue-center-page{overflow-x:hidden}.queue-dash-hero,.reward-hero,.queue-grid-hero{isolation:isolate}.queue-kpi,.reward-stat-card,.queue-card-v3,.queue-panel,.reward-panel,.queue-grid-item{overflow:hidden}.queue-kpi-value,.reward-stat-value,.cashback-stat-value{word-break:break-word}.queue-progress-fill,.progress-bar{max-width:100%}.table-responsive{border-radius:18px}.table-responsive table{min-width:760px}.leader-row{min-width:0}.leader-row .leader-name,.leader-row .leader-meta{overflow-wrap:anywhere}.queue-actions .btn{min-height:38px;display:inline-flex;align-items:center;justify-content:center}.queue-metric-row{grid-template-columns:repeat(3,minmax(0,1fr))}.queue-mini-metric strong{overflow-wrap:anywhere}.queue-card-top .d-flex{min-width:0}.queue-card-top h5{overflow-wrap:anywhere}.queue-level-badge{flex:0 0 auto}.queue-ready-badge{flex:0 0 auto}.reward-table td,.reward-table th{white-space:nowrap}.reward-table td:nth-child(2){white-space:normal;min-width:160px}.filter-card .form-control,.filter-card .form-select{min-height:46px}
@media (max-width:991.98px){.public-navbar .navbar-collapse{padding:1rem 0}.public-navbar .navbar-nav{gap:.2rem}.public-navbar .d-flex.gap-2{flex-wrap:wrap}.queue-dash-hero,.reward-hero,.queue-grid-hero{border-radius:24px}.queue-kpi,.reward-stat-card{border-radius:18px}.queue-metric-row{grid-template-columns:1fr}.queue-actions{flex-direction:column}.queue-actions .btn{width:100%}.leader-row{gap:10px}.display-6{font-size:1.85rem}}
@media (max-width:575.98px){body{font-size:.94rem}.container{padding-left:14px;padding-right:14px}.queue-dash-wrap,.reward-center-page,.queue-center-page{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.queue-dash-hero,.reward-hero,.queue-grid-hero{padding:20px!important;border-radius:20px!important}.queue-live-pill,.reward-pill{font-size:.78rem;padding:7px 10px}.queue-kpi,.reward-stat-card{padding:15px!important}.queue-kpi-icon,.reward-stat-icon{width:38px;height:38px;border-radius:13px}.queue-kpi-value,.reward-stat-value{font-size:1.2rem!important}.queue-panel-head,.reward-panel-header{padding:16px!important}.queue-panel .p-4{padding:16px!important}.queue-card-v3,.reward-panel{border-radius:18px}.queue-card-top,.queue-card-body{padding:15px!important}.queue-level-badge{width:44px;height:44px;border-radius:15px;font-size:1rem}.queue-ready-badge{font-size:.68rem;padding:6px 8px}.queue-mini-metric{padding:10px}.leader-row{align-items:flex-start}.rank-badge{width:30px;height:30px;border-radius:10px}.table-responsive{font-size:.82rem}.btn-sm{padding:.45rem .65rem}.public-footer .d-flex{flex-wrap:wrap}}

/* ALLANDRICH brand refresh */
:root{--ar-black:#050505;--ar-panel:#0d0d0f;--ar-gold:#ffd400;--ar-gold-2:#f59e0b;--ar-border:rgba(255,212,0,.25)}
.public-navbar{background:#050505!important;border-bottom:1px solid rgba(255,255,255,.08)}
.allandrich-brand .brand-logo{width:58px;height:58px;object-fit:contain;border-radius:12px}.brand-logo-sm{width:42px;height:42px;object-fit:contain;border-radius:10px}.allandrich-brand .brand-copy{display:flex;flex-direction:column;line-height:1.05}.allandrich-brand .brand-copy strong{color:#fff;font-size:1.15rem;letter-spacing:.04em}.allandrich-brand .brand-copy small{color:var(--ar-gold);font-size:.68rem;font-weight:700}.public-navbar .nav-link.active,.public-navbar .nav-link:hover{color:var(--ar-gold)!important}.btn-primary{background:linear-gradient(135deg,var(--ar-gold),#ffb700);border-color:#ffcc00;color:#111;font-weight:700}.btn-primary:hover{color:#111;filter:brightness(.95)}.btn-outline-primary{border-color:var(--ar-gold);color:#a36b00}.btn-outline-primary:hover{background:var(--ar-gold);border-color:var(--ar-gold);color:#111}.public-footer{background:#050505!important;border-top:1px solid rgba(255,255,255,.08)}
.ar-hero{background:radial-gradient(circle at 62% 45%,rgba(255,212,0,.22),transparent 26%),linear-gradient(135deg,#000 0%,#070707 55%,#120d00 100%);color:#fff;padding:5.5rem 0 4.5rem;position:relative;overflow:hidden}.ar-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,212,0,.10),transparent 55%);opacity:.7}.ar-hero .container{position:relative;z-index:1}.ar-eyebrow{display:inline-flex;gap:.5rem;align-items:center;background:rgba(255,212,0,.1);border:1px solid var(--ar-border);color:var(--ar-gold);border-radius:999px;padding:.45rem .85rem;font-weight:700;font-size:.85rem}.ar-hero h1{font-size:clamp(3rem,7vw,6.5rem);font-weight:900;letter-spacing:.03em;line-height:.9}.ar-hero h2{color:var(--ar-gold);font-weight:800}.ar-hero-card{background:rgba(12,12,14,.88);border:1px solid var(--ar-border);box-shadow:0 0 50px rgba(255,212,0,.12);border-radius:28px;padding:2rem;text-align:center}.ar-hero-logo{width:min(260px,80%);filter:drop-shadow(0 0 30px rgba(255,212,0,.45))}.ar-feature-pill{display:flex;gap:1rem;align-items:center;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);border-radius:14px;padding:1rem}.ar-feature-pill i{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(255,212,0,.12);color:var(--ar-gold)}.ar-strip{background:#fff}.ar-mini-card{height:100%;border:1px solid #eee;border-radius:18px;padding:1.35rem;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.05)}.ar-mini-card i{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;background:#fff7cc;color:#d99a00;font-size:1.2rem}.ar-dashboard-preview{background:#050505;border-radius:24px;padding:1.25rem;border:1px solid rgba(255,255,255,.08);box-shadow:0 22px 55px rgba(0,0,0,.2)}.ar-dashboard-preview .side{background:#0e0e10;color:#fff;border-radius:18px;padding:1rem;height:100%}.ar-dashboard-preview .dash-card{background:#fff;border-radius:14px;padding:1rem;box-shadow:0 10px 25px rgba(0,0,0,.08)}.ar-dashboard-preview table{font-size:.85rem}.ar-footer-brand{background:#050505;color:#fff}
@media(max-width:991px){.ar-hero{padding:3.5rem 0}.allandrich-brand .brand-logo{width:48px;height:48px}.allandrich-brand .brand-copy small{font-size:.58rem}}

/* === ALLANDRICH table dark final patch === */

/* ALLANDRICH Project-wide dark table final override
   Purpose: prevent old Bootstrap/light table styles from rendering white rows inside the black/gold theme. */
:root{
  --ar-table-bg-final:#070707;
  --ar-table-row-final:#0d0d0f;
  --ar-table-row-alt-final:#111113;
  --ar-table-head-final:linear-gradient(180deg,#211a09,#11100b);
  --ar-table-border-final:rgba(255,211,90,.18);
  --ar-table-text-final:#f8fafc;
  --ar-table-muted-final:#b8bcc6;
  --ar-table-gold-final:#ffd35a;
}
.table-responsive,
.table-container,
.data-table-wrapper,
.history-table,
.transaction-table,
.wallet-history,
.deposit-history,
.withdraw-history,
.card .table-responsive,
.card-body .table-responsive,
.panel .table-responsive{
  background:linear-gradient(180deg,#0b0b0d,#070707)!important;
  border:1px solid var(--ar-table-border-final)!important;
  border-radius:18px!important;
  overflow:auto!important;
  box-shadow:0 16px 44px rgba(0,0,0,.42),0 0 0 1px rgba(255,211,90,.035) inset!important;
}
.table-responsive table,
.table-container table,
.data-table-wrapper table,
.card table,
table.table,
.table{
  width:100%!important;
  margin-bottom:0!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  background:var(--ar-table-bg-final)!important;
  color:var(--ar-table-text-final)!important;
  border-color:var(--ar-table-border-final)!important;
  --bs-table-bg:var(--ar-table-bg-final)!important;
  --bs-table-color:var(--ar-table-text-final)!important;
  --bs-table-striped-bg:var(--ar-table-row-alt-final)!important;
  --bs-table-striped-color:var(--ar-table-text-final)!important;
  --bs-table-hover-bg:rgba(255,211,90,.075)!important;
  --bs-table-hover-color:#fff!important;
  --bs-table-active-bg:rgba(255,211,90,.11)!important;
  --bs-table-active-color:#fff!important;
  --bs-table-border-color:var(--ar-table-border-final)!important;
}
table.table > :not(caption) > * > *,
.table > :not(caption) > * > *,
table > :not(caption) > * > *,
.table th,
.table td,
table th,
table td{
  background-color:transparent!important;
  background-image:none!important;
  color:var(--ar-table-text-final)!important;
  border-color:rgba(255,211,90,.12)!important;
  box-shadow:none!important;
  vertical-align:middle!important;
}
table.table thead,
.table thead,
table thead,
.table-light,
.table-primary,
.table-warning,
thead.table-light,
thead.table-primary,
thead.table-warning{
  background:var(--ar-table-head-final)!important;
  color:var(--ar-table-gold-final)!important;
}
table.table thead tr,
.table thead tr,
table thead tr,
table.table thead th,
.table thead th,
table thead th,
.table-light th,
.table-primary th,
.table-warning th{
  background:var(--ar-table-head-final)!important;
  color:var(--ar-table-gold-final)!important;
  border-color:rgba(255,211,90,.20)!important;
  font-size:.76rem!important;
  text-transform:uppercase!important;
  letter-spacing:.075em!important;
  font-weight:900!important;
  white-space:nowrap!important;
  padding:1rem 1.05rem!important;
}
table.table tbody,
.table tbody,
table tbody{background:var(--ar-table-bg-final)!important;}
table.table tbody tr,
.table tbody tr,
table tbody tr{
  background:var(--ar-table-row-final)!important;
  color:var(--ar-table-text-final)!important;
  border-color:rgba(255,211,90,.12)!important;
}
table.table tbody tr:nth-child(even),
.table tbody tr:nth-child(even),
table tbody tr:nth-child(even){background:var(--ar-table-row-alt-final)!important;}
table.table tbody tr:hover,
.table tbody tr:hover,
table tbody tr:hover{background:rgba(255,211,90,.075)!important;}
table.table tbody td,
.table tbody td,
table tbody td{
  color:var(--ar-table-text-final)!important;
  padding:.95rem 1.05rem!important;
}
.table .text-muted,
table .text-muted,
.table small,
table small,
.table .small,
table .small,
.table .muted,
table .muted{
  color:var(--ar-table-muted-final)!important;
  opacity:1!important;
}
.table a,
table a{
  color:var(--ar-table-gold-final)!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.table a:hover,
table a:hover{color:#ffe7a3!important;text-decoration:underline!important;}
.table input,
table input,
.table select,
table select,
.table textarea,
table textarea{
  background:#111113!important;
  color:#fff!important;
  border:1px solid rgba(255,211,90,.24)!important;
  border-radius:12px!important;
}
.table input::placeholder,
table input::placeholder{color:#8b8f9a!important;}
.table .btn,
table .btn{box-shadow:none!important;}
.table .btn-warning,
table .btn-warning,
.table .btn-primary,
table .btn-primary{
  background:linear-gradient(135deg,#ffd35a,#f0a91f)!important;
  border-color:rgba(255,211,90,.55)!important;
  color:#111!important;
  font-weight:900!important;
}
.table .btn-outline-warning,
table .btn-outline-warning,
.table .btn-outline-primary,
table .btn-outline-primary{
  background:rgba(255,211,90,.06)!important;
  border-color:rgba(255,211,90,.55)!important;
  color:#ffd35a!important;
  font-weight:900!important;
}
.table .badge,
table .badge,
.table .status-badge,
table .status-badge{
  box-shadow:none!important;
  border:1px solid rgba(255,255,255,.10)!important;
}
.table .bg-light,
table .bg-light,
.table .bg-white,
table .bg-white,
.table-light td,
.table-light th,
tr.bg-light td,
tr.bg-white td,
td.bg-light,
td.bg-white{
  background:var(--ar-table-row-final)!important;
  color:var(--ar-table-text-final)!important;
}
/* Bootstrap 5 table variants inside dashboard must follow dark theme */
.table-striped > tbody > tr:nth-of-type(odd) > *,
.table-striped > tbody > tr:nth-of-type(even) > *,
.table-hover > tbody > tr:hover > *{
  color:var(--ar-table-text-final)!important;
  box-shadow:none!important;
}
.table-bordered > :not(caption) > *{border-color:rgba(255,211,90,.12)!important;}
@media(max-width:767.98px){
  .table-responsive{border-radius:15px!important;}
  table.table thead th,.table thead th,table thead th{padding:.82rem .85rem!important;font-size:.70rem!important;}
  table.table tbody td,.table tbody td,table tbody td{padding:.82rem .85rem!important;font-size:.86rem!important;}
}


/* === ALLANDRICH dark cards/tables override v3 === */
:root{--ar-card-dark:#0d0d0f;--ar-card-dark-2:#070708;--ar-gold:#ffd35a;--ar-muted:#b8bcc6;}
.app-content .card,.admin-content .card,.public-page .card,.content .card,.main-content .card,
.app-content .deposit-summary-card,.app-content .deposit-card,.app-content .deposit-quick-item,.app-content .deposit-mobile-card{background:linear-gradient(180deg,rgba(20,20,22,.98),rgba(7,7,8,.98))!important;color:#f8fafc!important;border:1px solid rgba(255,211,90,.22)!important;box-shadow:0 18px 48px rgba(0,0,0,.44),inset 0 1px 0 rgba(255,255,255,.035)!important;}
.app-content .card-header,.admin-content .card-header,.main-content .card-header{background:linear-gradient(180deg,rgba(36,28,10,.96),rgba(13,13,15,.96))!important;color:var(--ar-gold)!important;border-color:rgba(255,211,90,.20)!important;font-weight:900!important;}
.app-content h1,.app-content h2,.app-content h3,.app-content h4,.app-content h5,.app-content h6,.app-content .form-label,.app-content .deposit-title{color:#f8fafc!important;}
.app-content p,.app-content small,.app-content .small,.app-content .text-muted,.app-content .form-text,.app-content .deposit-muted{color:var(--ar-muted)!important;opacity:1!important;}
.app-content .alert:not(.alert-success):not(.alert-danger){background:linear-gradient(180deg,rgba(20,20,22,.98),rgba(7,7,8,.98))!important;color:#f8fafc!important;border:1px solid rgba(255,211,90,.22)!important;}
.app-content .form-control,.app-content .form-select,.app-content .input-group-text,.admin-content .form-control,.admin-content .form-select{background:#101012!important;color:#fff!important;border-color:rgba(255,211,90,.26)!important;}
.app-content .input-group-text{color:var(--ar-gold)!important;font-weight:900!important;}
.app-content .form-control::placeholder{color:#858a96!important;}
.app-content .table-responsive,.admin-content .table-responsive,.main-content .table-responsive,.table-responsive{background:#070707!important;border:1px solid rgba(255,211,90,.20)!important;}
.app-content table,.app-content .table,.admin-content table,.admin-content .table,.main-content table,.main-content .table{background:#070707!important;color:#f8fafc!important;--bs-table-bg:#070707!important;--bs-table-color:#f8fafc!important;--bs-table-striped-bg:#111113!important;--bs-table-hover-bg:rgba(255,211,90,.075)!important;--bs-table-border-color:rgba(255,211,90,.13)!important;}
.app-content table thead th,.app-content .table thead th,.admin-content table thead th,.admin-content .table thead th,.main-content table thead th,.main-content .table thead th{background:linear-gradient(180deg,#241c0a,#12110b)!important;color:var(--ar-gold)!important;border-color:rgba(255,211,90,.20)!important;}
.app-content table tbody tr,.app-content .table tbody tr,.admin-content table tbody tr,.admin-content .table tbody tr,.main-content table tbody tr,.main-content .table tbody tr{background:#0d0d0f!important;color:#f8fafc!important;}
.app-content table tbody tr:nth-child(even),.app-content .table tbody tr:nth-child(even),.admin-content table tbody tr:nth-child(even),.admin-content .table tbody tr:nth-child(even),.main-content table tbody tr:nth-child(even),.main-content .table tbody tr:nth-child(even){background:#111113!important;}
.app-content table td,.app-content table th,.app-content .table td,.app-content .table th,.admin-content table td,.admin-content table th,.admin-content .table td,.admin-content .table th,.main-content table td,.main-content table th,.main-content .table td,.main-content .table th{background-color:transparent!important;color:#f8fafc!important;border-color:rgba(255,211,90,.13)!important;}
