:root{
  --tp-bg:#070913;
  --tp-bg-2:#0c1022;
  --tp-panel:#11172b;
  --tp-panel-2:#151d35;
  --tp-card:#12182e;
  --tp-card-soft:#18213d;
  --tp-text:#eef4ff;
  --tp-muted:#93a4c7;
  --tp-line:rgba(255,255,255,.09);
  --tp-accent:#ffc107;
  --tp-accent-2:#ff7a18;
  --tp-neon:#25f4ff;
  --tp-pink:#ff2bd6;
  --tp-green:#29ff9a;
  --tp-red:#ff496d;
  --tp-shadow:0 24px 70px rgba(0,0,0,.38);
  --tp-radius:22px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  min-height:100vh;
  background:
    radial-gradient(circle at 15% 0%, rgba(37,244,255,.16), transparent 34rem),
    radial-gradient(circle at 86% 8%, rgba(255,43,214,.14), transparent 32rem),
    radial-gradient(circle at 50% 100%, rgba(255,193,7,.10), transparent 36rem),
    linear-gradient(180deg,var(--tp-bg),#0a0e1c 45%,#070913);
  color:var(--tp-text);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:linear-gradient(115deg,transparent 0 45%,rgba(255,255,255,.035) 47%,transparent 50% 100%);
  animation:tpSweep 7s linear infinite;
  z-index:-1;
}
.tp-bg-grid{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-2;
  opacity:.34;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,black,transparent 76%);
}
@keyframes tpSweep{from{transform:translateX(-120%)}to{transform:translateX(120%)}}

