/* Registration / status / admin shared form styling */
.form-page{background:var(--black)}
.form-container{padding:110px 0 70px;max-width:920px}
.form-card{padding:34px}

/* Stepper */
.stepper{display:flex;justify-content:space-between;gap:8px;padding:18px 22px;margin-bottom:22px;flex-wrap:wrap}
.step{display:flex;align-items:center;gap:.5rem;opacity:.5;transition:.3s;font-size:.92rem}
.step .dot{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:700;
  background:var(--glass);border:1px solid var(--glass-brd)}
.step.active{opacity:1}
.step.active .dot{background:linear-gradient(135deg,var(--orange),var(--orange-deep));color:#fff;border:none}
.step.done .dot{background:var(--gold);color:#1a1a1a;border:none}
.step.done{opacity:.9}

/* Fields */
.fstep-title{font-size:1.3rem;margin-bottom:1.2rem;color:var(--gold)}
.field{margin-bottom:18px;display:flex;flex-direction:column}
.field label{font-size:.92rem;margin-bottom:.4rem;color:#ddd}
.req{color:var(--orange)}
.field input,.field select,.field textarea{
  width:100%;padding:.8rem 1rem;border-radius:12px;background:rgba(255,255,255,.04);
  border:1px solid var(--glass-brd);color:#fff;font-family:inherit;font-size:1rem;transition:.2s}
.field input:focus,.field select:focus{outline:none;border-color:var(--orange);background:rgba(255,107,0,.06)}
.field select option{background:#141414}
.field input::placeholder{color:#666}
.field input.invalid,.field select.invalid{border-color:#dc3545}
.hint{color:var(--muted);font-size:.8rem;margin-top:.4rem}
.callout{background:rgba(255,107,0,.08);border:1px solid rgba(255,107,0,.3);border-radius:12px;padding:14px 16px;font-size:.92rem}

/* Payment QR box */
.pay-box{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin:18px 0;padding:20px;
  background:rgba(245,197,66,.06);border:1px solid rgba(245,197,66,.35);border-radius:16px}
.pay-qr{flex:none;background:#fff;padding:10px;border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.pay-qr img{width:190px;height:auto;display:block;border-radius:6px}
.pay-info{flex:1;min-width:210px}
.pay-info h4{font-size:1.1rem;margin-bottom:.5rem;color:var(--gold)}
.pay-info .amount{font-size:1.6rem;font-weight:800;color:var(--orange);margin-bottom:.5rem}
.pay-info p{margin:.3rem 0;line-height:1.6}
@media(max-width:560px){.pay-box{justify-content:center;text-align:center}.pay-qr img{width:220px}}

/* Player card */
.player-card{border:1px solid var(--glass-brd);border-radius:16px;padding:20px;margin-bottom:18px;background:rgba(255,255,255,.02);position:relative}
.player-card .pc-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.player-card .pc-head b{color:var(--orange)}
.player-card .badge-sub{background:var(--gold);color:#1a1a1a;font-size:.72rem;padding:.2rem .6rem;border-radius:999px;font-weight:700}
.remove-player{background:none;border:none;color:#dc3545;cursor:pointer;font-size:.9rem}
.age-msg{font-size:.82rem;margin-top:.3rem}
.age-ok{color:#28a745}.age-bad{color:#dc3545}

.fstep-nav{display:flex;justify-content:space-between;margin-top:24px;gap:10px}
.fstep.hidden{display:none}

/* Summary */
.summary{display:grid;gap:10px;margin-bottom:20px}
.summary .row{display:flex;justify-content:space-between;padding:10px 14px;background:rgba(255,255,255,.03);border-radius:10px;border:1px solid var(--line)}
.summary .row b{color:var(--gold)}
.summary h4{color:var(--orange);margin:10px 0 4px}
.accept{display:flex;gap:.8rem;align-items:flex-start;padding:16px;background:rgba(255,255,255,.03);border-radius:12px;border:1px solid var(--glass-brd);font-size:.9rem;cursor:pointer}
.accept input{width:20px;height:20px;flex:none;margin-top:2px;accent-color:var(--orange)}

@media(max-width:700px){.form-card{padding:22px}.step .lbl{display:none}}
