:root{
  --gg-primary: #6a5cff;
  --gg-accent: #00ffd6;
  --gg-bg1: #0b0f1a;
  --gg-bg2: #10162a;
  --gg-neon: #7c74ff;
  --gg-muted: #b9c0d4;
}

body {
  background: radial-gradient(1200px 600px at 10% 10%, rgba(108,93,255,0.08), transparent),
              radial-gradient(1000px 500px at 80% 20%, rgba(0,255,214,0.06), transparent),
              linear-gradient(180deg, var(--gg-bg1), var(--gg-bg2));
}

.glass {
  background: rgba(148,148,148,0.04);
  border: 1px solid rgba(148,148,148,0.08);
  backdrop-filter: blur(12px);
  border-radius: 12px;
}

.hero-wrap { min-height: 100vh; display:flex; align-items: center; }
.hero-bg-grad {
  position:absolute; inset:0;
  background: radial-gradient(1200px 600px at 20% 0%, rgba(122,110,255,0.15), transparent),
              radial-gradient(1000px 600px at 100% 20%, rgba(0,255,214,0.12), transparent),
              radial-gradient(900px 500px at 20% 100%, rgba(122,110,255,0.10), transparent);
  filter: blur(40px);
}
.hero-parallax { position:absolute; inset:0; background: radial-gradient(800px 400px at 60% 50%, rgba(0,255,214,0.06), transparent); transition: transform .2s ease-out; }
.hero-blur { position:absolute; width:340px; height:340px; border-radius:50%; filter: blur(60px); opacity:.5; }
.hero-blur-1 { background: var(--gg-neon); top:10%; left:5%; animation: float1 12s ease-in-out infinite; }
.hero-blur-2 { background: var(--gg-accent); bottom:8%; right:10%; animation: float2 14s ease-in-out infinite; }
@keyframes float1 { 0%,100%{ transform:translateY(0)} 50%{ transform:translateY(20px)} }
@keyframes float2 { 0%,100%{ transform:translate(0,0)} 50%{ transform:translate(-20px,10px)} }

.hero-title { text-shadow: 0 0 30px rgba(122,110,255,0.35); letter-spacing: .5px; }
.hero-subtitle { color: #b9c0d4 !important; }

.glass-input {
  background-color: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.15);
  color: #fff;
}
.glass-input:focus { box-shadow: 0 0 0 .25rem rgba(122,110,255,.25); border-color: var(--gg-neon); }

.neon-btn { box-shadow: 0 0 12px rgba(122,110,255,.35), inset 0 0 0 1px rgba(255,255,255,.15); }
.neon-btn:hover { transform: translateY(-1px); box-shadow: 0 8px 24px rgba(122,110,255,.45); }
.neon-btn:active { transform: translateY(0); }

.hero-logo { filter: drop-shadow(0 0 12px rgba(122,110,255,.4)); }

/* Skeleton */
.skeleton { position:relative; overflow:hidden; background: rgba(255,255,255,0.06); border-radius: 8px; }
.skeleton::after { content:""; position:absolute; inset:0; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.08), transparent); transform: translateX(-100%); animation: shimmer 1.4s infinite; }
@keyframes shimmer { 100% { transform: translateX(100%); } }

/* Social buttons */
.social-btn { display: inline-flex; align-items: center; gap: 8px; border-color: rgba(255,255,255,.25) !important; color: #fff !important; }
.social-btn:hover { background: rgba(255,255,255,.08); box-shadow: 0 0 12px rgba(122,110,255,.25); }
.social-btn.x:hover { border-color: var(--gg-neon) !important; }
.social-btn.discord:hover { border-color: #5865F2 !important; }

/* Soft badges */
.badge-soft-primary { background: rgba(122,110,255,.15); color: #d5d1ff; border: 1px solid rgba(122,110,255,.25); }
.badge-soft-info { background: rgba(0,200,255,.12); color: #bfeeff; border: 1px solid rgba(0,200,255,.25); }
.badge-soft-success { background: rgba(0,255,160,.12); color: #c7ffe8; border: 1px solid rgba(0,255,160,.25); }

/* Mobile tweaks for admin */
@media (max-width: 576px) {
  .card.glass { padding: .75rem !important; }
  #chartLine, #chartPie, #chartWorld { height: 260px !important; }
  .table { font-size: .875rem; }
  .input-group .btn, .input-group .form-control, .input-group .input-group-text { font-size: .875rem; }
}

/* Admin table improvements */
.table-gg thead th { background: rgba(255,255,255,0.04); border-bottom: 1px solid rgba(255,255,255,0.08); }
.table-gg tbody tr.row-click { cursor: pointer; }
.table-gg tbody tr.row-click:hover { background: rgba(122,110,255,0.10); box-shadow: inset 0 0 0 1px rgba(122,110,255,0.25); }

/* Controls (search, input, buttons) */
.gg-controls .gg-chip { background: rgba(255,255,255,0.06); color: var(--gg-muted); border: 1px solid rgba(255,255,255,0.12); }
.gg-input { background: rgba(255,255,255,0.06); color: #fff; border: 1px solid rgba(255,255,255,0.15); }
.gg-input:focus { box-shadow: 0 0 0 .2rem rgba(122,110,255,.25); border-color: var(--gg-neon); }
.btn-gg-outline { border: 1px solid rgba(122,110,255,0.5); color: #e5e3ff; background: rgba(122,110,255,0.08); }
.btn-gg-outline:hover { background: rgba(122,110,255,0.18); box-shadow: 0 6px 18px rgba(122,110,255,.25); }

/* Pagination */
.gg-pagination .page-link { background: rgba(255,255,255,0.05); color: #d7dbef; border-color: rgba(255,255,255,0.1); }
.gg-pagination .page-item.active .page-link { background: linear-gradient(180deg, var(--gg-neon), #5a4eff); color: #fff; border-color: rgba(122,110,255,0.7); box-shadow: 0 0 0 1px rgba(255,255,255,0.1) inset; }
.gg-pagination .page-item.disabled .page-link { color: rgba(215,219,239,0.5); background: rgba(255,255,255,0.03); }
.gg-pagination .page-link:hover { background: rgba(122,110,255,0.14); color: #fff; }

.text-secondary {
  --bs-text-opacity: 1;
  color: rgb(181 200 217) !important;
}

.table-dark {
  --bs-table-border-color: #22273a;
  --bs-table-striped-bg: #1e2335;
}
