:root{
  --bg:#08090c;
  --bg2:#0e1015;
  --panel:#12141b;
  --panel2:#171922;
  --text:#f7f7fb;
  --muted:#9197a6;
  --border:#292d38;
  --magenta:#ef275f;
  --magenta2:#d400ff;
  --cyan:#0ca9e8;
  --green:#83f20f;
  --red:#ff385f;
  --amber:#ffc857;
}
*{box-sizing:border-box}
html{color-scheme:dark}
body{
  margin:0;
  min-height:100vh;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 12% 8%,rgba(212,0,255,.15),transparent 28rem),
    radial-gradient(circle at 88% 18%,rgba(12,169,232,.08),transparent 30rem),
    linear-gradient(145deg,#07080b 0%,#0a0b0f 50%,#07080b 100%);
  color:var(--text);
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.17;
  background-image:
    linear-gradient(135deg,transparent 0 46%,rgba(255,255,255,.035) 46% 47%,transparent 47% 100%),
    radial-gradient(circle,rgba(239,39,95,.5) 1px,transparent 1.5px);
  background-size:100% 100%,24px 24px;
  mask-image:linear-gradient(to bottom,black,transparent 70%);
}
.ambient{position:fixed;pointer-events:none;filter:blur(60px);opacity:.14;z-index:-1}
.ambient-a{width:380px;height:380px;background:var(--magenta2);left:-180px;top:180px}
.ambient-b{width:360px;height:360px;background:var(--cyan);right:-180px;bottom:80px}
.wrap{width:min(1100px,calc(100% - 30px));margin:auto}
.top{
  position:sticky;top:0;z-index:10;
  background:rgba(8,9,12,.88);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.nav{min-height:76px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:13px;margin-right:auto;color:#fff;text-decoration:none;font-weight:900;letter-spacing:.11em}
.brand img{width:78px;height:42px;object-fit:contain;object-position:left center}
.brand span{font-size:12px;color:#c7cad3}
.user-meta{display:flex;align-items:center;gap:10px}
.badge{
  padding:7px 12px;
  border:1px solid rgba(239,39,95,.5);
  border-radius:999px;
  background:rgba(239,39,95,.10);
  color:#fff;font-weight:900;
}
.username{color:var(--muted)}
.links{display:flex;align-items:center;gap:15px;flex-wrap:wrap}
.links a,.link{
  color:#b8bdc8;text-decoration:none;background:none;border:0;font:inherit;cursor:pointer;padding:8px 0;
}
.links a:hover,.link:hover{color:#fff}
.content{padding-bottom:52px}
.hero{
  display:grid;grid-template-columns:1fr minmax(380px,520px);gap:34px;align-items:end;
  padding:54px 0 30px;
}
.hero h1,.login-brand h1{margin:4px 0 8px;font-size:clamp(34px,5vw,62px);line-height:.98;letter-spacing:-.045em;text-transform:uppercase}
.hero p,.login-brand p{color:var(--muted);font-size:16px;margin:0}
.accent{color:var(--magenta)}
.section-kicker,.status-label{
  color:#f55387;font-size:12px;font-weight:900;letter-spacing:.19em;text-transform:uppercase;
}
.search{display:grid;grid-template-columns:1fr auto;gap:10px}
input,select{
  width:100%;min-height:54px;border:1px solid #303440;border-radius:12px;padding:0 16px;
  background:#0d0f14;color:#fff;font:inherit;outline:none;
  transition:border-color .15s,box-shadow .15s;
}
input:focus,select:focus{border-color:var(--magenta);box-shadow:0 0 0 3px rgba(239,39,95,.13)}
button{min-height:50px;border:0;border-radius:10px;padding:0 19px;font:inherit;font-weight:900;letter-spacing:.035em;cursor:pointer}
.primary{
  color:#fff;
  background:linear-gradient(115deg,var(--magenta),#d111e9);
  box-shadow:0 10px 28px rgba(239,39,95,.20);
}
.primary:hover{filter:brightness(1.08)}
.panel,.result{
  position:relative;
  background:linear-gradient(145deg,rgba(23,25,34,.97),rgba(13,15,20,.98));
  border:1px solid var(--border);
  border-radius:20px;
  overflow:hidden;
}
.panel:before,.result:before{
  content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,var(--magenta),var(--magenta2),var(--cyan));
}
.panel{padding:25px}
.result{
  margin:6px 0 34px;padding:26px;
  display:grid;grid-template-columns:72px 1fr;gap:22px;
}
.result-ok{border-color:rgba(131,242,15,.42);box-shadow:0 0 45px rgba(131,242,15,.05)}
.result-ok:before{background:linear-gradient(90deg,#56db00,var(--green))}
.result-error{border-color:rgba(255,56,95,.42);box-shadow:0 0 45px rgba(255,56,95,.05)}
.result-error:before{background:linear-gradient(90deg,#ff2455,#ff5074)}
.result-warning{border-color:rgba(255,200,87,.44)}
.result-warning:before{background:linear-gradient(90deg,#ff9f1c,var(--amber))}
.result-wrong-club{border-color:rgba(212,0,255,.45);box-shadow:0 0 55px rgba(212,0,255,.08)}
.result-wrong-club:before{background:linear-gradient(90deg,var(--magenta),var(--magenta2),var(--cyan))}
.status-icon{
  width:62px;height:62px;border-radius:16px;display:grid;place-items:center;
  font-size:32px;font-weight:900;background:#0a0c10;border:1px solid currentColor;
}
.result-ok .status-icon{color:var(--green)}
.result-error .status-icon{color:var(--red)}
.result-warning .status-icon{color:var(--amber)}
.result-wrong-club .status-icon{color:#ef4cff}
.status-body h2{margin:4px 0 16px;font-size:30px}
.big{font-size:22px;margin:8px 0}
.subtle{color:var(--muted)}
dl{display:grid;gap:0;margin:20px 0 0;border-top:1px solid #2a2e38}
dl div{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:12px 0;border-bottom:1px solid #232630}
dt{color:var(--muted)}
dd{margin:0;font-weight:750}
.promo-code{font-size:20px;letter-spacing:.12em;color:#fff}
.offer{color:#fff;font-size:18px}
.redeem{margin-top:22px}
.danger{
  width:100%;
  min-height:58px;
  color:#fff;font-size:17px;
  background:linear-gradient(105deg,#ed1855,#d500d5);
  box-shadow:0 12px 34px rgba(239,39,95,.20);
}
.danger:hover{filter:brightness(1.08)}
.history-preview{padding-top:8px}
.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:14px}
.section-head h2{margin:3px 0 0;font-size:25px}
.table{
  overflow:auto;background:rgba(16,18,24,.86);border:1px solid var(--border);border-radius:16px;margin:0 0 40px;
}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:13px 15px;border-bottom:1px solid #242731;white-space:nowrap}
th{font-size:11px;text-transform:uppercase;letter-spacing:.11em;color:#7f8594}
td{color:#dfe2e8}
tr:last-child td{border-bottom:0}
.table-code{font-weight:900;letter-spacing:.07em;color:#fff}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.stats div,.clubs .panel{background:linear-gradient(145deg,#151720,#101218);border:1px solid var(--border);border-radius:15px;padding:18px}
.stats strong{display:block;font-size:30px;color:#fff}
.clubs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}
.grid{display:grid;gap:13px}
.userform{display:grid;grid-template-columns:1fr 1fr 180px auto;gap:10px}
.filter{display:flex;gap:10px;max-width:440px}
pre{overflow:auto;background:#090a0d;color:#f2f3f7;padding:15px;border:1px solid #292c35;border-radius:12px}
.err,.okmsg{padding:11px 13px;border-radius:10px}
.err{background:rgba(255,56,95,.12);border:1px solid rgba(255,56,95,.28);color:#ff8da4}
.okmsg{background:rgba(131,242,15,.08);border:1px solid rgba(131,242,15,.22);color:#b8ff6b}
.login-shell{
  min-height:calc(100vh - 76px);
  display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;padding:48px 0;
}
.login-brand{padding:10px 0}
.login-brand img{width:min(520px,80%);max-height:240px;object-fit:contain;object-position:left center;margin-bottom:28px}
.login-panel{max-width:430px;width:100%;justify-self:end}
.login-panel h2{font-size:28px;margin:5px 0 24px}
.login-panel .primary{margin-top:4px}
@media(max-width:820px){
  .hero,.login-shell{grid-template-columns:1fr}
  .hero{padding-top:34px}
  .login-panel{justify-self:stretch;max-width:none}
  .login-brand img{width:min(360px,90%)}
  .userform,.stats,.clubs{grid-template-columns:1fr}
  .nav{padding:12px 0}.brand{width:100%}.links{width:100%}
}
@media(max-width:620px){
  .wrap{width:min(100% - 20px,1100px)}
  .brand img{width:66px}
  .brand span{display:none}
  .search{grid-template-columns:1fr}
  .result{grid-template-columns:1fr;padding:20px}
  .status-icon{width:54px;height:54px}
  dl div{grid-template-columns:1fr;gap:3px}
  .hero h1,.login-brand h1{font-size:38px}
  .filter{display:grid;max-width:none}
}