main{position:relative;z-index:1}.container{position:relative}.text-secondary{color:var(--tp-muted)!important}.small{letter-spacing:.01em}
h1,h2,h3,h4,h5,.navbar-brand,.btn,.badge,.stat-card span{
  font-family:Rajdhani,Inter,system-ui,sans-serif;
  letter-spacing:.02em;
}
h1,h2,h3,h4,h5{font-weight:700;color:#fff}a{color:var(--tp-neon)}a:hover{color:var(--tp-accent)}

/* Navbar */
.navbar.bg-dark{
  background:rgba(6,9,19,.78)!important;
  border-bottom:1px solid var(--tp-line);
  backdrop-filter:blur(16px);
  box-shadow:0 12px 35px rgba(0,0,0,.26)!important;
}
.navbar .container{padding-top:.25rem;padding-bottom:.25rem}.navbar-dark .navbar-nav .nav-link{color:#c4d2f2;font-weight:700;text-transform:uppercase;font-size:.82rem;letter-spacing:.08em}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{color:#fff;text-shadow:0 0 12px rgba(37,244,255,.65)}
.tp-brand{display:flex;align-items:center;gap:.7rem;color:#fff!important;font-size:1.32rem;text-transform:uppercase}.tp-brand-mark{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;color:#050713;background:linear-gradient(135deg,var(--tp-accent),var(--tp-accent-2));box-shadow:0 0 28px rgba(255,193,7,.38),inset 0 -4px 10px rgba(0,0,0,.22);font-weight:800}.navbar-toggler{border-color:var(--tp-line)}

/* Hero */
.hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  color:#fff;
  padding:112px 0 96px;
  background:
    linear-gradient(135deg,rgba(15,22,45,.95),rgba(7,9,19,.88)),
    radial-gradient(circle at 78% 35%,rgba(37,244,255,.25),transparent 20rem),
    radial-gradient(circle at 26% 30%,rgba(255,193,7,.28),transparent 18rem);
  border-bottom:1px solid var(--tp-line);
}
.hero::before{
  content:"";
  position:absolute;
  inset:26px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:36px;
  pointer-events:none;
}
.hero::after{
  content:"BATTLE READY";
  position:absolute;
  right:-2rem;
  bottom:1rem;
  z-index:-1;
  color:rgba(255,255,255,.035);
  font-family:Rajdhani,Inter,sans-serif;
  font-weight:800;
  font-size:clamp(4.8rem,13vw,12rem);
  line-height:.8;
  letter-spacing:.08em;
  transform:skewX(-8deg);
}
.hero .badge{border-radius:999px;padding:.55rem 1rem;box-shadow:0 0 28px rgba(255,193,7,.35)}
.hero h1{max-width:850px;text-transform:uppercase;line-height:.92;text-shadow:0 0 32px rgba(37,244,255,.22)}
.hero .lead{max-width:700px;color:#c7d5f8;font-size:1.2rem}.hero .card{background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.04))!important;color:#fff!important;border:1px solid var(--tp-line);box-shadow:var(--tp-shadow);backdrop-filter:blur(18px)}
.hero .card h4{color:#fff}.hero .text-bg-danger,.hero .text-bg-primary{font-size:1rem;border:1px solid rgba(255,255,255,.15);box-shadow:0 14px 30px rgba(0,0,0,.24)}

/* Cards and panels */
.card{
  color:var(--tp-text);
  background:linear-gradient(180deg,rgba(21,29,53,.94),rgba(13,18,35,.94));
  border:1px solid var(--tp-line)!important;
  border-radius:var(--tp-radius);
  box-shadow:0 18px 45px rgba(0,0,0,.22);
}
.card-body{position:relative}.shadow-sm{box-shadow:0 20px 52px rgba(0,0,0,.24)!important}.border-warning{box-shadow:0 0 0 1px rgba(255,193,7,.35),0 0 50px rgba(255,193,7,.12)!important}.card.bg-dark-subtle{background:linear-gradient(160deg,rgba(255,193,7,.18),rgba(37,244,255,.08))!important}
.stat-card{
  position:relative;
  overflow:hidden;
  background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.035));
  min-height:128px;
}
.stat-card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--tp-accent),var(--tp-neon),var(--tp-pink))}.stat-card::after{content:"";position:absolute;right:-32px;bottom:-32px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,rgba(37,244,255,.24),transparent 65%)}.stat-card span{display:block;color:var(--tp-muted);font-size:.9rem;text-transform:uppercase;font-weight:700}.stat-card h3{margin:.35rem 0 0;font-size:2.15rem;color:#fff}

.tournament-card{
  overflow:hidden;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.tournament-card::before{
  content:"";
  display:block;
  height:5px;
  background:linear-gradient(90deg,var(--tp-accent),var(--tp-neon),var(--tp-pink));
}
.tournament-card:hover{transform:translateY(-7px) scale(1.01);border-color:rgba(37,244,255,.35)!important;box-shadow:0 28px 70px rgba(0,0,0,.36),0 0 28px rgba(37,244,255,.10)!important}.tournament-card h5{text-transform:uppercase}.countdown{display:inline-flex;align-items:center;gap:.4rem;margin-top:.35rem;padding:.42rem .75rem;border-radius:999px;font-weight:800;color:#08101d;background:linear-gradient(135deg,var(--tp-accent),var(--tp-accent-2));box-shadow:0 0 22px rgba(255,193,7,.24)}.countdown::before{content:"⏱"}

/* Buttons and badges */
.btn{font-weight:800;border-radius:14px;text-transform:uppercase;letter-spacing:.05em}.btn-warning{color:#070913!important;background:linear-gradient(135deg,var(--tp-accent),var(--tp-accent-2));border:0;box-shadow:0 14px 28px rgba(255,193,7,.22)}.btn-warning:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 18px 38px rgba(255,193,7,.28)}.btn-dark{background:#111a31;border-color:var(--tp-line)}.btn-outline-light,.btn-outline-dark{border-color:rgba(255,255,255,.22);color:#fff}.btn-outline-light:hover,.btn-outline-dark:hover{background:rgba(37,244,255,.14);border-color:rgba(37,244,255,.45);color:#fff}.btn-success{background:linear-gradient(135deg,#23d18b,#0ca66a);border:0}.btn-danger,.btn-outline-danger:hover{background:linear-gradient(135deg,#ff496d,#bb1648);border:0}.badge{border-radius:999px;padding:.45rem .72rem;font-weight:800}.bg-danger,.text-bg-danger{background:linear-gradient(135deg,#ff496d,#b71847)!important}.bg-primary,.text-bg-primary{background:linear-gradient(135deg,#3b82f6,#6d5dfc)!important}.bg-warning,.text-bg-warning{background:linear-gradient(135deg,var(--tp-accent),var(--tp-accent-2))!important}.text-bg-success{background:linear-gradient(135deg,#22c55e,#16a34a)!important}.text-bg-secondary,.bg-secondary{background:#2b3554!important;color:#cbd5f5!important}

/* Forms */
.form-control,.form-select{
  color:#fff;
  background:#0b1021;
  border:1px solid rgba(255,255,255,.13);
  border-radius:14px;
  min-height:46px;
}
.form-control:focus,.form-select:focus{color:#fff;background:#0d1428;border-color:rgba(37,244,255,.75);box-shadow:0 0 0 .25rem rgba(37,244,255,.12)}.form-control::placeholder{color:#66779e}label{color:#ccd8f7;font-weight:700;margin-bottom:.35rem}.form-select option{background:#0b1021;color:#fff}input[type=file]::file-selector-button{border:0;border-radius:10px;background:linear-gradient(135deg,var(--tp-accent),var(--tp-accent-2));color:#080a12;font-weight:800;margin-right:.8rem;padding:.55rem .8rem}

/* Dashboard */
.dashboard-sidebar{
  position:sticky;
  top:88px;
  border-radius:22px;
  overflow:hidden;
  border:1px solid var(--tp-line);
  background:rgba(13,18,35,.84);
  backdrop-filter:blur(14px);
}
.dashboard-sidebar .list-group-item{background:transparent;color:#c6d3f5;border:0;border-bottom:1px solid var(--tp-line);padding:1rem 1.05rem;font-weight:800;letter-spacing:.02em}.dashboard-sidebar .list-group-item::before{content:"▸";color:var(--tp-accent);margin-right:.55rem}.dashboard-sidebar .list-group-item:hover,.dashboard-sidebar .list-group-item:focus{background:linear-gradient(90deg,rgba(255,193,7,.18),rgba(37,244,255,.06));color:#fff;padding-left:1.25rem}.dashboard-sidebar .list-group-item:last-child{border-bottom:0}

/* Tables */
.table{--bs-table-bg:transparent;--bs-table-color:#e9f1ff;--bs-table-border-color:rgba(255,255,255,.09);color:#e9f1ff;margin-bottom:0}.table th{color:#fff;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em;background:rgba(255,255,255,.035)}.table td,.table th{vertical-align:middle;padding:.95rem}.table-responsive{border-radius:18px}.table a{font-weight:700}

/* Avatars, notifications, footer */
.avatar{width:52px;height:52px;object-fit:cover;border-radius:50%;border:2px solid rgba(37,244,255,.6);box-shadow:0 0 0 4px rgba(37,244,255,.08),0 0 24px rgba(37,244,255,.18)}.logo-preview{width:92px;height:92px;object-fit:cover;border-radius:24px;background:#0b1021;border:1px solid var(--tp-line);box-shadow:0 18px 35px rgba(0,0,0,.24)}.notification-bubble{border-radius:22px;background:linear-gradient(180deg,rgba(25,34,62,.98),rgba(13,18,35,.96));border:1px solid var(--tp-line);border-left:5px solid var(--tp-accent)}.alert{border-radius:18px;border:1px solid var(--tp-line)}.alert-success{color:#dcfff1;background:rgba(41,255,154,.10);border-color:rgba(41,255,154,.25)}.alert-danger{color:#ffe5ec;background:rgba(255,73,109,.12);border-color:rgba(255,73,109,.25)}.alert-warning{color:#fff3cd;background:rgba(255,193,7,.13);border-color:rgba(255,193,7,.28)}
footer.bg-dark{background:#050710!important;border-top:1px solid var(--tp-line);box-shadow:0 -18px 45px rgba(0,0,0,.2)}.footer-link{color:#d5d8df;text-decoration:none;font-weight:700}.footer-link:hover{color:var(--tp-accent);text-shadow:0 0 14px rgba(255,193,7,.35)}

/* Sections */
.container.py-5>h2,.container.py-5 h3,.col-lg-9>h2{display:flex;align-items:center;gap:.65rem;margin-bottom:1.15rem}.container.py-5>h2::before,.container.py-5 h3::before,.col-lg-9>h2::before{content:"";display:inline-block;width:10px;height:30px;border-radius:999px;background:linear-gradient(180deg,var(--tp-accent),var(--tp-neon))}.d-flex.gap-2 .btn,.d-flex.gap-2.mb-4 .btn{min-width:145px}

@media (max-width:991.98px){.hero{padding:84px 0 72px}.hero::before{inset:14px;border-radius:24px}.hero h1{font-size:3rem}.dashboard-sidebar{position:static}.navbar .btn{margin-top:.4rem}}
@media (max-width:575.98px){.hero h1{font-size:2.35rem}.hero .btn{width:100%;margin:.35rem 0}.stat-card h3{font-size:1.75rem}.table{font-size:.88rem}.card-body{padding:1rem}.container.py-5{padding-top:2rem!important;padding-bottom:2rem!important}}

/* ========================================================================
   TournamentPK Premium User Panel Theme
   Scope: body.tp-user-panel only
   Add class="tp-user-panel" or data-panel="user" to the user-panel <body>.
   ======================================================================== */

body.tp-user-panel{
  --up-bg:#04070d;
  --up-bg-soft:#07101a;
  --up-surface:#0a1420;
  --up-surface-2:#0d1a29;
  --up-surface-3:#102238;
  --up-cyan:#05d9ff;
  --up-cyan-soft:#0aa8e8;
  --up-gold:#ffbf2f;
  --up-gold-2:#f39218;
  --up-text:#f3f8ff;
  --up-muted:#8fa5bc;
  --up-line:rgba(123,210,255,.14);
  --up-line-strong:rgba(5,217,255,.34);
  --up-success:#27d998;
  --up-danger:#ff5470;
  --up-warning:#ffbf2f;
  --up-shadow:0 24px 70px rgba(0,0,0,.48);
  --up-radius:22px;
  min-height:100vh;
  color:var(--up-text);
  background:
    radial-gradient(circle at 7% 0%,rgba(5,217,255,.15),transparent 24rem),
    radial-gradient(circle at 100% 12%,rgba(255,191,47,.12),transparent 23rem),
    linear-gradient(180deg,#04070d 0%,#07101a 48%,#04070d 100%);
  padding-bottom:78px;
}

body.tp-user-panel::before{
  opacity:.55;
  background:
    linear-gradient(115deg,transparent 0 42%,rgba(5,217,255,.035) 44%,transparent 47% 100%),
    radial-gradient(circle at 50% -15%,rgba(255,255,255,.05),transparent 32rem);
}

body.tp-user-panel::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(5,217,255,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(5,217,255,.028) 1px,transparent 1px),
    url('./logo.png');
  background-size:44px 44px,44px 44px,min(38vw,440px);
  background-position:center,center,calc(100% + 90px) calc(100% + 110px);
  background-repeat:repeat,repeat,no-repeat;
  opacity:.34;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%);
}

body.tp-user-panel main{padding-top:1.25rem}
body.tp-user-panel .container{max-width:1380px}
body.tp-user-panel .text-secondary,
body.tp-user-panel .text-muted{color:var(--up-muted)!important}

/* User panel top bar */
body.tp-user-panel .navbar.bg-dark,
body.tp-user-panel .tp-user-topbar{
  background:rgba(4,9,15,.82)!important;
  border-bottom:1px solid rgba(5,217,255,.14);
  box-shadow:0 14px 34px rgba(0,0,0,.36)!important;
  backdrop-filter:blur(18px) saturate(145%);
}
body.tp-user-panel .navbar.tp-nav-scrolled,
body.tp-user-panel .tp-user-topbar.tp-nav-scrolled{
  background:rgba(3,7,13,.94)!important;
  border-bottom-color:rgba(5,217,255,.28);
}
body.tp-user-panel .tp-brand-mark{
  width:46px;
  height:46px;
  border-radius:15px;
  color:transparent;
  background:#07111c url('./logo.png') center/88% no-repeat;
  box-shadow:0 0 0 1px rgba(5,217,255,.22),0 0 28px rgba(5,217,255,.20);
}
body.tp-user-panel .tp-brand{
  gap:.75rem;
  font-size:1.28rem;
  letter-spacing:.06em;
}
body.tp-user-panel .navbar-dark .navbar-nav .nav-link{
  color:#a9bdd2;
  border-radius:12px;
  padding:.62rem .8rem;
}
body.tp-user-panel .navbar-dark .navbar-nav .nav-link:hover,
body.tp-user-panel .navbar-dark .navbar-nav .nav-link.active{
  color:#fff;
  background:linear-gradient(135deg,rgba(5,217,255,.12),rgba(255,191,47,.08));
  box-shadow:inset 0 0 0 1px rgba(5,217,255,.12);
}

/* Dashboard shell */
body.tp-user-panel .dashboard-sidebar{
  top:92px;
  border-radius:24px;
  border:1px solid rgba(5,217,255,.16);
  background:
    linear-gradient(180deg,rgba(10,20,32,.97),rgba(5,11,18,.96));
  box-shadow:var(--up-shadow),inset 0 1px 0 rgba(255,255,255,.035);
  overflow:hidden;
}
body.tp-user-panel .dashboard-sidebar::before{
  content:"";
  display:block;
  height:118px;
  background:
    linear-gradient(180deg,rgba(5,217,255,.10),rgba(5,217,255,0)),
    url('./logo.png') center 16px/90px no-repeat;
  border-bottom:1px solid rgba(5,217,255,.12);
}
body.tp-user-panel .dashboard-sidebar .list-group-item{
  position:relative;
  min-height:52px;
  display:flex;
  align-items:center;
  color:#aebfd1;
  background:transparent;
  border-bottom:1px solid rgba(255,255,255,.045);
  padding:.88rem 1rem;
  font-size:.9rem;
  font-weight:700;
  transition:all .2s ease;
}
body.tp-user-panel .dashboard-sidebar .list-group-item::before{
  content:"";
  width:8px;
  height:8px;
  flex:0 0 8px;
  margin-right:.75rem;
  border-radius:2px;
  background:rgba(143,165,188,.55);
  transform:rotate(45deg);
  box-shadow:none;
  transition:all .2s ease;
}
body.tp-user-panel .dashboard-sidebar .list-group-item:hover,
body.tp-user-panel .dashboard-sidebar .list-group-item.active,
body.tp-user-panel .dashboard-sidebar .list-group-item[aria-current="page"]{
  color:#fff;
  padding-left:1.12rem;
  background:linear-gradient(90deg,rgba(5,217,255,.15),rgba(255,191,47,.055));
  box-shadow:inset 3px 0 0 var(--up-cyan);
}
body.tp-user-panel .dashboard-sidebar .list-group-item:hover::before,
body.tp-user-panel .dashboard-sidebar .list-group-item.active::before,
body.tp-user-panel .dashboard-sidebar .list-group-item[aria-current="page"]::before{
  background:var(--up-gold);
  box-shadow:0 0 12px rgba(255,191,47,.55);
}

/* Header / welcome block */
body.tp-user-panel .tp-user-hero,
body.tp-user-panel .dashboard-welcome,
body.tp-user-panel .user-dashboard-header{
  position:relative;
  overflow:hidden;
  padding:clamp(1.25rem,3vw,2.15rem);
  border-radius:28px;
  border:1px solid rgba(5,217,255,.18);
  background:
    linear-gradient(105deg,rgba(5,11,18,.97) 0%,rgba(7,22,36,.94) 52%,rgba(8,18,29,.80) 100%),
    url('./freefire.jpg') center 33%/cover no-repeat;
  box-shadow:0 24px 65px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.05);
}
body.tp-user-panel .tp-user-hero::before,
body.tp-user-panel .dashboard-welcome::before,
body.tp-user-panel .user-dashboard-header::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(4,8,14,.96),rgba(4,8,14,.72) 55%,rgba(4,8,14,.35)),
    linear-gradient(180deg,transparent 60%,rgba(4,8,14,.82));
  pointer-events:none;
}
body.tp-user-panel .tp-user-hero>* ,
body.tp-user-panel .dashboard-welcome>* ,
body.tp-user-panel .user-dashboard-header>*{position:relative;z-index:1}
body.tp-user-panel .tp-user-hero h1,
body.tp-user-panel .dashboard-welcome h1,
body.tp-user-panel .user-dashboard-header h1{
  text-transform:uppercase;
  line-height:.98;
  font-size:clamp(2rem,4vw,3.6rem);
  text-shadow:0 0 28px rgba(5,217,255,.22);
}
body.tp-user-panel .tp-user-hero .badge,
body.tp-user-panel .dashboard-welcome .badge{
  color:#07101a;
  background:linear-gradient(135deg,var(--up-gold),var(--up-gold-2));
  border:0;
  box-shadow:0 8px 24px rgba(255,191,47,.24);
}

/* Cards */
body.tp-user-panel .card,
body.tp-user-panel .stat-card,
body.tp-user-panel .tournament-card,
body.tp-user-panel .notification-bubble{
  border:1px solid rgba(116,191,228,.12)!important;
  background:
    radial-gradient(circle at var(--mx,85%) var(--my,10%),rgba(5,217,255,.075),transparent 15rem),
    linear-gradient(160deg,rgba(15,31,49,.95),rgba(6,13,22,.97));
  border-radius:var(--up-radius);
  box-shadow:0 18px 50px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.035);
}
body.tp-user-panel .card::after,
body.tp-user-panel .tournament-card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(125deg,rgba(255,255,255,.035),transparent 28% 72%,rgba(5,217,255,.035));
}
body.tp-user-panel .card,
body.tp-user-panel .tournament-card{position:relative;overflow:hidden}
body.tp-user-panel .card:hover,
body.tp-user-panel .tournament-card:hover{
  border-color:rgba(5,217,255,.28)!important;
  box-shadow:0 28px 70px rgba(0,0,0,.42),0 0 28px rgba(5,217,255,.075);
}
body.tp-user-panel .card-header{
  color:#fff;
  background:rgba(255,255,255,.025);
  border-bottom:1px solid rgba(255,255,255,.06);
  padding:1rem 1.2rem;
}
body.tp-user-panel .card-title,
body.tp-user-panel .card h4,
body.tp-user-panel .card h5{color:#fff}

body.tp-user-panel .stat-card{
  min-height:142px;
  padding:.2rem;
}
body.tp-user-panel .stat-card::before{
  height:3px;
  background:linear-gradient(90deg,var(--up-cyan),var(--up-gold));
}
body.tp-user-panel .stat-card::after{
  right:-35px;
  bottom:-40px;
  width:130px;
  height:130px;
  background:radial-gradient(circle,rgba(5,217,255,.17),transparent 65%);
}
body.tp-user-panel .stat-card span{
  color:var(--up-muted);
  font-size:.78rem;
  letter-spacing:.11em;
}
body.tp-user-panel .stat-card h3{
  font-size:clamp(1.9rem,4vw,2.55rem);
  background:linear-gradient(135deg,#fff 15%,#b7f5ff 55%,var(--up-gold));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

/* Tournament cards */
body.tp-user-panel .tournament-card::before{
  height:4px;
  background:linear-gradient(90deg,var(--up-cyan),var(--up-gold));
}
body.tp-user-panel .tournament-card[data-game="pubg"] .card-img-top,
body.tp-user-panel .tournament-card.pubg .card-img-top{content:url('./pubg.jpg')}
body.tp-user-panel .tournament-card[data-game="freefire"] .card-img-top,
body.tp-user-panel .tournament-card.freefire .card-img-top{content:url('./freefire.jpg')}
body.tp-user-panel .tournament-card .card-img-top{
  height:170px;
  object-fit:cover;
  border-bottom:1px solid rgba(255,255,255,.08);
  filter:saturate(1.04) contrast(1.03);
}
body.tp-user-panel .countdown{
  color:#06101a;
  background:linear-gradient(135deg,var(--up-gold),var(--up-gold-2));
  box-shadow:0 10px 28px rgba(255,191,47,.22);
}
body.tp-user-panel .countdown.is-live{
  color:#03130d;
  background:linear-gradient(135deg,#56f4b6,#20c985);
  box-shadow:0 10px 28px rgba(39,217,152,.24);
}

/* Buttons */
body.tp-user-panel .btn{
  position:relative;
  overflow:hidden;
  border-radius:13px;
  min-height:42px;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease,border-color .18s ease;
}
body.tp-user-panel .btn:hover{transform:translateY(-2px)}
body.tp-user-panel .btn-warning,
body.tp-user-panel .btn-primary{
  color:#06101a!important;
  background:linear-gradient(135deg,var(--up-gold),var(--up-gold-2));
  border:0;
  box-shadow:0 12px 30px rgba(255,191,47,.20);
}
body.tp-user-panel .btn-warning:hover,
body.tp-user-panel .btn-primary:hover{
  filter:brightness(1.06);
  box-shadow:0 16px 36px rgba(255,191,47,.27);
}
body.tp-user-panel .btn-info,
body.tp-user-panel .btn-cyan{
  color:#031116!important;
  background:linear-gradient(135deg,#58ecff,var(--up-cyan-soft));
  border:0;
  box-shadow:0 12px 30px rgba(5,217,255,.18);
}
body.tp-user-panel .btn-dark,
body.tp-user-panel .btn-secondary{
  color:#dceaff;
  background:#0b1725;
  border-color:rgba(135,199,232,.15);
}
body.tp-user-panel .btn-outline-light,
body.tp-user-panel .btn-outline-dark,
body.tp-user-panel .btn-outline-primary{
  color:#dcecff;
  background:rgba(5,217,255,.025);
  border-color:rgba(5,217,255,.27);
}
body.tp-user-panel .btn-outline-light:hover,
body.tp-user-panel .btn-outline-dark:hover,
body.tp-user-panel .btn-outline-primary:hover{
  color:#fff;
  background:rgba(5,217,255,.11);
  border-color:rgba(5,217,255,.58);
}
body.tp-user-panel .tp-ripple{
  position:absolute;
  width:12px;
  height:12px;
  margin:-6px 0 0 -6px;
  border-radius:50%;
  pointer-events:none;
  background:rgba(255,255,255,.42);
  transform:scale(0);
  animation:tpUserRipple .55s ease-out;
}
@keyframes tpUserRipple{to{transform:scale(18);opacity:0}}

/* Forms */
body.tp-user-panel .form-control,
body.tp-user-panel .form-select,
body.tp-user-panel .input-group-text{
  color:#eef8ff;
  background:rgba(3,10,17,.72);
  border-color:rgba(134,201,234,.15);
  border-radius:13px;
}
body.tp-user-panel .form-control,
body.tp-user-panel .form-select{min-height:48px}
body.tp-user-panel .form-control:focus,
body.tp-user-panel .form-select:focus{
  background:#071421;
  border-color:rgba(5,217,255,.72);
  box-shadow:0 0 0 .22rem rgba(5,217,255,.105),0 0 24px rgba(5,217,255,.07);
}
body.tp-user-panel label{color:#c7d6e5}
body.tp-user-panel input[type=file]::file-selector-button{
  background:linear-gradient(135deg,var(--up-cyan),#168ec7);
  color:#031116;
}

/* Tables */
body.tp-user-panel .table-responsive{
  border:1px solid rgba(128,196,230,.11);
  border-radius:18px;
  background:rgba(4,11,18,.34);
}
body.tp-user-panel .table{
  --bs-table-bg:transparent;
  --bs-table-color:#e8f4ff;
  --bs-table-border-color:rgba(255,255,255,.065);
}
body.tp-user-panel .table thead th,
body.tp-user-panel .table th{
  color:#bdeeff;
  background:rgba(5,217,255,.045);
}
body.tp-user-panel .table tbody tr{transition:background .16s ease}
body.tp-user-panel .table tbody tr:hover{background:rgba(5,217,255,.045)}

/* Profile, avatars and ranks */
body.tp-user-panel .avatar{
  width:56px;
  height:56px;
  border:2px solid rgba(5,217,255,.75);
  background:#07111c url('./default-avatar.svg') center/cover no-repeat;
  box-shadow:0 0 0 4px rgba(5,217,255,.08),0 0 28px rgba(5,217,255,.19);
}
body.tp-user-panel .profile-avatar,
body.tp-user-panel .avatar-lg{
  width:104px;
  height:104px;
  object-fit:cover;
  border-radius:28px;
  border:2px solid rgba(5,217,255,.72);
  background:#07111c url('./default-avatar.svg') center/cover no-repeat;
  box-shadow:0 0 0 7px rgba(5,217,255,.07),0 22px 42px rgba(0,0,0,.40);
}
body.tp-user-panel .progress{
  height:9px;
  background:#07111d;
  border:1px solid rgba(255,255,255,.055);
  border-radius:999px;
  overflow:hidden;
}
body.tp-user-panel .progress-bar{
  border-radius:inherit;
  background:linear-gradient(90deg,var(--up-cyan),var(--up-gold));
  box-shadow:0 0 16px rgba(5,217,255,.35);
}

/* Alerts and badges */
body.tp-user-panel .badge{letter-spacing:.04em}
body.tp-user-panel .bg-warning,
body.tp-user-panel .text-bg-warning{color:#08111a!important;background:linear-gradient(135deg,var(--up-gold),var(--up-gold-2))!important}
body.tp-user-panel .bg-primary,
body.tp-user-panel .text-bg-primary{background:linear-gradient(135deg,#0bc6ee,#1779cf)!important}
body.tp-user-panel .bg-success,
body.tp-user-panel .text-bg-success{background:linear-gradient(135deg,#38dd9f,#159866)!important}
body.tp-user-panel .bg-danger,
body.tp-user-panel .text-bg-danger{background:linear-gradient(135deg,#ff607b,#c92b4c)!important}
body.tp-user-panel .alert{
  border-radius:16px;
  backdrop-filter:blur(10px);
}

/* Page headings */
body.tp-user-panel .container.py-5>h2,
body.tp-user-panel .container.py-5 h3,
body.tp-user-panel .col-lg-9>h2,
body.tp-user-panel .tp-page-title{
  gap:.72rem;
  text-transform:uppercase;
  letter-spacing:.045em;
}
body.tp-user-panel .container.py-5>h2::before,
body.tp-user-panel .container.py-5 h3::before,
body.tp-user-panel .col-lg-9>h2::before,
body.tp-user-panel .tp-page-title::before{
  width:7px;
  height:31px;
  background:linear-gradient(180deg,var(--up-cyan),var(--up-gold));
  box-shadow:0 0 14px rgba(5,217,255,.22);
}

/* Empty states */
body.tp-user-panel .tp-empty-state{
  text-align:center;
  padding:3rem 1.25rem;
}
body.tp-user-panel .tp-empty-state::before{
  content:"";
  display:block;
  width:92px;
  height:92px;
  margin:0 auto 1rem;
  background:url('./logo.png') center/contain no-repeat;
  opacity:.56;
  filter:grayscale(.1);
}

/* Premium mobile bottom navigation */
body.tp-user-panel .tp-user-bottom-nav{
  display:none;
  position:fixed;
  left:50%;
  bottom:12px;
  z-index:1090;
  transform:translateX(-50%);
  width:min(calc(100% - 22px),540px);
  min-height:64px;
  padding:7px;
  border:1px solid rgba(5,217,255,.20);
  border-radius:22px;
  background:rgba(5,11,18,.93);
  box-shadow:0 18px 46px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(20px) saturate(150%);
}
body.tp-user-panel .tp-user-bottom-nav a{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  color:#8398ae;
  text-decoration:none;
  border-radius:16px;
  padding:7px 4px;
  font-size:.66rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.035em;
}
body.tp-user-panel .tp-user-bottom-nav a i,
body.tp-user-panel .tp-user-bottom-nav a svg{font-size:1.15rem;width:20px;height:20px}
body.tp-user-panel .tp-user-bottom-nav a.active,
body.tp-user-panel .tp-user-bottom-nav a[aria-current="page"]{
  color:#fff;
  background:linear-gradient(135deg,rgba(5,217,255,.17),rgba(255,191,47,.09));
  box-shadow:inset 0 0 0 1px rgba(5,217,255,.13);
}
body.tp-user-panel .tp-user-bottom-nav a.active i,
body.tp-user-panel .tp-user-bottom-nav a.active svg{color:var(--up-gold);filter:drop-shadow(0 0 8px rgba(255,191,47,.35))}

/* Load-in polish */
body.tp-user-panel.tp-user-ready .card,
body.tp-user-panel.tp-user-ready .stat-card,
body.tp-user-panel.tp-user-ready .tournament-card{
  animation:tpUserCardIn .42s ease both;
}
body.tp-user-panel.tp-user-ready .card:nth-child(2),
body.tp-user-panel.tp-user-ready .stat-card:nth-child(2){animation-delay:.04s}
body.tp-user-panel.tp-user-ready .card:nth-child(3),
body.tp-user-panel.tp-user-ready .stat-card:nth-child(3){animation-delay:.08s}
@keyframes tpUserCardIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

@media (prefers-reduced-motion:reduce){
  body.tp-user-panel *,body.tp-user-panel *::before,body.tp-user-panel *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

@media (max-width:991.98px){
  body.tp-user-panel{padding-bottom:92px}
  body.tp-user-panel main{padding-top:.7rem}
  body.tp-user-panel .dashboard-sidebar{position:static;display:none}
  body.tp-user-panel .tp-user-bottom-nav{display:flex}
  body.tp-user-panel .tp-user-hero,
  body.tp-user-panel .dashboard-welcome,
  body.tp-user-panel .user-dashboard-header{border-radius:22px}
}

@media (max-width:575.98px){
  body.tp-user-panel .container{padding-left:12px;padding-right:12px}
  body.tp-user-panel .card,
  body.tp-user-panel .stat-card,
  body.tp-user-panel .tournament-card{border-radius:18px}
  body.tp-user-panel .card-body{padding:1rem}
  body.tp-user-panel .stat-card{min-height:120px}
  body.tp-user-panel .tp-user-hero,
  body.tp-user-panel .dashboard-welcome,
  body.tp-user-panel .user-dashboard-header{padding:1.2rem;min-height:180px;background-position:60% center}
  body.tp-user-panel .tournament-card .card-img-top{height:145px}
  body.tp-user-panel .table{font-size:.82rem}
  body.tp-user-panel .table td,body.tp-user-panel .table th{padding:.72rem .62rem}
}
