.privateMatchModal {
  position: fixed;
  inset: 0;
  z-index: 60;
}

.privateMatchModal .modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(5, 8, 15, 0.65);
  backdrop-filter: blur(6px);
}

.privateMatchModal .modal-card {
  position: relative;
  max-width: 820px;
  margin: 8vh auto 0;
  background: rgba(10, 14, 22, 0.85);
  border: 1px solid rgba(120, 170, 255, 0.25);
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
  color: #fff;
}

.privateHeader {
  display: grid;
  gap: 6px;
  margin-bottom: 16px;
}

.privateTitle {
  font-size: 18px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.privateSubtitle {
  font-size: 12px;
  opacity: 0.7;
}

.privateGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.privatePanel {
  background: rgba(15, 20, 32, 0.7);
  border: 1px solid rgba(120, 170, 255, 0.18);
  border-radius: 14px;
  padding: 16px;
  display: grid;
  gap: 12px;
}

.privatePanel h3 {
  margin: 0;
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.privateCodeRow {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
}

.privateCode {
  font-size: 20px;
  letter-spacing: 0.2em;
  font-weight: 700;
}

.privatePlayersList {
  display: grid;
  gap: 8px;
}

.privatePlayer {
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid rgba(120, 170, 255, 0.15);
  background: rgba(8, 12, 20, 0.6);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
}

.privatePlayer.empty {
  opacity: 0.5;
}

.privatePlayer .badge {
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0.7;
}

.privateInput {
  width: 100%;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(120, 170, 255, 0.2);
  background: rgba(6, 10, 16, 0.6);
  color: #fff;
}

.privateFooter {
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
}

.privateMatchModal .btn.is-disabled {
  opacity: 0.6;
}

@media (max-width: 820px) {
  .privateMatchModal .modal-card {
    margin: 6vh 12px 0;
  }

  .privateGrid {
    grid-template-columns: 1fr;
  }
}
