@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;700&display=swap');

:root{
  --bg:#10151F; --panel:#171E2B; --panel2:#1E2635; --border:#232C3D;
  --text:#E9EDF3; --muted:#8B95A7; --dim:#5c6578;
  --gold:#F2B705; --teal:#2DD4BF; --red:#E2495F; --purple:#A79CFF;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{
  background:radial-gradient(1100px 600px at 85% -10%, #1a2436 0%, #10151f 55%), var(--bg);
  color:var(--text); font-family:'Inter',sans-serif; min-height:100vh; line-height:1.5;
}
.disp{font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.03em;}
.mono{font-family:'JetBrains Mono',monospace;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1180px; margin:0 auto; padding:0 28px;}
input,select,textarea,button{font-family:'Inter',sans-serif;}

/* Nav */
nav.topnav{position:sticky; top:0; z-index:50; backdrop-filter:blur(10px); background:#10151fcc; border-bottom:1px solid var(--border);}
.nav-inner{display:flex; align-items:center; justify-content:space-between; padding:16px 0;}
.logo{display:flex; align-items:center; gap:9px; font-family:'Oswald'; font-weight:700; font-size:19px; text-transform:uppercase;}
.flame{color:var(--gold);}
.nav-links{display:flex; gap:26px; font-size:13.5px; font-weight:600; color:var(--muted);}
.nav-links a.active, .nav-links a:hover{color:var(--text);}
@media(max-width:860px){ .nav-links{display:none;} }

/* Buttons */
.btn{border:none; border-radius:9px; padding:11px 18px; font-weight:700; font-size:13.5px; cursor:pointer; display:inline-flex; align-items:center; gap:7px; transition:transform .12s ease;}
.btn:hover{transform:translateY(-1px);}
.btn-gold{background:var(--gold); color:#10151F;}
.btn-teal{background:var(--teal); color:#0A1512;}
.btn-red{background:var(--red); color:#fff;}
.btn-ghost{background:var(--panel2); color:var(--text); border:1px solid var(--border);}
.btn-outline{background:transparent; color:var(--text); border:1px solid var(--border);}
.btn-sm{padding:7px 12px; font-size:12px;}
.btn:disabled{opacity:.4; cursor:not-allowed;}

/* Cards / layout */
.card{background:var(--panel); border:1px solid var(--border); border-radius:14px;}
.grid{display:grid; gap:16px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
.grid-auto{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));}
@media(max-width:820px){ .grid-3,.grid-4{grid-template-columns:repeat(2,1fr);} }
@media(max-width:560px){ .grid-3,.grid-4{grid-template-columns:1fr;} }

/* Forms */
.field{margin-bottom:16px;}
.field label{font-size:11px; color:var(--muted); display:block; margin-bottom:6px; font-weight:600; letter-spacing:.02em;}
.input{width:100%; padding:11px 13px; border-radius:8px; border:1px solid #2A3344; background:#0F141C; color:var(--text); font-size:13.5px; outline:none;}
.input:focus{border-color:var(--gold);}

/* Flash messages */
.flash{padding:12px 16px; border-radius:10px; font-size:13px; margin-bottom:20px; border:1px solid;}
.flash-ok{background:#2DD4BF14; border-color:#2DD4BF44; color:#2DD4BF;}
.flash-err{background:#E2495F14; border-color:#E2495F44; color:#E2495F;}

/* Ticket card (signature element) */
.ticket{
  padding:18px;
  background-image:radial-gradient(circle at 0 50%, #10151f 6px, transparent 7px), radial-gradient(circle at 100% 50%, #10151f 6px, transparent 7px);
  background-position:left 50%, right 50%; background-repeat:no-repeat; background-size:12px 12px;
}
.ticket-tag{display:flex; justify-content:space-between; font-size:11px; color:var(--muted); font-weight:700; margin-bottom:12px;}
.ticket-vs{display:flex; align-items:center; justify-content:space-between; margin-bottom:14px;}
.avatar{width:34px; height:34px; border-radius:50%; background:var(--panel2); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13px; margin:0 auto 5px;}
.player-chip{text-align:center; font-size:11px; max-width:90px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.vs-label{font-family:'Oswald'; color:var(--red); font-weight:700; font-size:13px;}
.ticket-stats{display:flex; justify-content:space-between; border-top:1px dashed var(--border); padding-top:12px; margin-bottom:12px;}
.lab{font-size:10px; color:var(--muted);} .val{font-family:'JetBrains Mono'; font-weight:700; font-size:16px;}
.gold{color:var(--gold);} .teal{color:var(--teal);} .redc{color:var(--red);} .purple{color:var(--purple);}

/* Pills */
.pill{font-size:10px; font-weight:700; padding:3px 9px; border-radius:20px; display:inline-block;}

/* Stat card */
.stat{padding:18px; display:flex; align-items:center; gap:14px;}
.stat .ic{width:42px; height:42px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:19px; flex-shrink:0;}
.stat .num{font-family:'JetBrains Mono'; font-size:22px; font-weight:700;}
.stat .lbl{font-size:12px; color:var(--muted);}

/* Empty state */
.empty{padding:40px; text-align:center; color:var(--dim); font-size:13px;}

/* Dashboard shell */
.dash-shell{display:flex; min-height:calc(100vh - 65px);}
.dash-side{width:210px; border-right:1px solid var(--border); padding:22px 12px; flex-shrink:0;}
.dash-side a{display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:9px; color:var(--muted); font-size:13.5px; font-weight:600; margin-bottom:2px;}
.dash-side a.active{background:var(--panel2); color:var(--gold);}
.dash-main{flex:1; padding:26px 30px; min-width:0;}
@media(max-width:760px){ .dash-shell{flex-direction:column;} .dash-side{width:100%; display:flex; overflow-x:auto; border-right:none; border-bottom:1px solid var(--border);} .dash-side a{white-space:nowrap;} }

.wallet-chip{display:flex; align-items:center; gap:8px; padding:9px 16px;}

table.simple{width:100%; border-collapse:collapse;}
table.simple th{text-align:left; font-size:11px; color:var(--dim); font-weight:700; padding:10px 14px; border-bottom:1px solid var(--border);}
table.simple td{padding:10px 14px; font-size:13px; border-bottom:1px solid #1E2635;}

footer.site-footer{border-top:1px solid var(--border); padding:40px 0 24px; margin-top:40px;}
.foot-legal{font-size:11.5px; color:var(--dim); line-height:1.7;}
.age-badge{display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border:1.5px solid var(--dim); border-radius:6px; font-size:9px; font-weight:700; margin-right:8px; vertical-align:-5px;}
